portswigger靶场中目录遍历

没有人挡得住,你疯狂的努力进取。你可以不够强大,但你不能没有梦想。如果你没有梦想,你只能为别人的梦想打工筑路。

导读:本篇文章讲解 portswigger靶场中目录遍历,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

1.Bp靶场介绍

  Bp靶场有点类似于常见的DVWA靶场、piachu靶场,里面富含多种不同类型的漏洞,并且每个靶场都有针对性,例如sql注入,从最简单的判断开始,逐步的增加难度,并且每一个靶场都附带介绍以及通过方式,能够让新人快速的了解原理并且针对性练习。

1.1.访问靶场

  靶场链接:所有实验室|网络安全学院 (portswigger.net)

1.2.注意事项

  这个靶场是在线靶场,并且是HTTPS,若需要抓包解决需要,安装HTTPS证书,可以参考我的文章进行抓取HTTPS流量。
  抓取HTTPS流量文章链接:文章链接
  同时靶场是全英文的,但是有页面翻译也还好,能够看懂,尽量使用Edge浏览器,翻译更准确一点。
  burpsuite安装链接:文章链接

2.目录变量漏洞

  这里不在叙述原理,因为在靶场的下方都提供了相应的官方解释,我再叙述无非就是多此一举,这里写过关教程,也只是我的笔记。

2.1.文件路径遍历

  这里让我们检索内容 /etc/passwd文件。

2.1.1.开启靶场

在这里插入图片描述

2.1.2.点击详情

  这里我们随便点击一个内容,查看内容。
在这里插入图片描述

2.1.3.抓包

  这里我们点击后,进行抓包,慢慢放包,会发现出现读取图片的链接,后面我们会对这个链接进行修改测试。
在这里插入图片描述

2.1.4.修改参数

  这里我们需要修改filename=11.jpg,由于这里是读取图片的地址,那么通过链接可以看出,图片是放在网站的根目录,那么我们需要读取/etc/passwd,我们就需要回到根目录下进行范围,那么我们就可以根据这个问题构建payload。

payload:../../../etc/passwd

  这里为什么知道输入多少个…/呢?测试呀,一个不行加两个,两个不行加三个不就测试出来了么!
在这里插入图片描述

2.1.5.过关

  这里过关,需要将原先抓取到的数据包,也修改,然后关闭拦截,让页面进行刷新,就可以过关了,不行的话就手动刷新。
在这里插入图片描述

2.2.用绝对路径旁路阻止遍历序列

  该应用程序块穿越序列,但对待所提供的文件作为正在相对默认的工作目录。要解决的实验室,检索内容 /etc/passwd文件。

2.2.1.开启靶场

在这里插入图片描述

2.2.2.修改参数

  这里为什么直接修改参数呢,因为前置都是一样的,都是抓包,这里我就跳过了,直接抓包修改参数,这里提示我们是绝对路径,那么根据这个构建我们的payload。

payload:/etc/passwd

在这里插入图片描述

2.2.3.过关

  这里还是一样修改数据包,然后关闭拦截,刷新页面。
在这里插入图片描述

2.3.非递归地剥离遍历序列

  这里确实简单来说,就是对之前一直使用…/进行过滤了一边,那么像这个过滤,我们可以使用双写绕过,也就是它过滤一边,那么我们写两遍即可。

2.3.1.开启靶场

在这里插入图片描述

2.3.2.修改参数

  这里是经过过滤,那么我们就可以通过上面的分析,构建我们的payload。这里抓包过程还是一样的。

payload:....//....//....//etc/passwd

在这里插入图片描述

2.3.3.过关

在这里插入图片描述

2.4.用多余的URL解码剥离遍历序列

  这里简单来说,就是/被过滤了,那么过滤了可以使用编码进行绕过。

2.4.1.开启靶场

在这里插入图片描述

2.4.2.编码

  找个网站对其进行URL编码两次即可,第一次/编码成%2F,然后再编码成%252F即可。burp上自带的编码好像编出来的不对。
在这里插入图片描述

2.4.3.修改参数

  根据获取到的编码然后构建payload。

payload:..%252F..%252F..%252Fetc%252Fpasswd

在这里插入图片描述

2.4.4.过关

  这里还是一样哦,修改后取消拦截,刷新页面。
在这里插入图片描述

2.5.验证路径起始

  这里对图片的访问是绝对路径查询了,也就是说之前可以直接返回根目录进行查找,而现在,若之前返回根目录查找就会出现拦截情况。现在必须带上前面的路径,那么根据特性,可以再后面添加呀。

2.5.1.开启靶场

在这里插入图片描述

2.5.2.验证路径

在这里插入图片描述

2.5.3.修改参数

  这里根据之前我们分析的,可以再文件的路径上再添加路径进行返回,然后查询即可,那么就可以构建payload了。

payload:/var/www/images/../../../etc/passwd

  那么这里就相当于再images目录下,退回到www然后再退回到var然后再退回到根,开始查找etc/passwd。
在这里插入图片描述

2.5.4.过关

在这里插入图片描述

2.6.空字节旁路验证文件扩展名

  这里对访问文件的后缀进行了验证,那么这里我们在更改的时候就需要加上原先的后缀。

2.6.1.开启靶场

在这里插入图片描述

2.6.2.修改参数

  通过前面的分析,对后缀添加验证了,那么我们在修改完参数后,把后缀添加上去,例如这里是.jpg,那么在修改的时候就需要把.jpg添加上去,但是添加上去会使我们访问的路径出现错误,那么这里就需要考虑,将后缀在完成验证后,能不产生效果,那么就可以使用空字节%00,那么就可以根据这个构建payload即可。

payload:../../../etc/passwd%00.jpg

在这里插入图片描述

2.6.3.过关

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/133418.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!