搭建学习环境(九)——XSS-labs安装以及解题思路

0x00 xss-labs

一个专门练习xss的漏洞平台,似乎现在github中也无法下载了,不晓得在什么时候下的,收集了一份,等这个弄完了就准备去系统学习docker了。
安装其实没啥好说的,用之前的环境扔进去就可以用了,cwth。
xss-labs一共有level 20,尽力去做着看看,GOGOGO
搭建学习环境(九)——XSS-labs安装以及解题思路_第1张图片


0x01 Level 1 without filter

搭建学习环境(九)——XSS-labs安装以及解题思路_第2张图片
看了好半天才看出来是啥意思。。。前端里面只有一个跳转到第二关的JS
搭建学习环境(九)——XSS-labs安装以及解题思路_第3张图片
而且还记录了payload的长度,看来挑战还是挑战,还希望xss用最小长度去完成,算了玩不起,现在能通关就可以了(手动狗头),这里使用就可以了。
搭建学习环境(九)——XSS-labs安装以及解题思路_第4张图片
这里很好奇为什么可以自动到第二关,所以就去查了下php源码。


ini_set("display_errors", 0);
$str = $_GET["name"];
echo "

欢迎用户".$str."

"
; ?>

这里有个ini_set("display_errors", 0),结果是用来看控制php错误报告的,看来原因就是在前端刚刚的那个脚本上了,其实就是当弹框的时候就会自动重定向到下一跳,感觉是把windows.alert函数进行重写了,同时查了下几个弹窗函数的区别,详细区别请点我。


0x02 Level 2 close label

搭建学习环境(九)——XSS-labs安装以及解题思路_第5张图片
直接输入上一关的脚本,查看结果。
搭建学习环境(九)——XSS-labs安装以及解题思路_第6张图片
脚本完全输入了,这里应该是被实体转义了,查看前端代码。
搭建学习环境(九)——XSS-labs安装以及解题思路_第7张图片
一共有两处,第一处就是显示的地方,这里应该是被做转义了,尝试第二次,先将闭合,构造payload">,成功弹窗。
搭建学习环境(九)——XSS-labs安装以及解题思路_第8张图片


0x03 level 3 htmlspecialchar() and close with ’

搭建学习环境(九)——XSS-labs安装以及解题思路_第9张图片
没想到第三关开始图片居然做懒了,不过这个红色的括号不晓得是不是提示,哈哈。
一样的,先走一波。
搭建学习环境(九)——XSS-labs安装以及解题思路_第10张图片
结果完全输出了,但是很奇怪输入框中怎么就少了一部分,看前端去。
搭建学习环境(九)——XSS-labs安装以及解题思路_第11张图片
原来这次下面也做了实体转义,但是明显看到前面的一部分没有被转义,之前在Pikachu遇到过,闭合再构造就可以了'onclick='alert("xss"),之所以不用中的/也被删除过滤了,那就再换成上一关的
搭建学习环境(九)——XSS-labs安装以及解题思路_第72张图片
好像空格也被搞了,被实体转换了,使用%0a替代空格。
搭建学习环境(九)——XSS-labs安装以及解题思路_第73张图片
搞定搞定,去看下源代码


ini_set("display_errors", 0);
$str = strtolower($_GET["keyword"]);
$str2=str_replace("script"," ",$str);
$str3=str_replace(" "," ",$str2);
$str4=str_replace("/"," ",$str3);
$str5=str_replace("     "," ",$str4);
echo "
".$str5."
"
; ?>

我还以为做了实体转换和过滤,原来只是做了替换,难怪之前尝试了双写也不行。。


0x17 level 17 args

搭建学习环境(九)——XSS-labs安装以及解题思路_第74张图片
哎,图都没有了。。。
搭建学习环境(九)——XSS-labs安装以及解题思路_第75张图片
用来定义嵌入的内容,所以这里应该是插入了一个swf图片,后面那个?a=b又是啥玩意。。。还是看源码吧。


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

原来只是需要提交两个参数,用ab代替,参数还被转义了。。。突然看到这个,我瞎了
搭建学习环境(九)——XSS-labs安装以及解题思路_第76张图片
构造一个arg01=%20onclick&arg02=alert(/xss/)
搭建学习环境(九)——XSS-labs安装以及解题思路_第77张图片
感觉都是对的,哪都点了,就是不行,折腾了半天发现,firefox这个swf好像读不出来。。。切换到chrome,想骂人,对不起,我错了不该喷作者偷懒。。。。。。。。。。。
搭建学习环境(九)——XSS-labs安装以及解题思路_第78张图片
然后点了图片还是不行,于是想着换了一个payload,鼠标放上去就行的那种onmouseover或者onfocus都行。。
搭建学习环境(九)——XSS-labs安装以及解题思路_第79张图片
哭了。。。


0x18 level 18 ??????

搭建学习环境(九)——XSS-labs安装以及解题思路_第80张图片
能不能用心点,什么破图,都快结束了,还搞这么烂。。。
搭建学习环境(九)——XSS-labs安装以及解题思路_第81张图片
用上一关的payload直接过了,看源码也没看出啥区别,什么鬼???????????


0x19 level 19 flash xss

搭建学习环境(九)——XSS-labs安装以及解题思路_第82张图片
尝试了一翻后再结合源码发现好像怎么都不太行了。
在这里插入图片描述
只能用"闭合,但是"会被转义,无法闭合,所以即使看起来是好的,也无法弹框。。。
搭建学习环境(九)——XSS-labs安装以及解题思路_第83张图片
查了下,好像得要做flash反编译才行,提不起兴趣。。。以后再说吧,先记个答案
arg01=version&arg02=123
搭建学习环境(九)——XSS-labs安装以及解题思路_第84张图片
来了,来了,点我进详解


0x20 level 20 flash xss

搭建学习环境(九)——XSS-labs安装以及解题思路_第85张图片
换成了白色的flash,和19关一样,暂时没啥兴趣,记个答案再说,以后单独开一个写,肯定不使鸽,哈哈哈 。。。
arg01=id&arg02=\%22))}catch(e){}if(!self.a)self.a=!alert(1)//%26width%26height

详细解释请点我,两天就更了,没想到吧~
搭建学习环境(九)——XSS-labs安装以及解题思路_第86张图片

你可能感兴趣的:(#,XSS-labs,靶场练习)