初次学习pwn+pdb实际使用

pwn调制中

已经完成在Linux中的安装工作,开始进行实际使用

remote

pwn包启动文件(远程)

file_place = remote("目标服务器所在地址", int型端口)
# 不需要Linux也能进行远程打题

process

pwn包启动文件(本地)

file_place = process("./文件名")
# 正常的对本地文件进行尝试

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个字符

gdb指令笔记

指令表

(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 ()

(gdb) info frame
Stack level 0, frame at 0x7fffffffddf0:
rip = 0x7ffff7e26660 in __printf (printf.c:28); saved rip = 0x400890
called by frame at 0x7fffffffde40
source language c.
Arglist at 0x7fffffffdde0, args: format=0x602ca0 “%9$s”
Locals at 0x7fffffffdde0, Previous frame’s sp is 0x7fffffffddf0
Saved registers:
rip at 0x7fffffffdde8

多次尝试还是没办法查看到详细的栈
搁置中(2021.09.27-21:17)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值