xss靶场大通关(持续更新ing)


 

xss秘籍第一式(常弹)

(1)进入本身搭建的靶场,发现有get请求,参数为name,可进行输入,并会将输入的内容显示于网页页面

 

(2)使用xss的payload进行通关:

 

http://127.0.0.1/xss/level1.php?name=<script>alert(1)</script>javascript

 

 

 


 

xss秘籍第二式(构弹)

(1)进入本身搭建的靶场,发现仍然有get请求,并为keyword=test

 

 

(2)使用F12或者调用ctrl+shift+i调出网页源代码查看栏,对可输入的地方进行查看,发现输入框是一个value值的输入,而后咱们进行js恶意代码拼接

 

 

 (3)加载payload:以下,一边进行js代码调试,一边进行查看,顺利通关

"/><script>alert(1)</script>//php

 

 

 


 

xss秘籍第三式(绕函弹)

(1)查看页面,仍然是get型请求,会与第二关有什么不一样呢?咱们查看源代码:

(2)尝试着会value的值进行js恶意代码输入,发现页面并无弹框,那应该怎么办呢?

"/><img src=# onerror=alert(1)/>//html

(3)将payload修改一下,发现并无什么用,可是,若是将payload修改成:

 

 

"/><script>alert(1)</script>//java

 

上述并不可用,大概是后端使用了htmlspecialchars函数进行过滤,所以咱们可使用不带有尖括号的特殊字符进行尝试:后端

 

如' onmouseover='javascript:alert(1)cookie

 

 

但为何要这要作呢?,若是换成" onmouseover=" javascript:alert(1) ,却并不会成功

这是由于,<input type='text' value=' &#039 onmouseover=&#039 javascript:alert(1)'>

只有使用单引号,转换出来的&#039才有意义

 

 


 

xss秘籍第四式(构绕函弹)

 

(1)来到第四关卡,发现使用第三关的payload已经再也不起做用了,那咱们应该怎么办呢?此时思考一下,它的源代码确定也是如此不只对<>括号进行了过滤,并且还进行了htmlspecialchars()函数过滤,那咱们是否仍是能够不输入<>,而且根据input的标签进行js构造.

 

(2)输入payload以下:

 

" oninput='alert(1)'xss

" onmouseover='alert(1)'函数

 

 

 

 

这样,咱们的第四关就通关成功啦!

 

 


 

xss秘籍第五关 (闭新java弹)

 

 

(1)来到第五关卡,仍然和前面的关卡十分类似,这个时候,基于愈来愈难的道理,咱们首先尝试一下输入和第四关同样的payload

 

 

(2)发现过滤了on,那咱们应该如何避免过滤on呢,尝试使用大小写转换,发现仍然对on进行了过滤

 

 

(3)那咱们能够试试对这个标签使用编码的方式进行绕过过滤,发现网页彷佛没法识别,这个时候不要灰心,咱们再把思惟放得简单一点,不使用on的点击事件,咱们回到最初的最简单的想法,尝试使用一下<>进行操做,彷佛并无进行转义或是过滤。,尝试一下的payload:

 

" /> <a href="javascript:alert(1)"/>编码

 

 

 

 (4)彷佛发现了被单独弥留下来的一个超连接版的xss代码,咱们点击进行尝试,很不错,这个连接尽然弹出了xss代码

 

 

 


 

xss秘籍第六关(大小写)

(1)此次咱们直接进入主题

 

 (2)构造payload,绕过对href的过滤,以下所示:变换大小写

 

"/><a Href='javascript:alert(1)'>a</a>//url

 

 

 


 

xss秘籍第七关(重复写)

(1)这一关是直接作了关键字的过滤操做,咱们没法使用href,src等触发xss的恶意js

 

 

 (2)思考一下,是否可使用别的不使用这些标签也能够触发xss的payload呢?可是连script标签也被过滤了!!使用大小写仍然没法过滤,那咱们是否可使用重复写标签进行xss攻击呢?构造payload以下所示,发现恶意js成功执行

 

 "/><ScrscriptipT>alert(1)</ScriscriptPT>//<

 

 

 

 

 


 

xss秘籍第八关(DOM)

(1)进入第八关卡,发现这一关很是可能属于Dom型xss,所以咱们须要根据友情连接进行恶意js的构造

 

 

 

