任意文件下载漏洞,正常的利用手段是下载服务器文件,如脚本代码,服务器配置或者是系统配置等等。但是有的时候我们可能根本不知道网站所处的环境,以及网站的路径,这时候我们只能利用./ ../来逐层猜测路径,让漏洞利用变得繁琐。

漏洞介绍

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

利用条件

* 存在读文件的函数

* 读取文件的路径用户可控且未校验或校验不严

* 输出了文件内容

漏洞危害

下载服务器任意文件,如脚本代码、服务及系统配置文件等

可用得到的代码进一步代码审计,得到更多可利用漏洞

漏洞挖掘

可以用Google hacking或Web漏洞扫描器

Google search利用

inurl:"readfile.php?file="

从链接上看,形如:

    • download.php?path=• download.php?file=• down.php?file=• data.php?file=• readfile.php?file=• read.php?filename=

从参数名看,形如:

    • &RealPath=• &FilePath=• &filepath=• &Filepath=• &Path=• &path=• &inputFile=• &Inputfile=• &url=• &urls=• &Lang=• &dis=• &data=• &Data=• &readfile=• &filep=• &src=• &menu=• META-INF• WEB-INF

当遇到一个任意文件下载时,我们的一般利用思路:

下载常规的配置文件,例如: ssh,weblogic,ftp,mysql等相关配置

下载各种.log文件,从中寻找一些后台地址,文件上传点之类的地方,如果运气好的话会获得一些前辈们的后门。

下载web业务文件进行白盒审计,利用漏洞进一步攻入服务器。

以上是正常情况下的利用思路,Daybreak在从事行业到现在,将这些思路进行延伸,整理分析出了自己的一套思路。

当我们遇到一个任意文件下载漏洞时首先要注意下载的权限问题。因为权限决定我们能下载的文件范围。

尝试读取/root/.bash_history看自己是否具有root权限。如果没有的话。我们只能按部就班的利用../来回跳转读取一些.ssh下的配置信息文件,读取mysql下的.bash_history文件。来查看是否记录了一些可以利用的相关信息。然后逐个下载我们需要审计的代码文件,但是下载的时候变得很繁琐,我们只能尝试去猜解目录,然后下载一些中间件的记录日志进行分析。

如果我们遇到的是java+oracle/ jsp+oracle环境,

可以先下载/WEB-INF/classes/applicationContext.xml 文件,这里面记载的是web服务器的相应配置,然后下载/WEB-INF/classes/xxx/xxx/ccc.class对文件进行反编译,然后搜索文件中的upload关键字看是否存在一些api接口,如果存在的话我们可以本地构造上传页面用api接口将我们的文件传输进服务器。

如果具有root权限

这时候很多人肯定会说  具有root权限直接去读shadow文件了  但是很多时候我们遇到的服务器可能只对外开放了 80,443两个端口这时候我们即使获得了密码作用也不打,但是具备root权限对任意文件下载利用是绝对的。

在linux中有这样一个命令 locate 是用来查找文件或目录的,它不搜索具体目录,而是搜索一个数据库/var/lib/mlocate/mlocate.db。这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次。

当我们不知道路径是什么的情况下,这个可以说是一个核武器了,我们利用任意文件下载漏洞将mlocate.db文件下载下来,利用locate命令将数据输出成文件,这里面包含了全部的文件路径信息。

locate 读取方法

locate mlocate.db admin

可以将mlocate.db中包含admin内容全部输出来

利用这个文件我们可以获取到该服务器任何我们想要的内容并下载出来而不用一个一个去猜解目录,但是这个文件只有root用户才能读取。

另一方面我们也可以利用linux内核的一个文件/proc/self/cmdline当前进程的cmdline参数,可以获取到路径信息。

总体来说,任意文件下载漏洞的利用主要是为了信息收集,我们通过对服务器配置文件的下载,获取到大量的配置信息、源码,从而根据获取的信息来进一步挖掘服务器漏洞从而入侵。

以下整理了一些下载利用文件。

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配置信息

C:\Windows\win.ini //Windows系统的一个基本系统配置文件

Linux:

/root/.ssh/authorized_keys

/root/.ssh/id_rsa

/root/.ssh/id_ras.keystore

/root/.ssh/known_hosts //记录每个访问计算机用户的公钥

/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参数

漏洞验证

• index.php?f=../../../../../../etc/passwd

• index.php?f=../index.php

• index.php?f=file:///etc/passwd

注:当参数f的参数值为php文件时,若是文件被解析则是文件包含漏洞,

若显示源码或提示下载则是文件查看与下载漏洞

修复方案

* 过滤.(点),使用户在url中不能回溯上级目录

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

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

参考链接

http://mp.weixin.qq.com/s/iYwd0vIlratE_t_VasroLA

作者:reber

链接:https://www.jianshu.com/p/f4b06f59c4cb

來源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

知识要大家一起分享,但带上原文链接是对作者的尊重。

转载于:https://www.cnblogs.com/oneWhite/p/11176185.html

