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

格式化字符串漏洞利用 一、引言

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

一、引言

原文:Exploiting Format String Vulnerabilities 作者:scut@team-teso.net 译者:飞龙 日期:2001.9.1 版本:v1.2

这篇文章解释了某种现象的本质,它已经在 2000 年的下半年震惊了整个安全社群。它就是“格式化字符串漏洞”,是一种被发现的新型漏洞,并且会导致一系列的可利用 bug,它们在各种程序中都有发现,从小型工具到大型服务器应用。

这篇文章尝试解释该漏洞的结构,并随后使用这个只是去构建复杂的利用,它会向你展示如何在 C 代码中发现格式化字符串漏洞,以及为什么这种新型漏洞比通常的缓冲区溢出漏洞更加危险。

这篇文章基于我在德国柏林进行的一个德语演讲“17th Chaos Communication Congress”。演讲之后,我收到了无数翻译它的请求,并收到了很多正面反馈。所有这些激励了我来复查这篇文档,更新和纠正细节,以及制作一个更加易用的 LaTeX 版本。

这篇文章涵盖了其它文章涉及的大多数东西,以及涉及到利用时的一些更多的技巧。在本文完成之时,它是最新的,并且欢迎反馈。所以在你读完之后,请向 scut@team-teso.net 发送反馈,建议和任何不是抱怨的东西。

这篇文章的第一个部分是格式化字符串漏洞的历史和认识,后面是如何在源码中发现和避免该漏洞的细节。之后,一些基本技巧为玩转该漏洞而开发,从中诞生了一些强有力的利用方式,这个方式之后被修改、改进和实际应用到特殊的场景中,允许你利用至今几乎所有类型的格式化字符串漏洞。

对于每个漏洞来说,它们都有一段时间了,而且新的技术的出现,通常由于旧技术在特定场景下不工作了。由于一些在文本中提到的技巧,一些人应当受到尊敬,并且极大影响了我的写作,他们是 tf8,它编写了第一个格式化字符串利用,portal,它在它的文章中开发和研究了可利用性,DiGiT,它发现了至今为止大多数高危的远程格式化字符串漏洞,以及 smiler,它开发了复杂的爆破技巧。

虽然我在没有太大帮助的情况下,也贡献了一些技巧,一些评论和技巧,以理论或者漏洞利用的形式,由它们展示给我,否则这篇文章就不太可能完成。非常感谢,我也要感谢无数评论、复查和改进写篇文章的人。

更新和修正后的版本在 TESO 安全小组的主页上可以找到。

1.1 缓冲区溢出 vs 格式化字符串漏洞

由于过去几乎所有严重的漏洞都是某种缓冲区溢出,我们可以将这种严重并且低级的漏洞和这一新兴漏洞相比较。

缓冲区溢出

格式化字符串

发布时间

20 世纪 80 年代中期

意识到危险

20 世纪 90 年代

利用数量

几千

被认为

安全威胁

技巧

进化并且先进

可见性

有时非常困难

1.2 统计:2000 年重要的格式化字符串漏洞

为了强调格式化字符串漏洞在 2000 年的危险影响,我们在这里例举了最为可利用的公开漏洞。

应用

发现人

影响

年限

wu-ftpd 2.*

security.is

远程 root

6

Linux rpc.statd

security.is

远程 root

4

IRIX telnetd

LSD

远程 root

8

Qualcomm Popper 2.53

security.is

远程用户

3

Apache + PHP3

security.is

远程用户

2

NLS / locale

CORE SDI

本地 root

screen

Jouko Pynnonen

本地 root

5

BSD chpass

TESO

本地 root

OpenBSD fstat

ktwo

本地 root

在本文完成之时,还有很多未知或者未发现的漏洞,并且接下来的两到三年,格式化字符串漏洞会为已发现的新漏洞的统计做出贡献。我们已经看到,它们易于使用更加复杂的工具自动化发现,并且你可以假设,对于多数现在的漏洞,代码虽然没有公开,但是漏洞已经存在了。

也有一些在应用中发现这一类型咯多年过得方式,它们只在二进制中可用。为此,使用了一种更加通用的方式来寻找“参数缺失”,它在 Halvar Flakes 的二进制审计演讲中有所展示。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、引言
    • 1.1 缓冲区溢出 vs 格式化字符串漏洞
      • 1.2 统计:2000 年重要的格式化字符串漏洞
      相关产品与服务
      云服务器
      云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档