본문 바로가기

해킹

Pwntools 이란? pwntools 설치 및 사용법

자세하고 정확한 내용은 

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 : 유저가 직접 화면에 입출력할 수 있게 돌려줌