PORTSWIGGER:2018年十大Web攻击技术盘点

导语:在汇总59项令人印象深刻的技术提名之后,PortSwigger社区投票选出了15名决赛选手,并由我和著名安全研究者Nicolas Grégoire、Soroush Dalili和Filedescriptor共同选出,最终得到了10种最具创新性的技术。

前言

在汇总59项令人印象深刻的技术提名之后,PortSwigger社区投票选出了15名决赛选手,并由我和著名安全研究者Nicolas Grégoire、Soroush Dalili和Filedescriptor共同选出,最终得到了10种最具创新性的技术,我们认为这些技术可以经受住时间的考验,并能够激发攻击者开发新的攻击方式。

从第10名开始,我们将以倒叙的方式介绍今年的十大攻击技术。

第10名:XS-Searching Google的Bug追踪器并找到易受攻击的源代码

在这篇由Luan Herrera撰写的博客文章的一开始,我们以为他描述的就是一个简单的漏洞,直到他创新性地使用浏览器缓存计时技术(Browser Cache Timing)来消除众所周知的不可靠技术造成的网络延迟,这样一来就使得这种漏洞利用方法变得非常实用。我们认为,我们可以期待在以后看到更多的XS-Search漏洞。

第9名:通过公式注入(CSV)实现数据渗透

在这篇博客文章中,Ajay和Balaji讨论了如何从Google Sheets和LibreOffice中的电子表格挖掘数据的技术。尽管它并没有其他技术令人耳目一新的感觉,但无疑是非常实用的、易于应用的技术。对于希望快速证明公式注入漏洞的影响性的研究者来说,这一利用方式是非常宝贵的。

如果大家希望了解恶意电子表格与Web安全性的关系,请查看逗号分隔漏洞。值得一提的是,2018年我们还看到了第一个有记录的服务器端公式注入漏洞利用。

第8名:Prepare() – 在WordPress中引入的新漏洞利用技术

我们可以将WordPress比作一个复杂的野兽,对WordPress进行漏洞利用已经逐步演变成为一个独立的学科。在这份演示文稿中,Robin Peraglie深入研究了在WordPress中滥用Double Prepared Statement的方式,并在Slavco Mihajloski先前针对PHP反序列化的研究基础上再进行了深入的研究。

第7名:借助本地DTD文件实现XXE漏洞利用

针对XXE盲注的尝试,通常依赖于加载外部的、由攻击者托管的文件,因此有时易受攻击服务器的防火墙会对出站流量进行阻止。在Nicolas发表的《如何在知名领域实现技术创新》的文章中,Arseniy Sharoglazov分享了一种创造性技术,通过使用本地文件来避免产生防火墙的问题。

虽然仅限于某些XML解析器和配置,但当其工作时,这种技术很容易使DoS和完整服务器攻陷过程之间存在一定的差异。然而,这篇文章还引发了后续的讨论,并体现出能够对其进行更加灵活的改进。

第6名:新型PHP反序列化漏洞

例如,file_exists()这样看上去无害的文件操作可能会被滥用,使用PHP的phar://流包装器来触发反序列化并获得远程代码执行。最开始,这个漏洞在一些安全研究圈子中传播了一段时间,但Sam Thomas的白皮书和演示过程最终将其公之于众。安全研究人员在实际场景中进行了大量尝试和研究,最终发现包括WordPress在内的众多漏洞利用案例。

第5名:“现代”网络技术攻击研究

Frans Rosen分享了一些有质量的研究,表明攻击者可以滥用HTML5 AppCache来实现一些精彩的漏洞利用,无论应用程序缓存是否被弃用。该研究者还讨论了利用客户端竞态条件实现的一些有趣的postMessage攻击。

第4名:NodeJS应用程序中的原型污染攻击

能看到一个不影响PHP的特定语言漏洞,感觉会非常好,而NorthSec的Olivier Arteau提出的这项研究就是其中之一。在研究中,详细介绍了一种通过使用以前仅应用于客户端应用程序的基于__proto__的攻击来在NodeJS应用程序上实现远程代码执行的新技术。

我们推测,可以通过在Backslash Powered Scanner中添加__proto__作为“魔术词”来实现对这一漏洞的扫描,但需要注意,这一过程可能会半永久的攻陷易受攻击的网站。

第3名:超过XSS – Edge Side Include注入

Louis Dion-Marcil持续尝试将传统的网络技术作为漏洞利用载体。他们发现,许多流行的反向代理有时可以让黑客滥用Edge Side Includes,从而为他们提供XSS(包括SSRF)的超级能力。在这一研究中,他们演示了许多具有高影响力的漏洞利用场景,并通过在JSON响应中启用HTML来证明这不仅仅是一种XSS提升技术。

第2名:可利用的网络缓存投毒 – 重新定义“不可利用”一词

James Kettle的这项研究展示了借助模糊的HTTP标头,使用恶意内容对Web缓存实现投毒的技术。我们认为这是对一个旧漏洞利用方式进行了优秀而广泛的新型研究,不仅原创性较高,而且漏洞利用效果良好,采用了非常明确的方法论,利用过程简洁而美观。我强烈建议各位读者阅读这一漏洞利用方法。

第1名:打破解析器逻辑 – 绕过路径规范化并利用0 day

Orange Tsai发现了一个攻击面,此前很多人错误地认为这一攻击面没有利用的希望,并且已经放弃。在该研究者发表的演示文稿中,展示了路径验证过程中的微小缺陷使如何被一步步利用,最终产生严重的后果。我们非常认可这项研究的实用性、原始影响、广泛性、影响框架、独立的Web服务器和反向代理。

Orange Tsai所研究的技术已经连续两年占据榜首,我们也将在2019年对他更多的研究成果保持密切关注。

总结

在今年,由于拥有大量的提名,导致进行了一场特别残酷的社区投票。许多非常可观的研究成果都未能入选候选名单。因此,如果大家不满足于了解TOP 10,可以阅读今年完整的提名名单,也可以阅读去年的TOP 10。

在明年,我们将尝试对提名进行稍微严格的过滤,来使社区投票阶段变得更加流畅。特别是,我们会拒绝以非原创方式应用已知技术的漏洞提交。我们还将研究改进用户界面,并允许在投票期间发表评论,以便大家可以讨论为什么选择了某些技术的背后原因。

明年的投票将在2020年1月启动,像往常一样,我们已经开放提名。最后,我要感谢社区中的每个人,感谢大家的研究、提名、投票和耐心等待。


分享到:


相關文章: