【Pikachu 靶场精讲】目录遍历

admin 2023年12月14日20:53:11评论31 views字数 786阅读2分37秒阅读模式

什么是目录遍历漏洞

在 Web 功能设计中,很多时候我们会要将需要访问的文件定义成变量,从而让前端的功能便的更加灵活, 当用户发起一个前端的请求时,便会将请求的这个文件的值(比如文件名称)传递到后台,后台再执行其对应的文件

在这个过程中,如果后台没有对前端传进来的值进行严格的安全考虑,则攻击者可能会通过../这样的手段让后台打开或者执行一些其他的文件,从而导致后台服务器上其他目录的文件结果被遍历出来,形成目录遍历漏洞

需要区分一下的是,如果你通过不带参数的url(比如:http://xxxx/doc)列出了doc文件夹里面所有的文件,这种情况,我们称为敏感信息泄露,而并不归为目录遍历漏洞

源码分析

核心代码如下,文件路径:pikachu-mastervuldirdir_list.php

$html='';
if(isset($_GET['title'])){
    $filename=$_GET['title'];
    require "soup/$filename";
}
?>

这里从 Get 请求中提取 title 参数作为$filename函数的值,并且后端直接把传进来的内容进行了require()函数的执行,故我们可以修改 URL 中的 title 参数实现目录遍历【Pikachu 靶场精讲】目录遍历

Pikachu 靶场实践

直接修改 title 参数即可实现任意文件读取,这里尝试读取win.ini(windows 配置文件)【Pikachu 靶场精讲】目录遍历

这里解释一下为什么要写四个../,先说一下路径

  • 当前路径:D:phpstudy_proWWWpikachu-mastervuldir
  • win.ini路径:C:Windows

之前我们说过,../就相当于“上一级”,所以这里填写四次就是因为需要跳转四次到 C 盘的位置(D 盘和 C 盘在同一层级),然后再寻找 C 盘下的/windows/win.ini路径【Pikachu 靶场精讲】目录遍历

原文始发于微信公众号(天禧信安):【Pikachu 靶场精讲】目录遍历

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年12月14日20:53:11
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【Pikachu 靶场精讲】目录遍历http://cn-sec.com/archives/2300511.html

发表评论

匿名网友 填写信息