返回介绍

7.1 什么是二次漏洞

发布于 2024-10-11 22:07:45 字数 640 浏览 0 评论 0 收藏 0

需要先构造好利用代码写入网站保存,在第二次或多次请求后调用攻击代码触发或者修改配置触发的漏洞叫做二次漏洞,举一个简单的 SQL 注入例子,攻击者 A 在网站评论的地方发表了带有注入语句的评论,这时候注入语句已经被完整地保存到数据库中,但是评论引用功能存在一个 SQL 注入漏洞,于是攻击者在评论处引用刚提交的带有注入语句的评论,提交后 server 端从数据库中取出第一次的评论,由于第一次评论中带有单引号可闭合第二次的语句,从而触发了注入漏洞,这是一个非常经典的而又真实的案例,它就是在 2013 年 5 月初被公布的 dedecms 评论二次注入漏洞,不过当时还有一个非常精彩的 60 个字符长度限制突破,稍后我们在案例里面分析这个漏洞的来龙去脉。

二次漏洞的出现归根结底是开发者在可信数据的逻辑上考虑不全面,开发者认为这个数据来源或者这个配置是不会存在问题的,而没有想到另外一个漏洞能够修改这些“可信”数据,整个漏洞产生的流程图如图 7-1 所示。

图 7-1

这样的漏洞没有很大的逻辑关联,所以在发现和修补上面都比一般的直接利用的漏洞相对复杂一点。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文