任意文件下载

本文探讨了网站文件下载漏洞的常见形式、利用方法及Linux系统中可利用的文件,如passwd、shadow等。通过实例展示了如何利用Pikachu进行文件下载,并分析了真实环境中文件下载的URL解密过程。同时,提出了过滤特殊字符、正则校验和配置open_basedir等修复措施。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

任意文件下载


一些网站由于业务需求,往往需要提供文件查看或文件下载功能,但若对用户查看或下载的文件不做限制,则恶意用户就能够查看或下载任意敏感文件,这就是文件查看与下载漏洞。

一般链接形式:
download.php?path=
down.php?file=data.php?file=
download.php?filename=

或者包含参数:

&Src=
&Inputfile=
&Filepath=
&Path=
&Data=

常规思路

  • 下载常规的配置文件,例如:ssh,weblogic,ftp,mysql等相关配置
  • 下载各种.log文件,从中寻找一些后台地址,文件上传点之类的地方,如果运气好的话会获得一些前辈们的后门。
  • 下载web业务文件进行白盒审计,利用漏洞进一步攻入服务器。
  • 尝试读取/root/.bash_history看自己是否具有root权限。如果没有的话。我们只能按部就班的利用../来回跳转读取一些ssh下的配置信息文件,读取mysql下的.bash history文件。来查看是否记录了一些可以利用的相关信息。然后逐个下载我们需要审计的代码文件,但是下载的时候变得很繁琐,我们只能尝试去猜解目录,然后下载一些中间件的记录日志进行分析。

Linux常见的可以利用的文件

/etc/passwd                 用户信息文件
/etc/shadow                 密码文件
/etc/my.cnf                 mysql配置文件
/etc/httpd/conf/httpd.conf  apache配置文件
/root/.bash_history         用户历史命令记录文件
/root/.mysql_history        mysql历史命令记录文件
/proc/mounts                记录系统挂载设备
/porc/config.gz             内核配置文件
/var/lib/mlocate/mlocate.db 全文件路径
/porc/self/cmdline          当前进程的cmdline参数

pikachu文件下载

image-20210818172715260

通过修改文件名可访问下载其他文件

http://127.0.0.1/pikachu/vul/unsafedownload/execdownload.php?filename=../../../index.php

image-20220416143740138

真实环境——文件下载

dowm.znds.com

下载一个文件后复制其来源地址:

http://222.141.198.208/app.znds.com/down/20210817/dbkgyy_1.7.1_dangbei.apk

但是在网站中直接右键复制链接地址是:

http://down.znds.com/getdownurl/?s=L2Rvd24vMjAyMTA4MTcvZGJrZ3l5XzEuNy4xX2RhbmdiZWkuYXBr

base64编码

L2Rvd24vMjAyMTA4MTcvZGJrZ3l5XzEuNy4xX2RhbmdiZWkuYXBr解密得到

/down/20210817/dbkgyy_1.7.1_dangbei.apk

所以要下载

http://222.141.198.208/app.znds.com/index.php

即访问

http://down.znds.com/getdownurl/?s=aW5kZXgucGhw

漏洞修复

过滤".",使用户在url中不能回溯上级目录

正则严格判断用户输入参数的格式

php.ini配置open_basedir限定文件访问范围

黑白名单

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Shadow丶S

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值