XSS:
0x01 example01
第一题应该是什么都没有过滤吧,直接x就好。
0x02 example02
简单的提交一些表单可以发现过滤了,但是正则过滤不充分,所以想到了两种绕过方式。
1.改变大小写
2.办法是后来想到的,标签包含标签,这样一个script被过滤了,剩下的刚好组成script
0x03 example03
第三题过滤了各种大小写的script,开始的想法是js,然而并没有什么用,而且尝试后发现过滤了#号的所有字符,这样编码就是没用的,于是想到用别的标签…
还有一种是会长博客里的,svg标签的黑科技:
1 | <svg/onload=alert()> |
0x04 example04
直接尝试了上一题的payload,直接过了…
1 | <img src="/" onerror=alert("1")> |
0x05 example05
上一题的payload已经不能用了,仔细提交一下发现过滤了alert(),于是编码之后,eval执行
后来想到还可以使用别的语句,于是换用prompt( )
0x06 example06
先提交上一题的payload然后查看源码,发现提交的东西赋入了变量a…
想到了加入
1 | </script><script> |
Get!
0x07 example07
7题把<>“”做了ascii码转义,开始想的是闭合前面的 ‘ ,但是并不好用,后来把后面的 ‘ 注释掉成功拿下。
0x08 example08
这次改成了一个post方式传输的表单,但是对很多符号做了ascii码做了转义,包括<>#&”,而且url编码也是无效的,一下子卡住了…
后面去看别人写的writeup,发现表单那是是没办法x的,漏洞在地址,payload如下
1 | http://192.168.163.131/xss/example8.php/"><script>alert(1)</script> |
表单提交的地方就会执行需要的代码…
0x09 example09
打开之后直接查看源码,可以看到
这个的意思是指取地址栏#后的语句,然后也没做什么过滤,很简单的加入标签就好了