任意文件下载漏洞学习相关推荐

  1. 华平信息技术股份有限公司 AVCON6 系统管理平台存在任意文件下载漏洞

    文章目录 华平信息技术股份有限公司 AVCON6 系统管理平台存在任意文件下载漏洞 1. AVCON6 2.漏洞描述 3.影响版本 4.fofa 查询语句 5.漏洞复现 6.POC&EXP 7 ...

  2. 渗透测试-任意文件下载漏洞

    任意文件下载概述 任意文件下载利用 任意文件下载挖掘 任意文件下载防御 一.任意文件下载概述 文件下载功能 许多网站都具备文件下载功能,某些文件下载功能实现过程是,根据参数filename的值,获得该 ...

  3. 山东大学软件学院项目实训-创新实训-山大软院网络攻防靶场实验平台(十三)-任意文件下载漏洞(1)

    目录 前言: 一.任意文件下载 1.任意文件下载漏洞简介 1.1.简介 1.2.危害 1.3.利用 1.4.防范 2.项目配置 前言: 前面的博客记录了关于文件上传漏洞的基础知识,以及基本的漏洞出现点 ...

  4. 山东大学软件学院项目实训-创新实训-山大软院网络攻防靶场实验平台(十四)-任意文件下载漏洞(2)

    目录 前言: 3.编写"任意文件下载漏洞"后台 4.编写"任意文件下载漏洞"前台 5.运行测试 前言: 前面的博客记录学习任意文件下载漏洞相关知识,并思考如何构 ...

  5. 致远OA任意文件下载漏洞(CNVD-2020-62422)

    文章目录 漏洞描述 影响版本 payload poc 漏洞复现 修复补丁 漏洞描述 致远OA存在任意文件下载漏洞,攻击者可利用该漏洞下载任意文件,获取敏感信息 影响版本 致远OA A6-V5 致远OA ...

  6. (原创)浅谈任意文件下载漏洞的利用

    文章写的一般,如果有错误的地方,请指教~ 0x01 任意文件下载常见利用方式 0x02 信息收集部分 0x03 代码审计部分 0x04 总结 0x01 前言 在web语言中,php和java常常会产生 ...

  7. AVCON6 系统管理平台 download.action 任意文件下载漏洞

    漏洞描述: 华平信息技术股份有限公司是一家视讯产品与应用提供商,掌握视频处理.视音频编解码和网络适应性等.AVCON6 系统管理平台 download.action 存在任意文件下载漏洞,攻击者通过漏 ...

  8. 任意文件下载漏洞知识点

    文章目录 资料下载 任意文件下载 漏洞描述 利用条件 漏洞危害 漏洞发现 链接上 参数上 案例 漏洞利用 利用原理 windows路径 linux路径 修复建议 摘抄 资料下载 点击 下载 https ...

  9. 金蝶协同办公平台任意文件下载漏洞(无需登录)

    经测试发现,该系统存在任意文件下载,且无需登录 存在漏洞的文件: /oa/admin/application/file_download.jsp?filePath=http://x.x.x.x:789 ...

  10. 大华城市安防监控系统平台管理存在任意文件下载漏洞

    大华城市安防监控系统平台管理存在任意文件下载漏洞 1.大华城市安防监控系统平台管理存在任意文件下载漏洞 1.1.漏洞描述 1.2.漏洞影响 1.3.FOFA 2.漏洞复现 2.1.登录页面 2.2.抓 ...

最新文章

  1. WCF+Nhibernate 序列化的问题。
  2. Go语言从入门到精通 -【web项目实战篇】- Json详解
  3. Lumen开发:Lumen的异常处理机制
  4. IntelliJ IDEA添加过滤文件或目录(转)
  5. VTK:Rendering之SpecularSpheres
  6. 我们在雪地撒野——51cto众人滑雪图片集
  7. 有着 30 多年经验的程序员最终被辞退了
  8. android 通过浏览器下的apk无法安装_安卓手机必备,文件管理利器!ES文件浏览器特别版安卓软件...
  9. jdk 动态代理基本例子
  10. 强大的RSS阅读器 Reeder 4 for Mac 4.1.1
  11. (附源码)spring boot校园购物网站 毕业设计041037
  12. 女装网 www.nzw.com.cn
  13. 微信小程序Canvas卡顿优化解决方法
  14. (原创) EXCEL集成工具箱V8.0 闪亮登场 (EXCEL插件)
  15. Java JVM内存模型(运行时数据区域)详解
  16. Windows8 强致用户使用Metro 界面风格
  17. 图床/图片服务器项目详细设计
  18. 电商搜索全链路(PART I)Overview
  19. 企业家故事|“中国最帅的CEO”套现离场,曾获马云百亿投资(上)
  20. 彻底删除软件,无限期使用试用版软件

热门文章

  1. 16个 Redis 常见使用场景,面试有内容聊啦
  2. 吐血整理!必须收藏,44条代码优化细节
  3. Redis百亿级Key你用过吗?
  4. 微信新版隐藏的野心!
  5. 针对大的sql文件删除行操作
  6. dom4j解析XML文件,通过属性查找节点,出现异常
  7. ECSHOP去掉收货人信息中邮件必填选项
  8. 强烈推荐深入浅出jBPM
  9. iOS xcode The certificate used to sign Administrator has either expired or has been revoked. An u
  10. 视图分割与视图间通信资料汇总!