文件操作之文件下载读取漏洞

文件下载读取漏洞原理

一些提供了文件查看或者下载功能的web应用在对用户查看或下载的文件没有限制的情况下,导致恶意用户能够查看或下载任意敏感文件

文件漏洞不同类型

 文件包含: 文件被解析执行

 文件读取: 显示源代码

 文件下载: 文件被下载

文件读取的利用方式

数据库配置文件下载或读取后续
接口密匙信息文件下载或读取后续

如何获取敏感文件地址呢?

扫面工具爬行或扫描地址

下载好的文件代码中去分析路径和包含文件获取

目录扫描

漏洞检测:

url中包含以下关键词:

相关功能点:下载功能

file,download,read等

read.xxx?filename=

down.xxx?filename=

readfile.xxx?file=

downfile.xxx?file=

DownloadServlet?filename=

../ ..\ .\ ./等

%00 ? %23 %20 . 等

&readpath=,&filepath=,&path=,&inputfile=,&url=,&data=,

&readfile=,&menu=,META-INF=,WEB-INF

敏感文件路径

当某站点存在该路径时候可以下载敏感文件。

Windows:
C:\boot.ini //查看系统版本
C:\Windows\System32\inetsrv\MetaBase.xml //IIS配置文件
C:\Windows\repair\sam //存储系统初次安装的密码
C:\Program Files\mysql\my.ini //Mysql配置
C:\Program Files\mysql\data\mysql\user.MYD //Mysql root
C:\Windows\php.ini //php配置信息
C:\Windows\my.ini //Mysql配置信息
Linux
/root/.ssh/authorized_keys //如需登录到远程主机,需要到.ssh目录下,新建authorized_keys文件,并将id_rsa.pub内容复制进去
/root/.ssh/id_rsa //ssh私钥,ssh公钥是id_rsa.pub
/root/.ssh/id_ras.keystore //记录每个访问计算机用户的公钥
/root/.ssh/known_hosts
//ssh会把每个访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts。当下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同,OpenSSH会发出警告, 避免你受到DNS Hijack之类的攻击。
/etc/passwd // 账户信息
/etc/shadow // 账户密码文件
/etc/my.cnf //mysql 配置文件
/etc/httpd/conf/httpd.conf // Apache配置文件
/root/.bash_history //用户历史命令记录文件
/root/.mysql_history //mysql历史命令记录文件
/proc/self/fd/fd[0-9]*(文件标识符)
/proc/mounts //记录系统挂载设备
/porc/config.gz //内核配置文件
/var/lib/mlocate/mlocate.db //全文件路径
/porc/self/cmdline //当前进程的cmdline参数
java+apache站点:
/conf/tomcat-users.xml
/WEB-INF/classes/applicationContext.xml
/WEB-INF/web.xml
/etc/httpd/conf/httpd.conf
/etc/apache2/httpd.conf
/etc/apache2/apache2.conf
nginx服务器:
/etc/nginx/nginx.conf
/usr/local/nginx/conf/nginx.conf
/usr/local/etc/nginx/nginx.conf

靶场以及实战案例分析

靶场

down

正常看到的是传递的参数filename=kb.png获取指定下载的文件地址,要是我们更改下载的文件地址就会形成文件下载漏洞

http://localhost/vul/unsafedownload/download/kb.png
这个是网站的存储的文件地址

我们进行修改跳转

http://localhost/pikachu-master/vul/unsafedownload/execdownload.php?filename=../down_nba.php

down源码

成功触发漏洞,../表示返回上一级。

实战案例

智能电视应用市场_安卓电视软件商店_Android TV APP下载_智能电视游戏下载_ZNDS智能电视网

该站点就存在下载漏洞:

不过他的url里面的参数是被加密过的参数,要进行相应的解密再进行加密传参修改利用。

111

CTF

https://buuoj.cn/challenges#%5BRoarCTF%202019%5DEasy%20Java

解题思路:

爬虫扫描地址-分析参数名参数值-文件操作安全-对应脚本

修改提交方式测试-读取 WEB 配置文件 WEB-INF/web.xml

访问读取对应地址-访问读取 flag 对应 class 文件-(WEB-INF/classes/com/wm/ctf/FlagController.class)

ctf

小米路由器任意文件下载漏洞

漏洞详情地址:

复现成功!

222

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发

请登录后发表评论