-
[sstf2021] bof102hacking 2021. 8. 21. 23:24
bof102.c payload의 값을 받는 부분에서 bof 발생
system("/bin/sh")를 띄워서 권한 획득 후 flag 파일을 읽는 것이 목표다
스택 구조는
payload[16] + esp[4] + ret
ret를 system addr로 돌리고 인자값으로 들어갈 /bin/sh는 전역변수 name에 넣어 해당 위치로 돌려주면 되겠다
disassemble bofme disassemble main gdb를 통해서
system 함수의 위치 0x80483e0
name의 위치는 scanf의 들어가는 인자값을 통해 알아냈다 0x804a034
ex.py 한 가지 기억해둬야 할 점은
패킹한 system과 name의 주소값은 byte 형식이라 payload에 들어갈 값 모두 byte 형식으로 맞춰줘야 한다는 점이다
파이썬3으로 넘어오면서 고렇게 됐다
참고로 보호기법 확인은 다음과 같이 하면 된다
checksec 'hacking' 카테고리의 다른 글
[sstf2021] sqli102 (0) 2021.08.23 [sstf2021] sqli101 (0) 2021.08.22 [sstf2021] bof101 (0) 2021.08.20 [LOB] gremlin (0) 2021.08.19 [LOB] gate (0) 2021.08.18