上篇链接:我是上篇
下篇链接:我是下篇------待续
目录
-
-
- Stage #6 html事件中的XSS
- Stage #7 列表中的XSS
- Stage #8 javascript中的XSS
- Stage #9 UTF-7中的XSS
- Stage #10 有过滤的XSS(1)
-
- 解法一
- 解法二
- Stage #11 有过滤的XSS(2)
- Stage #12 有过滤的XSS(3)
-
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
Stage #8 javascript中的XSS
F12后随意输入几个字符:111222,发现是超链接
构造普通的XSS发现行不通,于是构造一下内容:
Stage #9 UTF-7中的XSS
没有所需的环境…
用的取巧的payload
在F12后选取hint,在id=“hide”后面加上如下代码即可
Stage #10 有过滤的XSS(1)
老样子,输入一下语句测试
F12定位代码后发现document没了,考虑是过滤
解法一
想到双写domain试一试,结果成功了
解法二
使用base64解码绕过过滤
把alert(document.domain)进行base64编码后(不限于base64)
使用atob函数进行base64解码即可
Stage #11 有过滤的XSS(2)
此题提示为
就是过滤了script,过滤了on开头的事件,过滤了style
Stage #12 有过滤的XSS(3)
因为双引号空格等都被过滤,所以
采用两个反引号`` 进行替代双引号
但是只有IE浏览器才会将反引号识别为",
所以用IE浏览器打开输入以下代码即可
`` onmouseover=alert(document.domain);