您现在的位置是:探索 >>正文

web目录遍历漏洞

探索678人已围观

简介一个晴朗的下午,我随手点开某政府网站的“信息公开”栏目,本想查一份红头文件。页面正常加载,文件正常下载。但职业习惯让我多看了一眼地址栏——?dir=../../../../etc/passwd。回车, ...

一个晴朗的录遍历漏下午,我随手点开某政府网站的录遍历漏“信息公开”栏目,本想查一份红头文件。录遍历漏页面正常加载,录遍历漏文件正常下载。录遍历漏但职业习惯让我多看了一眼地址栏——?录遍历漏dir=../../../../etc/passwd。回车,录遍历漏浏览器里跳出一串冒号分隔的录遍历漏账号列表。没有登录框,录遍历漏没有验证码,录遍历漏连个警告弹窗都没有。录遍历漏

这就是录遍历漏web目录遍历漏洞。说人话,录遍历漏就是录遍历漏服务器没拦住用户往上级目录爬。攻击者把路径里的录遍历漏../像叠罗汉一样堆上去,一路爬出网站根目录,看到服务器上其他不该看的文件。原理简单得像个笑话,但现实中它比大多数高深漏洞都致命。

我见过最离谱的一次,是某电商平台的备份文件直接躺在/backup/目录下,文件名就叫db_2023.sql。遍历进去,几万条用户手机号、收货地址、支付记录整整齐齐躺在文本文档里。那感觉就像看到有人把保险柜钥匙挂在门口,还贴了张纸条写着“请自取”。

这类漏洞的根源,是开发者对用户输入过度信任。他们写了file_get_contents($_GET['file']),就以为用户只会传about.php。没人规定攻击者必须按套路出牌。更糟的是,很多老代码从十年前的论坛源码里复制粘贴过来,连过滤函数都没加。你问他们为什么不修?答曰:“系统跑得好好的,改坏了谁负责?”——这种心态比漏洞本身更危险。

检测方法倒不复杂。手动测的话,在URL参数后面挨个试../、..%2f、..%5c,看响应里有没有/etc/passwd或者boot.ini的特征字符串。用工具的话,Burp Suite的Intruder模块能自动跑字典,五分钟扫完一百个参数。但说实话,我更喜欢手工测——那种一步步试探出系统边界的快感,自动化工具给不了。

修复方案也直白:要么对用户输入做白名单校验,只允许特定文件名;要么把文件操作限制在固定目录内,用绝对路径拼接而不是相对路径。PHP里realpath()函数能检查最终路径是否越界,Java里Path.normalize()也能干这事。但最关键的,是别把敏感文件放在web根目录附近——哪怕你过滤做得再严,哪天漏个零日绕过,备份文件照样裸奔。

有个细节很多人忽略:Windows服务器上..\也能遍历,但很多开发者只过滤了正斜杠。还有URL编码的变体,%2e%2e%2f就是../的十六进制写法,有些过滤规则只看明文,编码一绕就穿。这就像锁门时只锁了门把手,忘了还有窗户。

写这篇文章前,我刚在某个漏洞平台上提交了一个新案例——某医院的体检报告查询系统,通过遍历能下载任意患者的CT影像。提交完报告,我盯着那个?file=report_2024.pdf的参数看了很久。修这个漏洞只需要三行代码,但那个医院的信息科可能永远不知道,他们每天维护的系统,其实像筛子一样漏风。

Tags:

相关文章

  • 外国挖矿网页在线

    探索

    打开浏览器,地址栏敲一串字符,回车——你的电脑就开始帮别人挖矿了。这不是科幻片,是过去几年里真实发生过的事,而且现在还在发生。有个叫Coinhive的网站,2017年火过一阵,它给网页嵌了一段Java ...

    【探索】

    阅读更多
  • 业界强大的漏扫工具

    探索

    Nessus Professional 依然是许多安全团队的首选。它扫描速度快,插件库更新勤快,覆盖的漏洞类型极其全面。你随便挑一个CVE,它通常当天就能出检测规则。但它的价格不便宜,每年授权费对个人 ...

    【探索】

    阅读更多
  • 不漏脚趾头的凉鞋

    探索

    去年夏天我在广州的城中村闲逛,看见一个卖水果的大姐穿着双黑色凉鞋,鞋头包得严严实实,只露出脚后跟那截带子。她正弯腰给顾客挑芒果,我注意到她的大脚趾甲涂着褪了色的红蔻丹,在鞋头里若隐若现——那画面突然让 ...

    【探索】

    阅读更多


友情链接