pwntools的常见用法
2017-12-16 14:58
92 查看
context设置运行时变量
2 remote,listen,ssh,process
支持 recvline,recvuntil,clean
通过interactive()与程序直接交互
p32,u32
p32 数字转化为字符串
u32 字符串转化为数字
log
log.info(“Hello World”)
cyclic and cyclic_find
对于直接的缓冲区溢出,可以很方便的确认再便宜多少可以控制eip
asm,disasm
汇编和反汇编代码
shellcraft提供了许多现成的shellcode
elf用来操作elf的工具
DynELF 通过信息泄露 获得远程函数地址
可以没有程序
ROP 简化产生ROP链的操作
gdb.debug 和 gdb.attach
1 用gdb启动程序,并弹出新窗口与其交互
2 附加到一个程序上,pid/pwnlibs.tubes/socket都可以
12 args 快速访问所有的命令行参数
13 一些实用工具
14 net 查询网络借口
15 proc 查询进程
16 pause
17 safeeval 执行python代码,但不会产生副作用
18 其他
与pwnlib.tubes的常见交互方式
context.log_level = 'debug'
2 remote,listen,ssh,process
支持 recvline,recvuntil,clean
通过interactive()与程序直接交互
p32,u32
p32 数字转化为字符串
u32 字符串转化为数字
log
log.info(“Hello World”)
cyclic and cyclic_find
对于直接的缓冲区溢出,可以很方便的确认再便宜多少可以控制eip
asm,disasm
汇编和反汇编代码
asm('mov eax,0') asm(shellcraft.sh()) disasm("\xb8\x0b\x00\x00\x00")
shellcraft提供了许多现成的shellcode
elf用来操作elf的工具
elf = ELF("pwn") hex(elf.address) hex(elf.symbols['write']) hex(elf.got['write']) hex(elf.plt['write'])
DynELF 通过信息泄露 获得远程函数地址
可以没有程序
p = process('./pwnme') def leak(address): data = p.read(address, 4) return data main = 0xfeedf4ce d = DynELF(leak, main) d.lookup('system', 'libc') # 2 如果有程序,速度会更快 d = DynELF(leak, main, elf=ELF('./pwnme'))
ROP 简化产生ROP链的操作
gdb.debug 和 gdb.attach
1 用gdb启动程序,并弹出新窗口与其交互
2 附加到一个程序上,pid/pwnlibs.tubes/socket都可以
12 args 快速访问所有的命令行参数
13 一些实用工具
b64d('dGVzdA==') b64e("test") bits(511, zero = "+", one = "-") 把参数转换为位 bits_str(511) 得到'0000000111111111' enhex("test") 得到'74657374' isprint(c) 判断一个字符是否可打印 randoms(10) 返回'evafjilupm' rol('abcdefg', 2) 得到'cdefgab' unhex("74657374") 得到'test' urldecode("test%20%41") urlencode
14 net 查询网络借口
15 proc 查询进程
16 pause
17 safeeval 执行python代码,但不会产生副作用
18 其他
hexdump read and write enhex and unhex more group align and align_down urlencode and urldecode which wget
与pwnlib.tubes的常见交互方式
recv() recvuntil() recvline()读取到'\n' recvlines(n) recvall() 读取到EOF send() sendline()会自动加换行符
相关文章推荐
- PwnTools常见用法
- netstat的一些常见用法
- el表达式及jstl常见用法
- JTable常见用法细则
- 消息模式Toast.makeText的几种常见用法
- Linux中find常见用法示例
- 链接<a>常见用法
- Linux中find常见用法示例
- 关键字volatile的含义及常见用法
- 消息模式Toast.makeText的几种常见用法
- linux下测试RTC驱动相关的命令date和hwclock常见用法简介
- javascript:void(0);用法及常见问题解析
- 常见的el表达式的用法
- ReactiveCocoa之常见用法(二)
- RPM常见用法
- 最受欢迎的几种图片格式及其常见用法
- JTable常见用法细则
- Linux中find常见用法示例
- PHP常见数学函数及BC高精度数学函数用法示例
- Android Studio 常见 Build 问题 Error:failed to find Build Tools revision 23.0.2