sub_80483F4 함수를 실행
sub_80483F4 함수를 살펴보면 read함수를 통해 입력 받는 걸 알 수 있음
# leak
① "A"를 버퍼(0x88바이트) + sfp(0x4바이트) = 140바이트만큼 입력
② ret : write함수의 plt 주소
③ pop; pop; pop; ret; 가젯
④ write 함수의 인자
⑤ 다음으로 호출할 함수의 주소 : read
▶ write(1, write@got, 4)
# input binsh → bss
① pop; pop; pop; ret; 가젯
② read 함수 인자
③ sub_80483f4 함수의 주소
▶ read(0, e.bss() + 0x10, len(binsh))
leak한 printf의 주소를 이용해서
llibc_base 주소를 구함
#system
① "A"를 버퍼(0x88바이트) + sfp(0x4바이트) = 140바이트만큼 입력
② ret : system 함수 주소
③ 다음으로 실행할 주소
④ system 함수 인자
'Layer7' 카테고리의 다른 글
BaskinRobins31 (0) | 2021.08.04 |
---|---|
rop64_v2 (0) | 2021.08.04 |
Format String Bug : frop2 (0) | 2021.08.04 |
Dreamhack : basic_rop_x64 (0) | 2021.08.03 |
rop32 (0) | 2021.08.03 |