본문 바로가기
language/python

[Python] pwntools 기능 공부 및 정리

by sseddi 2020. 9. 15.
728x90

pwntools는 리눅스 환경에서 익스플로잇(취약점 공격)을 짜는 것을 쉽게 할 수 있게 해주는 파이썬 라이브러리이다.

리눅스 환경에도 다운가능하고, cmd로 파이썬 모듈 다운도 가능해서 둘 다 다운로드 받아보았다.

 

리눅스 환경 cmd 창
$ apt-get update
$ apt-get install python2.7 python-pip python-dev libffi-dev build-essential
$ pip install --upgrade pip
$ pip install --upgrade pwntools
pip install pwntools

연결

1. NC
p=remote("접속주소", 포트)

여기서 접속주소는 string 이고 포트는 int형이다.

 

2. Local

p=process("파일경로")

 

3. SSH

s=ssh("사용자이름","접속주소",port=포트번호, password="비밀번호")

 

수신

1. recv(int)

int에는 받고 싶은 정보의 바이트 쓰기

 

2. recvline()

1줄 받기 

 

3. recvuntil(value)

value 부분까지 데이터 받기 

value에는 문자열도 들어갈 수 있고, \n도 들어갈 수 있고 다양

 

 

전송

1. send(value)

value엔 보내고 싶은 문자열/변수

 

2. sendline(value)

데이터 1줄 보내기

 

packing 관련

1. p32(value)

32비트 리틀 엔디언 값으로 변환시켜주는 함수 

endian 값을 지정해 빅 엔디언으로 변환도 가능하다

 

2. p64(value)

설명은 위와 같다.

 

unpacking 관련

1. u32(string)

32비트 리틀 엔디언 방식으로 변환

string을 적어주면 int형으로 변환이 된다

 

2. u64(string)

설명은 위와 같다

 

참고)

eliez3r.github.io/post/2019/11/15/study-manual-pwntools.html

 

[python]pwntools 정리 - eli_ez3r Hacking Blog

pwntools는 말 그대로 포너블 툴 킷으로 익스플로잇을 편하게 하기 위해서 사용됩니다. 파이썬으로 작성되어 있으며 from pwn import *을 선언해서 사용할 수 있습니다. Gallopsled라는 팀에 의해서 만들��

eliez3r.github.io

 

728x90

댓글