【网络安全 --- xss-labs靶场通关(11-20关)】详细的xss-labs靶场通关思路及技巧讲解,让你对xss漏洞的理解更深刻

如果需要安装各种系统,虚拟机,工具等等关注我,已经在出系统的课程了

一,靶场安装

超详细的靶场安装教程如下,提供工具,靶场,镜像等

【网络安全 --- xss-labs靶场】xss-labs靶场安装详细教程,让你巩固对xss漏洞的理解及绕过技巧和方法(提供资源)-CSDN博客【网络安全 --- xss-labs通关】xss-labs靶场通关,让你巩固对xss漏洞的理解及绕过技巧和方法(提供资源)https://blog.csdn.net/m0_67844671/article/details/133915033?spm=1001.2014.3001.5502

二,Burp Suite抓包工具安装及使用

以下是详细的Burp suite抓包工具的安装及简单使用

【网络安全 --- Burp Suite抓包工具】学网安必不可少的Burp Suite工具的安装及配置-CSDN博客【网络安全 --- Burp Suite抓包工具】学网安必不可少的Burp Suite工具的安装及配置https://blog.csdn.net/m0_67844671/article/details/133843910?spm=1001.2014.3001.5501

三,1-10 通关

1-10 关的通关思路以及技巧我详细写了篇博客讲解了,请看下面这篇博客就可以

【网络安全 --- xss-labs靶场通关(1-10关)】详细的xss-labs靶场通关思路及技巧讲解,让你对xss漏洞的理解更深刻-CSDN博客【网络安全 --- xss-labs靶场通关(1-10关)】详细的xss-labs靶场通关思路及技巧讲解,让你对xss漏洞的理解更深刻https://blog.csdn.net/m0_67844671/article/details/133960815?spm=1001.2014.3001.5502

四,11-20通关

4-11 第十一关:

页面上没有任何可以输入输出的地方,不过通过“检查”来查看渲染结构以后发现有4个隐藏的输入框,而且t_ref有value值,前三个隐藏的文本框我们可以试着传值

发现t_ref是refer字段的值,很明显是来第十关的URL

这个我们通过burp抓包来修改比较方便,payload用的还是第十关的payload。当第十关完成的时候,点击确定按钮,然后就抓包,可以抓到第十一关的数据包,然后将referer改为上面的payload

回到第十关,重新闯关,输入payload按回车

隐藏的文本框显示出来了,我们的payload是onblur文本框失去焦点的时候触发的事件

在文本框内点一下,获得焦点,在文本框外点一下就失去焦点了,失去焦点以后触发payload就会弹框,先不要着急点确定,这个时候需要抓包

打开Burp Suite 代理----拦截----打开拦截

然后回到页面上点击确定按钮,就可以抓到跳转第十一关的数据包了 

我们在第十一关知道了refer字段的内容会渲染到第十一关的一个input标签的value值中,所以这里修改refer字段的值为payload,然后放行,关闭拦截

'" type='text' onclick='alert(123)' 
'" type='text' onblur='javascript:alert("aini")' 
// 注意,我们单纯的用带引号办法闭合前面的value="的双引号

放行以后就到了第十一关,能看到payload也成功渲染到了页面上,触发条件时文本框失去焦点 

 

所以先点击文本框获得焦点,然后点击文本框外面区域失去焦点,就这样成功通过了第十一关 

 4-12 第十二关:

看到t_ua 是不是立马有了想法,跟上一关思路一模一样,只是这里渲染的是上一关的user-agent请求头,所以跟上一关一样,先会到上一关,进行闯关,弹框出来以后不要点确定,进行抓包

所以先回到十一关,闯关弹窗以后,不要点确定,打开Burp Suite然后点击确定抓包

抓包如下

修改User-agent字段的值为payload,然后放行,关闭拦截 (10,11,12关payload都一样

看到如下弹框就成功过关了

4-13 第十三关:

和第十一、十二关一样,但是这次是cookie数据  ,照猫画虎就行,在第十二关弹框以后抓包,点击确定按钮抓包,改cookie数据改成payload,然后放包,关闭拦截就可以

4-14 第十四关:

题有问题,提示点击进入第十五关:

点击以后发现进不去,如下显示,一看发现实点击链接URL有错误,我们是xss-labs/level15,所以改一下再点回车

 改完URL以后就进入到了第十五关

4-15 第十五关:

 

这一关需要借助到一个新的属性,AngularJS的ng-include,ng-include指令-CSDN博客一、AngularJS ng-include指令定义和用法ng-include 指令用于包含外部的 HTML 文件。包含的内容将作为指定元素的子节点。ng-include 属性的值可以是一个表达式,返回一个文件名。默认情况下,包含的文件需要包含在同一个域名下。语法element ng-include="filename" οnlοad="_ng-includehttps://blog.csdn.net/u011127019/article/details/53666528/

那么既然是可以直接引用html文件,那么我们直接引用一下第一关网址的html文件网址路径来试下

 http://192.168.31.159/xss-labs/level1.php?name=aini

src改了以后发现,下面渲染结构里面的有一个部分也一起改了 

构造payload  

http://192.168.31.159/xss-labs/level1.php?name=aini'"><script>alert('aini');</script>
 

输入payload回车以后发现script标签被过滤了,那我们换个标签 

http://192.168.31.159/xss-labs/level1.php?name=aini<img src=1 οnerrοr=alert("aini")> 
// 注意不要让src=#,#会影响输入,有注释的效果,而且img标签的后面结尾处把/删除,也就是<img src=1 ../>把/删除。 

值得注意的是,网址外层要加上单引号,完整URL如下

http://192.168.31.159/xss-labs/level15.php?src='http://192.168.31.159/xss-labs/level1.php?name=aini<img src=1 οnerrοr=alert("aini")>'

 

4-16 第十六关:

发现接受一个keyword参数,输出到页面上

先用标签试一下,能不能成功

<img src=1 onerror=alert("aini")>

 回车以后发现,发现空格被实体编码了

尝试用换行替换空格的方式进行绕过,可以先将换行进行url编码 %0D%0A ,因为在html中换行和多个空格都是按照一个空格进行处理的,然后测试:(注意特殊符号也进行了URL编码)  

http://192.168.31.159/xss-labs/level16.php?keyword=%3Cimg%0D%0Asrc=1%0D%0Aοnerrοr=alert(%22jaden%22)%3E​​​​​​​
 

发现成功了 ,所以这也是一个新学到的如何绕过空格的一个绕过思路,下次遇到可以按这个思路尝试一下

4-17 第十七关:

embed标签可以理解为定义了一个区域,可以放图片、视频、音频等内容,但是呢相对于他们,embed标签打开不了文件的时候就会有块错误的区域。也可以绑定各种事件,比如尝试绑定一个onmouseover事件。后台看代码用了htmlspecialchars,所以直接写标签是不行的。embed标签基本不怎么用了,所以这一关就简单了解一下即可。  

' onmouseover=alert("aini")

4-18 第十八关:

和第十七关一样,payload也一样  

' onmouseover=alert("aini")

4-19:第十九关:

这两关就不做了,涉及到flash触发的xss漏洞,不过现在flash技术全面停止使用了,基本上不用flash了

4-20:第二十关:

这两关就不做了,涉及到flash触发的xss漏洞,不过现在flash技术全面停止使用了,基本上不用flash了

猜你喜欢

转载自blog.csdn.net/m0_67844671/article/details/133985722