pwntools工具使用
1.安装
pip install pwntools (python2)
pip3 install pwntools (python3)
2.使用
Context设置
context是pwntools用来设置环境的功能。在很多时候,由于二进制文件的情况不同,我们可能需要进行一些环境设置才能够正常运行exp,比如有一些需要进行汇编,但是32的汇编和64的汇编不同,如果不设置context会导致一些问题。一般来说我们设置context只需要简单的一句话:
context(os='linux', arch='amd64', log_level='debug')
(1)os设置系统为linux系统,在完成ctf题目的时候,大多数pwn题目的系统都是linux
(2)arch设置架构为amd64,可以简单的认为设置为64位的模式,对应的32位模式是’i386’
(3) log_level设置日志输出的等级为debug,这句话在调试的时候pwntools会将完整的io过程都打印下来,使得调试更加方便。
3.数据打包
数据打包,即将整数值转换为32位或者64位地址一样的表示方式,比如0x400010表示为\x10\x00\x40一样,这使得构造payload变得很方便
用法:
- p32/p64: 打包一个整数,分别打包为32或64位
- u32/u64: 解包一个字符串,得到整数
4.接收远端传回的数据
recv(numb=字节大小, timeout