菜鸟通关Xss-labs记录(1-16)

打印 上一主题 下一主题

主题 552|帖子 552|积分 1656

基础情况

小皮面板8.1
所需知识

XSS毛病概述

跨站攻击脚本(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets)的缩写肴杂,故将跨站脚本攻击缩写为XSS
恶意攻击者会往web页面里插入恶意script代码,当用户浏览该页时,嵌入此中web里面的script代码会被实行,从而到达恶意攻击用户的目的
攻击流程:

毛病出现的原因:
程序对输入和输出的控制不敷严格,导致脚本输入后,在输出到前段时被浏览器看成有效代码解析实行从而产生危害

XSS类型

1.反射型:
反射型XSS又称非持久性XSS,这种攻击往往具有一次性
攻击者通过邮件等情势将包罗XSS代码的链接发送给正常用户,当用户点击时,服务器接受该用户的哀求并进行处理,然后把带有XSS的代码发送给用户。用户浏览器解析实行代码,触发XSS毛病
2.存储型:
存储型XSS又称持久型XSS,攻击脚本存储在目标服务器的数据库中,具有更强的隐蔽性
攻击者在论坛、博客、留言板中,发帖的过程中嵌入XSS攻击代码,帖子被目标服务器存储在数据库中。当用户进行正常访问时,触发XSS代码
3.DOM型:
DOM型XSS全称Document Object Model,使用DOM动态访问更新文档的内容结构及样式
服务器响应不会处理攻击者脚本,而是用户浏览器处理这个响应时,DOM对象就会处理XSS代码,触发XSS毛病
一般不与服务器产生数据交互,属于低危毛病
通关过程

通用思路

通过各种可以提交内容的地方,例如导航栏,大概文本框等地方,进行注入,只要有弹窗即为成功。
1.第一关

我们先看看源码

源码中可以看出这是个GET类型,那么我们就看导航栏就可以,导航栏中有一段“?name=test”,很显着,我们可以在这里进行注入
  1. ?name=<script>alert(123)</script>
复制代码

可以看到成功了
2.第二关


这里我们接着看源码,暂时没发现什么标题,以是我们先提交上一关的Payload
  1. <script>alert(123)</script>
复制代码
提交后,并没有弹窗弹出,我们接着看源码

可以看到,这里我们输入的特殊符号被转义掉了,但是在value中返回的没有被转义,因此我们只需要闭合掉value前面"<和即可
  1. "> <script>alert(123)</script>
复制代码

3.第三关

还是跟上一关一样,我们先输入下面这串代码,看看有什么标题
  1. <script>alert(123)</script>
复制代码

可以看到这里相较于上一关,它在value中的值也转义了那我们就看看后端的源码,

可以看到这里用htmlspecialchars()函数进行转义,这个函数默认是只编码双引号的,而且单引号无论如何都不转义。因此我们这里需要用单引号闭合而且还要通过其他方式来注入,这里我们利用onfocus事件绕过,这里引用下百度搜索到的

因此这里我们的Payload
  1. 'οnclick='alert(1)
复制代码
输入该Payload,提交后,点击输入框即可。

4.第四关

仍旧是输入我们基础的JS弹窗代码,但是你会发现,它会删除<>,因此这里我们仍旧可以使用上一关的Payload,只需要将单引号改为双引号闭合即可

  1. " οnclick="alert(1)
复制代码

5.第五关

这里可以看到,我们在输入后,script变为了scr_ipt,

这下我们看后端源码,可以看到它是将<script替换成<scr_ipt,把on改成o_n

那么此时我们就可以用另外一种方法,


那么我们可以利用这个特性,来构造我们的Payload,固然不要忘记闭合
  1. "><a href="javascript:alert(1)">
复制代码

6.第六关

如果利用前面关卡的思路来不断实行的话,发现它过滤了很多多少关键词,我们来看看看后端源码

果不其然,它全过滤掉了,但是你会发现它没有过滤巨细写,那么这里我们就可以利用巨细写来绕过
  1. //其余的Payload也可以,这里就不多展示了
  2. "> <sCRipt>alert(123)</sCRipt>
复制代码

7.第七关

这一关也是一样,你会发现它筛掉了关键词,而且巨细也不管用了,script也被替换为空了,我们看看源码

果然是,但是这里的筛查只筛查一遍,那么如果我们把script写为sscriptcript,那么经过它的筛查,那不就成为script了吗?
  1. "> <sscriptcript>alert(123)</sscriptcript>
复制代码

8.第八关

还是老样子,可以看到它这里把值传到了两个地方,一个在value另外一个在href,那么我们可以想象到,这里就是需要我们注入正确的Pyload,然后通过href连接来进行注入,href是支持Unicode解码的,以是这里我们需要转换,转化工具百度上搜索即可

  1. javascript:alert()
  2. //编码后
  3. &#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#41;
复制代码

9.第九关

老样子
看来这里它会把不符合要求的东西替换成”您的连接不合法?有没有“

那么我们看看源码

这个代码会查验你输入的内容中有没有”http://“,如果有就正常提交,如果没有,那么就跟上面返回的内容一样了。那么我们只需要加入http://并且表明掉即可
  1. &#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#41;/*http://*/
复制代码

10.第十关

这一关很希奇,你会发现没有输入框,而且前端代码里看不出什么东西,那么我们只能看源码了

可以看到,他在这里做了防止<>的东西,而且把输入框隐蔽了,那么我们需要把这个Type改回来,改成text,我们只需要在构造好的payload后面加入type="text"即可,固然,这是从url注入,
  1. ?t_sort=" οnfοcus=javascript:alert() type="text
复制代码

11.第十一关

有了上一关的经验,我们直接看源码

可以看到,这里面与上一关差别,这一关有了t_ref字段,而这个字段是referer头,那么很显着了,这里用到的是referer注入,我们先通过BP来抓包了

这里我们直接添加或修改referer字段即可,这里它把<>过滤掉了,以是我们用这个
  1. Referer: " οnfοcus=javascript:alert() type="text
复制代码

12.第十二关


换汤不换药,还是一样的把戏,只不外换字段了,这里用的是User-Agent字段,步骤与上一关基本同等
  1. User-Agent:"οnfοcus=javascript:alert() type="text
复制代码


13.第十三关


还是一样,这一次是Cookie值,老样子
  1. Cookie: user="οnfοcus=javascript:alert() type="text
复制代码

14.第十四关

这一关的Payloda是一张图片马,正常情况下打开14关的时间会跳转到一个地方,然后需要在那里上传含有JS代码的图片马,从而到达弹窗的效果,这里由于网站已经制止服务了,如果想做类似这关的标题,可以去试试upload-labs。
15.第十五关

先看源码

可以看到最后一句话很可疑,ng-include,这肯定是通过的关键
想了解的去看看下面大佬总结的
ng-include指令
总的来说,他就是引用外部html连接,默认情况下,包罗的文件需要包罗在同一个域名下,为了让弹窗,我们选用最简单的第一关,这里我们需要选择标签,而且标签必须是可以点击的,
  1. ?src='/level1.php?name=<img src=1 οnerrοr=alert()>'
复制代码
16.第十六关



十六关最大的差别就是它屏蔽了空格键,那么我们可以用其他符号来代替空格,好比换行符%0a,再者,由于它与15关一样,没有可以交互的东西,以是我们这里创造一个可以交互的东西。
  1. ?keyword=<img%0asrc=1%0aonerror=alert(1)>
复制代码

后续关卡都用到了插件,并且与逆向相干,本人暂时还未学习,等学完后会接着更新

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

惊雷无声

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表