(2)javascript被过滤了,那试试大小写或者重复写,彷佛都是没法弹框的,那咱们须要换个思路,将这个a标签闭合,再从新使用新的js标签,可是,通过尝试,咱们会发现,这个不只没法重复写,也没法使用大小写进行绕过。

 

 (3)尝试对javascript这个函数的关键部分进行编码操做,不管是16进制编码仍是Unicode编码都可以

 

 

 

 


 

 xss秘籍第九关(代码审计)

                                                                                                                                                            (1)当进入第九关的时候,咱们须要开始代码审计了。从图中能够看出这一栏不只对代码进行了过滤,并且还在里面加了http的暗箱操做,若是没有"http://"这几个字符,就返回连接不合法。

 

 

 

(2)所以能够输入以下payload:&#x0072;(是Unicode编码,r的化身)%0d(空格的url编码)

javasc&#x0072;ipt:%0dhttp://www.xixi.com%0dalert(1)

 

 

 

 

 

 

 

 


 

 xss秘籍第十关(改类型)

 (1)进入第十关

 

<input name="t_sort"  value="x&t_sort="type="text" onclick="alert(1)" type="hidden">

 

竟然要get两个参数。这但是盲猜都猜不到的,而后,彷佛只过滤了尖括号的样子,所以能够随意构造,type是为了让页面展示出一个输入框,一点击就会弹出alert

 

咱们试试构造别的payload:

 

    发现输入的文本都没法显示,这样就能够猜想出来,这里只能改变一下keyword的类型,type=text

 

 

 

 


 

 xss秘籍第十一关(改Refere)

从第九关开始,就须要代码审计了,那么,让咱们一块儿来看看第十一关作了哪些代码上的限制吧!

$str = $_GET["keyword"];
$str00 = $_GET["t_sort"];
$str11=$_SERVER['HTTP_REFERER'];//将payload从http头的referer栏获取过来,注意,这就是最重要的,谁也不知道咱们须要从referer构造payload
$str22=str_replace(">","",$str11);
$str33=str_replace("<","",$str22);
echo "<h2 align=center>没有找到和".htmlspecialchars($str)."

首先,从代码能够发现,过滤了尖括号与使用了htmlspecialchars函数,t_sort的值来自 上一个链接跳转的地址,因此咱们直接抓包把referer里绕过,23&t_sort="type="text" onclick="alert(1)

 

(1)在第十关完成的瞬间,咱们使用burp抓取数据包

 

(2)而后修改referer这一栏的为咱们的payload,payload能够与第十关的相同,能够发现顺利进入了第十一关,而且也有弹出一个输入的text格式框

 

 (3)此时只要点击一下那个text输入框,咱们就能顺利通关!

 

 

 


 

 xss秘籍第十二关(改User-Agent)

(1)来到第12关,咱们发现这个界面彷佛与11关无比的雷同。

(2)代码审计,发现与11关惟一不一样的就是此次须要输入的payload来源再也不是refer了,而是user-agent

 

(3)咱们按照上一次11关的过关实验方法,修改user-agent来试试xss,发现一样的方法也是OK的,即:在11关过关的时候抓包,修改咱们的User-Agent头,而后直接在burp里改成以下payload便可:

keyword=123&t_sort="type="text" onclick="alert(1)

 

 

 


 xss秘籍第十三关(改cookie)

(1)经过第十一、12关的经验,咱们已经成功地破解了其中的奥义,就是根据代码从各个地方注入xss语句,如今继续观察一下第13关的代码

 

(2)能够看到,这段代码中,添加了传说中的cookie,就是咱们须要输入的payload须要在cookie内构造。使用和十一、12关一样的方法,注入xss语句

(3)放行数据包,顺利通关!

 

 

 


 

 xss秘籍第十四关(略。。。)

(1)在代码审计后,才忽然发现14关有点不同凡响,它的页面是这样的,并且还一直在加载中

 

 

 

 (2)反正都不会弹alert(1),干脆就直接进入15关吧!哈哈哈哈!

 

 

 


 

xss秘籍第十五关(文件包含)

(1)能够很明显的发现,这一关只有一个src,加载了一张图片,并告诉你:想个办法本身走出去吧!

(2)彷佛存在文件包含漏洞,由于这里面php代码echo了一个ng-include的属性,并把图片资源加载了进来!而咱们已知的文件包含版xss又在哪里呢?让咱们从新回到第一关,在第一关是个特别简单的什么也没有过滤过的xss文件,咱们只要将其包含过来就能够通关成功了!咱们直接输入以下payload就能够通关成功!

http://127.0.0.1/xss/level15.php?src='level1.php?name=<script>alert(1)</script>'

相关文章
相关标签/搜索