任意文件下载漏洞

admin 2022年11月11日14:58:05评论78 views字数 1467阅读4分53秒阅读模式

任意文件下载漏洞

简介:

很多网站由于业务需求,会给用户提供一些文件下载的地方,例如一些附件下载的地方,如果此时文件下载是通过路径的方式提供下载,并且路径参数是前端提交数据包到后端的,那么恶意用户就可以修改路径从而下载服务器的一些敏感文件或者网站源码等,对服务器进行进一步的攻击

漏洞原理实例:

某网站附件下载处存在如下链接:

http://example.com/download.php?file=/uploadfile/test.pdf

如果这里没有对file参数做严格的过滤,并且在配置文件中限制文件的访问范围,那么用户可以通过修改file参数内容,回溯上级目录下载服务器的敏感文件或源码,例如用户提交如下链接

http://example.com/download.php?file=/uploadfile/../../../../../etc/passwd

那么就可以下载服务器中的/etc/passwd文件

漏洞检测:

找到下载文件时通过路径提交文件参数的地方,通过../回溯上级目录,可以下载到一些敏感文件或者系统文件,那么就存在任意文件下载漏洞

漏洞利用:

下载源码进行代码审计,寻找网站的更多漏洞,对网站进行进一步的攻击

下载网站配置文件,例如数据库连接文件,获取数据库账密进行远程连接

下载系统文件,给出一些常用的系统敏感文件

Unix/liux系统
/etc/passwd 存储操作系统用户信息,该文件为所有用户可见
/etc/shadow 存储用户登录名密码等信息
/etc/group 存储有关本地用户组的信息
/usr/local/resin-3.0.22/conf/resin.conf 3.0.22的RESIN配置文件
/usr/local/resin-pro-3.0.22/conf/resin.conf /usr/local/app/apache2/conf/extra/httpd-vhosts.conf APASHE虚拟主机
/etc/httpd/conf/httpd.conf或/usr/local/apche/conf /httpd.conf linux APACHE虚拟主机配置文件
/usr/local/resin-3.0.22/conf/resin.conf 3.0.22的RESIN配置文件
/usr/local/resin-pro-3.0.22/conf/resin.conf /usr/local/app/apache2/conf/extra/httpd-vhosts.conf APASHE虚拟主机
/etc/sysconfig/iptables 查看防火墙策略
/root/.mysql_history、/root/.bash_history Mysql账号密码信息

Windows系统
C:\boot.ini 查看系统版本
C:\windows\system32\inetsrv\MetaBase.xml IIS配置文件
C:\windows\repair\sam 存储Windows系统初始安装密码
C:\\Program files\mysql\my.ini mysql配置
C:\\Program Filed\mysql\data\mysql\user.MYD Mysql root
C:\\windows\php.ini php配置信息
C:\\windows\my.ini Mysql配置文件

常见场景:

文件下载处

漏洞防御:

过滤文件下载参数中的"."和"/"以防止回溯上级目录

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

不使用路径方式提供下载

FROM:无垠の安全

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年11月11日14:58:05
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   任意文件下载漏洞https://cn-sec.com/archives/1404255.html

发表评论

匿名网友 填写信息