其他分享
首页 > 其他分享> > Pwn_工具食用方法(动态更新)

Pwn_工具食用方法(动态更新)

作者:互联网

Tools食用方法

IDA

空格可以调整视图

F5进行一键反汇编

双击变量可以看到变量地址或进入函数

Ctrl+S 可以看到区段地址(如bss段、plt、got)

对变量或函数按x可以查看上级调用

可以在函数框Ctrl+F搜索函数名

在变量右键可以Rename变量名,方便代码审计

gdb

​ 查看当前函数帧的反汇编代码,前者依赖于pwndbg有高亮,后者没有。

​ 如: pdisass main

​ disass

​ 如 b *内存地址

​ 如 b main

​ 在无PIE模式下,* 16位地址 即可

​ 在PIE下, *$rebase(16位地址)

​ n是 断点编号,可用info breakpoints 查看断点信息

​ 一步一步执行指令,遇到函数调用时直接执行完整个函数

​ 一步一步执行指令,遇到函数调用时跳转到函数内部

​ 如寄存器 p $ebp

​ *addr=value

​ n/f/u 参数为可选,

​ n:查看多少个内存单元,即从当前地址开始计算,每个内存单元的大小由后面的u指定。

​ f:显示格式,如s代表字符串,i代表指令形式,u代表内存单元大小,b(1字节) h(双字节) w(4字节,默认),g(8字节)。后缀w代表16进制形式查看变量

​ 例如: x/s 地址

​ 查看某地址的字符串值

LibcSearcher

根据得到的泄露地址来查找libc版本,也可以在如下网址手动搜索

https://libc.blukat.me

安装方法:

git clone https://github.com/lieanu/LibcSearcher.git

cd LibsSearcher

python setup.py develop

当遇到返回多个Libc版本库的时候,可以通过add)condition(leaked_func,leaked_address)来添加限制条件。也可以手工选择其中一个版本。

Vim

通过vim xxx.py来创建文件

通过 i进入插入模式

esc返回指令模式

:wq 保存并退出

Pwntools

(我并分不清pwntools和python基础语法,故在脚本中能利用的都放在这里)

frtstr_payload

针对格式化字符串漏洞的工具

fmtstr_payload(offset, writes, numbwritten=0, write_size='byte')
第一个参数表示格式化字符串的偏移;
第二个参数表示需要利用%n写入的数据,采用字典形式,我们要将printf的GOT数据改为system函数地址,就写成{printfGOT: systemAddress};本题是将0804a048处改为0x2223322
第三个参数表示已经输出的字符个数,这里没有,为0,采用默认值即可;
第四个参数表示写入方式,是按字节(byte)、按双字节(short)还是按四字节(int),对应着hhn、hn和n,默认值是byte,即按hhn写。
fmtstr_payload函数返回的就是payload

Ropgadget

标签:食用方法,函数,查看,--,地址,Pwn,动态,断点,字节
来源: https://www.cnblogs.com/Uninstalllingyi/p/16207571.html