PWN工具之pwndbg

这篇具有很好参考价值的文章主要介绍了PWN工具之pwndbg。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

pwndbg是什么?

pwndbg是一个用于GDB的插件,旨在帮助进行漏洞利用和CTF挑战的动态调试工具。它提供了一系列的功能和命令,可以帮助我们更方便地进行动态调试。同时,pwndbg也是一个开源工具,可以在GitHub上找到并自由使用。

安装

pwndbg插件可以通过GitHub下载和安装。首先,需要将插件克隆到本地:

git clone https://github.com/pwndbg/pwndbg
 

然后,在GDB中加载pwndbg插件:

source /path/to/pwndbg/gdbinit.py

使用

pwndbg的使用方式与GDB类似,我们可以用它来进行动态调试

步骤如下:

1.编译

首先需要编译目标二进制文件,确保在编译时开启调试信息。例如,使用gcc编译:

gcc -g -o target target.c

2.启动pwndbg

在终端中输入以下命令启动pwndbg

gdb -q target

 这将启动GDB并自动加载pwndbg插件。接下来,附加到目标二进制文件:

attach $(pgrep target)

3.开始调试

现在可以开始使用pwndbg进行动态调试。以下是一些常用的命令:

  • break:
  • 设置断点。
  • run:
  • 启动程序。
  • continue:
  • 继续执行程序。
  • next:
  • 单步执行程序,跳过函数调用。
  • step:
  • 单步执行程序,进入函数调用。
  • backtrace:
  • 显示函数调用栈。
  • info:
  • 显示程序信息,例如变量值、寄存器值、内存地址等。
  • x:
  • 显示内存中的内容。
  • set:
  • 设置变量的值。

(偷偷说一下在GDB中绝大多数指令输入首字母即可就比如:设置断点break可以写成b);

以下是一个示例:

b main
Breakpoint 1 at 0x400516
r
Starting program: /path/to/target
Breakpoint 1, 0x0000000000400516 in main ()
next
x/16x $rsp
0x7fffffffe438: 0x00007fffffffe558  0x0000000000400547
0x7fffffffe448: 0x0000000000000000  0x00007fffffffe4f8
0x7fffffffe458: 0x00007fffffffe4f8  0x0000000000400400
0x7fffffffe468: 0x00007ffff7a0c830  0x00007fffffffe540
0x7fffffffe478: 0x0000000000400526  0x0000000000000000
0x7fffffffe488: 0x0000000000000000  0x0000000000400400
0x7fffffffe498: 0x00000000004004c0  0x00007ffff7dd90b3
0x7fffffffe4a8: 0x0000000000000001  0x00007fffffffe540
set $rax = 0xdeadbeef
continue

以上示例中,我们设置了一个断点并启动程序,使用next命令单步执行程序,然后使用x命令查看堆栈内容,使用set命令设置寄存器值,最后使用continue命令继续执行程序。

以下是一些其他的命令:

  • context:
  • 显示当前上下文信息,包括寄存器值、堆栈信息和内存映射等。
  • heap:
  • 显示堆信息,包括堆块的大小、地址和状态等。
  • telescope:
  • 显示一段内存区域的内容。
  • ropgadget
  •  显示二进制文件中可用的ROP gadget。
  • search:
  • 在内存中搜索指定的字符串或模式。
  • asm:
  • 将汇编指令转换成机器码。
  • breakpoints:
  • 显示断点信息。
  • vmmap:
  • 显示进程的虚拟内存映射。
  • pattern:
  • 生成用于缓冲区溢出的模式字符串。

Ok啊,差不多就总结这么多。文章来源地址https://www.toymoban.com/news/detail-467321.html

到了这里,关于PWN工具之pwndbg的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包