格式化字符串漏洞利用 七、工具

七、工具

原文:Exploiting Format String Vulnerabilities

作者:scut@team-teso.net

译者:飞龙

日期:2001.9.1

版本:v1.2

一旦利用完成,或者甚至在利用开发过程中,使用工具来获取必要的偏移更加有用。一些工具也有主意识别漏洞,例如在闭源软件中的格式化字符串漏洞。我在这里列出了四个工具,它们对我来说很有用,可能对你也是。

7.1 ltracestrace

ltrace [8] 和strace [9] 工作方式相似:在程序调用它们时,它们勾住库和系统调用,记录它们的参数和返回值。这让你能够观察程序如何和系统交互,将程序本身看做黑盒。

所有现存的格式化函数都是库调用,并且它们的参数,最重要的是它们的地址都可以使用ltrace来观察。任何可以使用ptrace的进程中,你都可以使用这个方式快速判断格式化字符串的地址。strace用于获取缓冲区地址,数据读入到该地址中,例如如果read被调用来读取数据,它们之后又用作格式化字符串。

了解这两个工具的用法,你可以节省大量时间,你也可以使用它们来尝试将 GDB 附加到过时的程序上,它没有任何符号和编译器优化,来寻找两个简单的偏移。

译者注:在 Windows 平台上,你可以使用 SysinternalsSuite 来观察文件、注册表和 API 的使用情况。

7.2 GDB,objdump

GDB [7],经典的 GNU 调试器,是一个基于文本的调试器,它适用于源码和机器代码级别的调试。虽然它看起来并不舒服,一旦你熟悉了它,它就是程序内部的强大接口。对于任何事情,从调试你的利用,到观察进程被利用,它都非常好用。

objdump,一个 GNU 二进制工具包中的程序,适用于从可执行二进制或目标文件中获取任何信息,例如内存布局,区段或main函数的反汇编。我们主要使用它来从二进制中获取 GOT 条目的地址。但是它可以以很多不同的方式使用。

译者注:这两个工具都在build-essential包中,可以执行apt-get install build-essential来安装。

译者注:在 Windows 平台上,你可以使用 OllyDbg 或者 WinDbg(x86x64)来代替 GDB,你可以使用 IDA Pro 来代替`objdump。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
seedlab 格式化字符串是一个开放式实验室实验项目,目的是为了帮助学生更好地理解和学习有关格式化字符串漏洞和防御措施。 格式化字符串漏洞是一种常见的安全漏洞,它可以通过利用输入参数中的格式化字符串来修改程序的运行时栈。这可能导致程序崩溃、信息泄露甚至远程代码执行的风险。 在 seedlab 格式化字符串实验中,学生使用 C 语言开发和测试程序,其中包含格式化字符串漏洞。学生可以在程序中选择不同的输入参数,并通过格式化字符串的方式来触发漏洞。他们还可以使用不同的实验工具和技术来实时监测和分析程序的运行状况,并尝试修复漏洞。 在实验过程中,学生将会学习以下主题: 1. 格式化字符串的基本概念和原理; 2. 格式化字符串漏洞的成因和危害; 3. 格式化字符串攻击的实施方法和技巧; 4. 格式化字符串漏洞的防御措施和修复方法。 通过实践和实验,学生可以更深入地理解格式化字符串漏洞以及如何预防和修复这种类型的漏洞。此外,这个实验还提供了实际应用场景和技术,帮助学生提高他们的漏洞挖掘和应对能力。 总之,seedlab 格式化字符串实验是一个具有教育价值的实验项目,通过实践和实验,帮助学生学习和理解有关格式化字符串漏洞的知识和技术,并提供了防御这种漏洞的实际应用方法。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值