Pwnable - libc brute forcing in local (p.libcs())
- 로컬에서 원하는 립시 주소 실행할 때까지 특정 바이트 브루트 포싱하기
p.libcs()
이용
- 상황
- 8바이트 중 상위 5바이트는 알고 있고, 하위 1.5바이트는 오프셋으로 알고 있는 상황. 하지만 중간 1.5바이트를 모르기 때문에 해당 부분 브루트 포싱이 필요함 ->
0x7fb877 ??? b01
- 8바이트 중 상위 5바이트는 알고 있고, 하위 1.5바이트는 오프셋으로 알고 있는 상황. 하지만 중간 1.5바이트를 모르기 때문에 해당 부분 브루트 포싱이 필요함 ->
- 장점
- 정답인 주소만을 이용하여 페이로드를 전송하기 때문에 디버깅 시 유리함 (빠름)
Code
1 | while True: |
- 출력 결과
1 | {'/home/jir4vvit/ctf/idek/sprinter/vuln': 4190208, '/home/jir4vvit/ctf/idek/sprinter/libc.so.6': 140430248431616, '/home/jir4vvit/ctf/idek/sprinter/ld-2.31.so': 140430250479616} |