XSSlabs过关详细教程

本文详细介绍了XSS跨站脚本攻击的多个层级,从level1到level12,探讨了如何通过各种方法绕过过滤机制,包括利用htmlspecialchars函数、HTML属性、Unicode编码等手段执行XSS语句。每关的解决方案揭示了Web应用安全中的常见防御措施及绕过策略。

xsslabs下载:点击这里,提取码:lzan
安装方法:放在phpstudy的www目录下即可
在这里插入图片描述

level1

URL的test,与图片的test相对应,当改为1时,图片也会相应更改,可以通过这个地方形成跨站xss
在这里插入图片描述写入xss语句<script>alert(1)</script>
在这里插入图片描述

level2

这里test与第一关一样更图片相对应,但插入xss没有弹窗
在这里插入图片描述
查看元素右键编辑发现插入的xss被转义了!
在这里插入图片描述
查看源代码造成转义的原因,发现这里用到了一个htmlspecialchars函数,关于函数的描述,大概的意思就是把<>改成&lt;,所以我们输入的xss就变成实体化了,执行起来就有问题。
在这里插入图片描述
回过头再看一眼元素,xss插入的地方不止一个地方回显,并且这里没有实体化
在这里插入图片描述这里没有弹窗原因:前后双引号使xss语句变成了字符串,所以没有执行。
绕过方法:使用SQL注入的思路,">闭合,//注释后面内容(注不注释都可以,不影响操作)
在这里插入图片描述

level3

使用第二关思路:">闭合,没有弹窗,查看元素,发现第二处把我们闭合的>给实体化了导致语句没有执行成功
在这里插入图片描述

绕过方法:利用html输入框的属性(onclick 事件),来调用JS代码,这时就不需要用到>
xss执行语句' onclick='alert(1) +鼠标点击搜索框
在这里插入图片描述
关于为什么用单引号不用双引号解释:
因为查看元素时看着好像用的是双引号,但CTRL+u仔细看发现用的是单引号!
在这里插入图片描述关于'alert()前面加个点的解释:
当不加点时查看元素,发现alert()'后面有个点,加点是为了闭合
在这里插入图片描述

level4

第四关跟第三关一样,只是换成双引号
在这里插入图片描述

level5

继续操作,发现onclick被转义了
在这里插入图片描述
查看源代码,把on过滤成o_n
在这里插入图片描述
绕过方法:既然不能用输入框鼠标事件了,那我们可以用另外标签(超链接)来实现
xss语句"><a href="javascript:alert(1)">我真帅+点击我真帅
在这里插入图片描述

level6

这一关过滤了href在这里插入图片描述
查看源代码,好家伙过滤这么多,也就是想用之前的方法来绕过都不可能了
在这里插入图片描述
绕过方法:过滤了这么多,但没有过滤大小写,即可用大小写绕过!
xss语句"><a HrEf="javascript:alert(1)">我真帅
在这里插入图片描述

level7

这关发现我们有些输入的代码不见了
在这里插入图片描述
查看一手源代码,发现只要是像script、on、href等匹配上的都为空
在这里插入图片描述
绕过方法:这里涉及到文件上传思路,双写绕过,即有些有些检测只检测一次,我们只需要再写一次就可以绕过
xss语句"><a hhrefref="javascrscriptipt:alert(1)">我真帅
在这里插入图片描述

level8

构造:<a href=+"javascript:alert(1),发现把script过滤成scr_ipt
在这里插入图片描述
查看源代码,这里把双引号过滤了,导致语句不能执行
在这里插入图片描述
绕过方法:进行Unicode编码
工具链接:提取码:lzan
在这里插入图片描述把编码后的值放到搜索框,点击友情链接即可触发
在这里插入图片描述

level9

Unicode编码后放进去,说链接不合法!
在这里插入图片描述
查看源代码,发现添加了检测是否有http://(因为一般链接都有http
在这里插入图片描述在后面添加http://,发现友情链接点击不了
在这里插入图片描述
原因是httpJavaScript:alert(1)在一起有干扰,注释掉即可
在这里插入图片描述

level10

查看元素发现,第二回显点不见了(隐藏了!点击此处了解详情
在这里插入图片描述
查看源代码,发现接受两数据,一个是keywordt_sort,也就是我们可以通过t_sort来发数据
在这里插入图片描述因为过滤了>、<,利用第三关的onclick来实现,但还是不能触发
在这里插入图片描述这里需要加上type=“text”(详情),来显示搜索框
原因:由于hidden函数是隐藏属性不能在页面中触发xss,并且我们使用onclick需要搜索框来触发,所以添加type="text"让输入框在页面显示
在这里插入图片描述

level11

不废话了,直接看源代码,HTTP_REFERER检测来源(获取前一页面的URL地址,详情点击!),与前面不同这里接受的值是$_str11也就是Referer
在这里插入图片描述
burp构造发包
在这里插入图片描述
发现出现搜索框,点击触发!
在这里插入图片描述

level12

这一关与上一关一样,查看源代码,HTTP_USER_AGENT获取浏览器信息,详情点击!
在这里插入图片描述
构造burp
在这里插入图片描述
点击触发!
在这里插入图片描述

剩下关卡实战上基本遇不上所以就不解答了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值