자세하고 정확한 내용은
https://docs.pwntools.com/en/stable/# pwntools 공식문서와
https://github.com/Gallopsled/pwntools 공식 github사이트를 참고하시길 바랍니다
Pwntools 란 ?
: 파이썬으로 작성된 pwnable tool kit. exploit을 편하게 하기 위해서 사용한다.
from pwn import *
파이썬에서 소켓 함수를 사용하는 것보다 간편하게 사용할 수 있다
Pwntools 설치
(ubuntu 환경에서 Pwntools를 설치하였습니다. )
shell에 해당 코드 입력. (따로 python 설치하지 않아도 됨)
sudo apt update
sudo apt install python3 python3-pip python3-dev git libssl-dev libffi-dev build-essential
sudo python3 -m pip install --upgrade pip
sudo python3 -m pip install --upgrade pwntools
+ ubuntu에서 python을 실행하고 싶다면 shell에 python3을 작성하면 >>> 표시가 뜨고, 이제 파이썬을 사용하면 된다!
사용법
(1) import 및 기본 접속
from pwn import *
r = process("파일이름")
r.close()
- process : 파일 실행
(2) 보내기 (send)
r.send("str")
r.sendline("str")
- send : 파일에 "str" 입력
- sendline : 파일에 "str" 입력 뒤에 newline character(\n)까지 입력
(3) 받기 (recv)
data = r.recv(4)
data = r.recvline()
r.recvuntil("str")
r.recvall()
- recv : stdout에서 4byte의 문자열을 읽어와 반환
- recvline : stdout에서 문자열 한 줄 반환
- recvuntil : stdout에서 "str"이라는 문자열을 출력할 때까지 읽어와 반환
- recvall : 연결이 끊기거나 프로세스 종료할 때까지 받아서 저장
(4) 쉘 접속
r.interactive()
- interactive : 유저가 직접 화면에 입출력할 수 있게 돌려줌