前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >格式化字符串漏洞利用 七、工具

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

作者头像
ApacheCN_飞龙
发布2022-12-01 16:59:49
3190
发布2022-12-01 16:59:49
举报
文章被收录于专栏:信数据得永生

七、工具

原文: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。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-04-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 七、工具
    • 7.1 ltrace,strace
      • 7.2 GDB,objdump
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档