728x90
반응형
pwntools의 입력 값을 해당 프로세스 (혹은 서버)에 준 채로 디버깅을 하고 싶을 때 사용한다
작성한 payload가 이상해서 사용해보려고 한다
gdb (process 이름) -p (pwntools로 작성한 코드의 pid)
이런식으로 작성해도 됨 나는 안됨
gdb attach
payload를 보내기 전에
gdb.attech(process 변수 이름)
코드를 추가해준다
현재 오류를 살펴보면
zombie 프로세스를 연결했다는 점이 가장 중요하다
즉, 해당 프로세스가 gdb랑 연결된 후에 그냥 종료되었기 때문이라는 것
그래서 pause() 명령어를 추가해주었다
gdb.attach(p)
pause()
이렇게 하면
이렇게 하면 디버거가 정상적으로 붙어 payload를 확인할 수 있다.
디버거 무한로딩
이상하게 c를 입력하면 그 뒤로 넘어가지지 않는 문제점이 발생함
문제 : 아마 입력값이 가지 않은 상태로 pause해서 발생한 문제인 것으로 추정
해결
pause() 명령어를 payload를 send하는 뒤 쪽 부분으로 옮겨주었다
만약에 코드가 있다면 dbg를 붙이는 부분은 맨 프로세스를 실행한 후에 바로
pause는 payload를 전송하는 부분 뒤에 붙여두자
확인 과정
쉘코드가 들어갔음을 확인할 수 있음
728x90
반응형
'Hacking > Pwnable' 카테고리의 다른 글
[Mitigation] NX (0) | 2024.08.25 |
---|---|
[Mitigation] Stack Canary (0) | 2024.08.24 |
[Memory Corruption] Stack Buffer Overflow (1) | 2024.01.29 |
[Exploit] ShellCode(2) - execve shell code (1) | 2024.01.27 |
[Exploit] ShellCode(1) - orw shell code (1) | 2024.01.26 |