File Read| file-read| 任意文件读取

一.漏洞场景

一些网站的需求,可能会提供文件查看与下载的功能。如果对用户查看或下载的文件没有限制或者限制绕过,就可以查看或下载任意文件。这些文件可以是源代码文件,配置文件,敏感文件等等。也就是在动态文件读取的地方,可以尝试修改文件路径的参数,尝试读取其他文件。

二.漏洞描述

一些网站的需求,可能会提供文件查看与下载的功能。如果对用户查看或下载的文件没有限制或者限制绕过,就可以查看或下载任意文件。这些文件可以是源代码文件,配置文件,敏感文件等等。
●任意文件读取会造成(敏感)信息泄露;
●任意文件读取大概率是由于其他漏洞引发的,如,RCE、目录遍历、文件包含等。
●任意文件读取与任意文件下载本质上没有区别,信息都是从服务端流向浏览器的。

三.漏洞原理

任意文件读取是属于文件操作漏洞的一种,通过提交专门设计的输入,攻击者就可以在被访问的文件系统中读取或写入任意内容,往往能够使攻击者从服务器上获取敏感文件,正常读取的文件没有经过校验或者校验不严格,用户可以控制这个变量或者变量读取任意文件。 一般任意文件读取漏洞可以读取配置信息甚至系统重要文件。
不管是任意文件读取还是任意文件下载,触发漏洞的条件都是相同的:
●存在读取文件的功能(函数),也就是说,Web 应用开放了文件读取功能
●读取文件的路径客户端可控,完全控制或影响文件路径参数;
●没有对文件路径进行校验或者校验不严导致校验被绕过;
●输出了文件的内容。
简单来说网站开启的文件读取功能,但是对文件读取没有做限制或限制不足,导致任意文件读取。

四.漏洞危害

任意文件读取的危害往往大于目录遍历漏洞,任意文件读取不仅会泄露网站的结构目录,一些敏感文件还会被通过构造特殊的字符结构下载下来,比如说…/或者/导致服务器的重要文件信息泄露,比如说…/etc/passwd,…/etc/shodan,~/bash_history等文件,或者下载脚本配置文件,网站文件进一步审计,得到危害更大的漏洞进一步利用
任意文件读取与下载重点关注的文件:
●源代码
●配置文件
●敏感文件
●日志文件
●…

五.漏洞评级

高危

六.漏洞验证


http://127.0.0.1/file.php?filename=../../../../etc/passwd

七.漏洞利用

利用思路
1、一般拿到一个任意文件读取得先判断权限大不大,如果权限够大的话可以直接先把/etc/sadow读下来,权限不够就读/etc/passwd,先把用户确定下来,方便后续操作
2、读取各个用户的.bash_history能翻有用的信息,如编辑一些敏感文件
3、读取程序配置文件(如数据库连接文件,可以利用数据库写shell)
4、读取中间件配置文件(weblogic/tomcat/apache的密码文件、配置文件,确定绝对路径,方便后面读源码)
5、读取一些软件的运维配置文件(redis/rsync/ftp/ssh等等程序的数据、配置、文档记录)
6、读取程序源代码,方便后面做代码审计,找突破口
7、读取web应用日志文件,中间件的日志文件,其他程序的日志,系统日志等(可以网站后台地址、api接口、备份、等等敏感信息)

八.漏洞防御

1.输入验证
●让web 用户只能访问(读取),所需要的文件和路径。
2.避免其他漏洞
●不能有文件包含漏洞,目录遍历漏洞或其他漏洞。
3.限定文件的访问范围
●让用户不能访问Web 根目录以外的路径

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

gaynell

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

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

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

打赏作者

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

抵扣说明:

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

余额充值