栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

初次学习pwn+pdb实际使用

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

初次学习pwn+pdb实际使用

sendline

对文件进行直接传入 只要有输入需要 会在print之前进行传入

file_place.sendline( 需要传入的payload )
# 在Windows版python中记得要传字符形式 b payload 
recv

读取输出

file_place.recv(~a)
# 可选输入a 
# int型数据 控制读取的字符数量
# 默认为读取此时输出的所有内容
def 常用方法(file_place):
 print(file_place.recv()) # 输出当前所有文件输出
 print(file_place.recv(8)) # 读取当前所有文件的前8个字符
pdb指令笔记 指令表

gdb help 查看命令帮助 简写h
gdb help x[str] 具体命令x查询在gdb中输入help x

gdb run 重新开始运行文件 简写r
gdb run-text 加载文本文件
gdb run-bin 加载二进制文件

gdb start 单步执行 运行程序 停在第一执行语句

gdb list 查看原代码 简写l
gdb list n[int] 从第n行开始查看代码
gdb list x[str] 查看具体函数x

gdb set 设置变量的值

gdb next 单步调试 逐过程 函数直接执行 ,简写n

gdb step 单步调试 逐语句 跳入自定义函数内部执行 简写s

gdb backtrace 查看函数的调用的栈帧和层级关系 简写bt

gdb frame 切换函数的栈帧 简写f

gdb info 查看函数内部局部变量的数值 简写i

gdb finish 结束当前函数 返回到函数调用点

gdb continue 继续运行 简写c

gdb prin 打印值及地址,简写p

gdb quit 退出gdb,简写q

gdb break n[int] 在第n行设置断点,简写b

gdb info breakpoints 查看当前设置的所有断点

gdb delete breakpoints n[int] 删除第n个断点,简写d

gdb display 追踪查看具体变量值

gdb undisplay 取消追踪观察变量

gdb watch 被设置观察点的变量发生修改时 打印显示

gdb i watch 显示观察点

gdb enable breakpoints 启用断点

gdb disable breakpoints 禁用断点

gdb n[int] 查看内存n/20xw 显示20个单元 16进制 4字节每单元

gdb run argv[1] argv[2] 调试时命令行传参

上述指令表原文链接

使用过程尝试

以2017-UIUCTF-pwn200-GoodLuck为例

gdb ./goodluck

尝试断点布置

(gdb) b printf
Breakpoint 1 at 0x400640

尝试查看断点栈

(gdb) r
Breakpoint 1, __printf (format 0x602ca0 “%9$s”) at printf.c:28
28 printf.c: No such file or directory.

不知道为什么 无法显示详细的stack

尝试查看详细stack

(gdb) bt
效果同 (gdb) backtrace
#0 __printf (format 0x602ca0 “%9$s”) at printf.c:28
#1 0x0000000000400890 in main ()

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/267946.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号