01
整个想法是使用可以通过电子邮件发送的XSS,将其转变为可自我复制并传播到众多用户邮箱的蠕虫。XSS可以在他的PoC版本中实现,这是因为当电子邮件的收件人回复并通过电子邮件转发时,XSS会被激活。对其进行改进,下一步寻找另一个XSS来删除大多数用户交互。
XSS是在附件中触发的,在附件中,可以使用特殊字符(例如<and>),这些特殊字符不会在附件的文件名中正确转义。阅读电子邮件时会发生这种情况,HTTP请求如下:
从下面的响应中可以看出,尖括号没有转义,而双引号是。文件名稍后会包含在DOM中,而无需进行更多转义,从而允许使用XSS。
但是有一些限制。经过几次尝试,我用Twitter获得了所需的帮助:
02
有了这些,我可以使用网络邮件发送蠕虫的第一个版本。这只会在服务器上加载另一个脚本,然后可以轻松触发和修改蠕虫:
从这里开始,更新PoC很容易,打开电子邮件后,代码将执行以下操作:
-
· 打开第一个弹出窗口“我们开始!”
-
· 打开第二个弹出窗口,以感谢用户并确认要在其会话中运行任意JavaScript
-
· 如果用户接受,请打开第三个弹出窗口,询问用户是否同意在执行PoC时挖掘某些加密货币
-
· 如果用户接受,请打开比特币挖掘器
-
获取所有联系人的列表并计算以@ bluewin.ch结尾的联系人向用户显示其中的4个,并询问是否可以将蠕虫发送给其中一个
-
· 要求用户确认是否确实要将有payload发送到此电子邮件
-
· 确认电子邮件已正确发送并退出
-
所有这些都涉及大量的用户交互,但是在没有征得许可的情况下进行操作并让蠕虫自动传播将是微不足道的(甚至更容易)。
时间线:
· 2018年10月底:第一个XSS 蠕虫PoC
· 01.11.2018:找到第二个XSS并报告给瑞士电信
· 02.11.2018:PoC代码已更新并转发给瑞士电信
· 2018年11月27日:申请并验证修复
EDI安全
扫二维码|关注我们
一个专注渗透实战经验分享的公众号
本文始发于微信公众号(EDI安全):XSS蠕虫–创造性地使用Web应用程序漏洞
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论