본문 바로가기

Layer7

ropasaurusrex


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