xss秘籍第一式(常弹)

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

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

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


xss秘籍第二式(构弹)

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

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

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

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


xss秘籍第三式(绕函弹)

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

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

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

(3)将payload修改一下,发现并没有什么用,但是,如果将payload修改为:

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

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

如' onmouseover='javascript:alert(1)

但为什么要这要做呢?,如果换成" 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)'

" 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>//


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:r(是Unicode编码,r的化身)%0d(空格的url编码)

javascript:%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)通过第11、12关的经验,我们已经成功地破解了其中的奥义,就是根据代码从各个地方注入xss语句,现在继续观察一下第13关的代码

(2)可以看到,这段代码中,添加了传说中的cookie,就是我们需要输入的payload需要在cookie内构造。使用和11、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>'

xss靶场大通关(持续更新ing)的更多相关文章

  1. Linux命令(持续更新ing)

    *.命令语法:  a.在进行参数设定时,通常为“-”号,若为完整参数名称,则输入“--”符号;  b.指令太长的时候,可以使用“\”符号使指令连续到下一行;  c.各种符号的意义:    ''     ...

  2. Python常用组件、命令大总结(持续更新)

    Python开发常用组件.命令(干货) 持续更新中-关注公众号"轻松学编程"了解更多. 1.生成6位数字随机验证码 import random import string def ...

  3. FireFox所支持的全部标签(持续更新ing)

    近期研究上各个浏览器的差别,得到一些资料,FireFox眼下所支持的全部标签类型,持续更新,供大家參考和学习,不喜勿喷哦 http://mxr.mozilla.org/seamonkey/source ...

  4. 大白话strom——问题收集(持续更新ing)

    本文导读: 1.基于storm的应用 2.storm的单点故障解决 3.strom与算法的结合学习4.杂记——常见问题的解答5.http://www.blogchong.com/catalog.asp ...

  5. Python:常见错误集锦(持续更新ing)

    初学Python,很容易与各种错误不断的遭遇.通过集锦,可以快速的找到错误的原因和解决方法. 1.IndentationError:expected an indented block 说明此处需要缩 ...

  6. 生活小插曲(长篇连载,持续更新ing)^_^

    这个帖子,长期记录一些小小的生活插曲 在北京朋友开店了-关于同学开快餐店的故事.今天下午听说这个朋友在附近开了一个店,下午5点多吧,出门去他那里去了.走路过去的.在那里聊了将近一个小时吧.对最近我们自 ...

  7. java高级&资深&专家面试题-行走江湖必备-持续更新ing

    行走江湖必备一份面试题,这里给大家整理了一套.0面试官最喜欢问的问题或者出场率较高的面试题,助校招或者社招路上的你一臂之力! 首先我们需要明白一个事实,招聘的一个很关键的因素是在给自己找未来的同事,同 ...

  8. 网页样式——各种炫酷效果持续更新ing...

    1.evanyou效果-彩带的实现,效果如下 注:这个主要用的是Canvas画布实现的,点击背景绘制新的图形,代码如下: /*Html代码:*/ <canvas id=">< ...

  9. 常用js功能函数汇总(持续更新ing)

    ////////////////////获取元素属性/////////////////// function getStyle(obj,name) { if(obj.currentStyle) { r ...

随机推荐

  1. Educational DP Contest E - Knapsack 2 (01背包进阶版)

    题意:有\(n\)个物品,第\(i\)个物品价值\(v_{i}\),体积为\(w_{i}\),你有容量为\(W\)的背包,求能放物品的最大价值. 题解:经典01背包,但是物品的最大体积给到了\(10^ ...

  2. 【ybt金牌导航1-2-5】【luogu P3287】优美玉米 / 方伯伯的玉米田

    优美玉米 / 方伯伯的玉米田 题目链接:ybt金牌导航1-2-5 / luogu P3287 题目大意 有一个数组,你可以每次给一个区间里面的值加一,要你使得最后剩下的最长单调不下降子序列最长. 思路 ...

  3. Linux虚拟机封装成模板

    对安装在VMware上的CentOS7.X进行封装,是为了后续的实验环境需要,可以批量去生成Linux系统.通过虚拟机模版来创建一台CentOS系统,跟原来机器一样,去掉了唯一性,而通过克隆出来的虚拟 ...

  4. Service Cloud 零基础(四)快速配置一个问卷调查(无开发)

    本篇参考:https://trailhead.salesforce.com/content/learn/modules/survey-basics 我们在工作和生活中会经历过形形色色得调查问卷,有一些 ...

  5. bitbar 网站攻击实验

    实验环境 https://github.com/TouwaErioH/security/tree/master/web1 Windows10 Oracle VM VirtualBox Ubuntu16 ...

  6. 缓冲区溢出实验 1 strcpy

    实验代码 https://github.com/TouwaErioH/security/tree/master/stack%20overflow 实验目的 Buffer over flow 漏洞利用实 ...

  7. 12.tomcat7切换tomcat8导致cookie异常

    一.现象 换成Tomcat8后出现cookie报错 二.分析 经异常去查看源码发现,Tomcat8对cookie校验规则改变,更为严格的校验了cookieHeader不允许有, 日志中的[XXXXX, ...

  8. ASCII Art

    ASCII Art https://npms.io/search?q=ASCII art ASCII Art Text to ASCII Art Generator (TAAG) http://pat ...

  9. github & personal access token

    github & personal access token OAuth https://github.com/xgqfrms/webtrc-in-action/issues/1#issuec ...

  10. js 动态构建style

    使用创建style的方式 btn.addEventListener("click", async () => { const ns = document.createElem ...