目的
利用 DOM XSS 漏洞,在漏洞利用服务器上构建调用 print() 函数的 HTML 页面。
我的目标是在各种网络安全主题中为您提供价值,并成为您扩展专业知识或成为有抱负的网络安全专业人士的最终目的地。
什么是 DOM XSS?
DOM XSS(文档对象模型跨站点脚本)是一种漏洞,当客户端网页处理来自用户输入的不受信任的数据以不安全的方式修改 DOM 时,就会出现该漏洞。与传统的 XSS 不同,DOM XSS 完全在客户端执行,这使得检测和缓解更具挑战性。漏洞可能导致在用户浏览器的上下文中执行任意 JavaScript,从而导致恶意活动,例如窃取信息、会话劫持或传递进一步的有效负载。
方法论
想要自己跟随实验室?您可以在 PortSwigger 的网站上免费查看。
侦察
正如我们在本系列中所做的那样,让我们首先了解实验室环境是什么样子,并规划出实验室。
我们有一个博客环境,没有登录能力,但可以发表评论。
让我们留下一个 coment 来捕获请求。
就功能而言,这似乎就是我们所能提供的全部。让我们看看 SiteMap 是否有其他线索......
没有什么是马上就能突出的。
但是,这没关系。由于 DOM XSS 是我们正在搜索的,因此我们将通过检查目标网站的 DOM 来找到我们正在寻找的内容。
即使我们知道这一点,养成执行通常侦察步骤的习惯也是件好事。
右键单击 Home Page 并单击 Inspect。
当我们开始展开不同的 div 标签时,我们可以看到有一个 script 标签立即突出。
打开脚本后,我们可以看到有一个 addEventListener 用于侦听 Web 消息。
看起来我们已经找到了我们的攻击媒介。
测试
首先,我们来检查一下代码...
window.addEventListener('message', function(e) { var url = e.data; if (url.indexOf('http:') > -1 || url.indexOf('https:') > -1) { location.href = url; } }, false);
然后开始推断发生了什么。
它会检查以确保 http: 或 https: 存在。
从逻辑上讲,这应该可以验证它是否来自 Web 位置。但是,它并未正确实现,因为它检查它是否存在于字符串中的任何位置,而不是开头。
有效负载包含一个接收器:location.href
让我们制作一个 payload 来利用。
开发
导航到漏洞利用服务器。
为了交付有效负载,我们需要制作一个 iframe:
<iframe src="https://lab-subdomain.web-security-academy.net/"/>
接下来,我们需要一个触发器。这可以是 onload 标志,它将在 iframe 加载后立即触发有效负载。
从 this.contentWindow.postMessage 开始作为 onload 负载,触发 postMessage 功能。
接下来,我们可以使用 javascript 标签 — javascript:print() 来传递 print() 有效负载
但是,我们需要添加 http: 或 https: somehwere 来规避逻辑。
让我们添加一个作为注释。
最后,为了将它们放在一起,我们的 payload 应该看起来像这样:
<iframe src="https://0aac00be043c466681d7c5c800bb006e.web-security-academy.net/" onload="this.contentWindow.postMessage('javascript:print()//http:','*')">
我们可以通过漏洞利用服务器主体将漏洞利用传递给受害者。
实验室解决了!
我们学到了什么
我们已经看到,我们可以通过此有效负载将 DOM XSS 有效负载传递给受害者用户。如果没有适当的保护措施,这可能是毁灭性的,允许攻击者利用他们喜欢的任何 Javascript。这可能通过网络钓鱼攻击传递给受害者,网络钓鱼攻击是网络攻击最常见的媒介之一,这意味着有效载荷被执行的可能性很高。
缓解 DOM XSS 涉及对用户输入的验证和清理。使用安全的 JavaScript 库,并避免使用不安全的方法来处理 DOM。
其它课程
QT开发底层原理与安全逆向视频教程
linux文件系统存储与文件过滤安全开发视频教程(2024最新)
linux高级usb安全开发与源码分析视频教程
linux程序设计与安全开发
windows恶意软件开发与对抗视频教程
windows网络安全防火墙与虚拟网卡(更新完成)
windows文件过滤(更新完成)
USB过滤(更新完成)
游戏安全(更新中)
ios逆向
windbg
还有很多免费教程(限学员)
更多详细内容添加作者微信
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...