精选文章

这可有意思了,通过浏览器就可以搞定你,任意文件读取漏洞

2019-09-24 18:05:16 | 来源:中培企业IT培训网

在一个月黑风高的晚上,我看着我的浏览器在静静发呆,唇角微微一笑,内心其实在狂喜,好开心。

预知后事如何,且继续往下看。

其实是因为我刚刚利用浏览器直接把一个数据库文件给下载下来了,里面好多小姐姐的QQ号,感觉做了不得了 的事情,才有上述诡异的现象产生。

我使用的是任意文件读取漏洞,因此下载到了数据。

照例解释一下原理。

一、原理

大家来回想一下,我们是不是经常下载文件呢? 

对,我认为答案必然是肯定的,下载无处不在,网盘下载文件,网站链接下载文件等等。

为什么啊?

问题明显就出现在这里了,很多网站由于需要提供下载的功能,这种功能会带来很不幸的消息,不管是为了节省成本或者其它的一些未知原因,总之就是代码里面没有对这个下载路径做一些限制,直接通过绝对路径就可以下载文件,然后黑客就可以利用这个缺陷下载服务器的私密文件,也就是上述我说的小姐姐的联系方式。

那么具体方式指的的是哪些呢?

比如说是附件/文档/图片等等,只要可以被下载到的资源,这些都可以算进去。

好好回想一下,都有哪些常用的就可以明白了。

本文因为环境不方便部署的原因,只做一个基于windows的漏洞复现。

对了很多时候使用一种方式来演示一个任意文件读取漏洞,这个验证方式叫做POC。

解释一下POC是什么。

是Proof of concept的缩写,在黑客圈是指,观点验证程序,运行这个程序可以得出预期的结果,从而验证出来观点,正确还是错误。

简单说就是验证有没有存在,是一个编写好的程序。

二、场景

应用的地方就是上述我提到的,获取联系方式只是其中一种,主要会有网站后台登录密码等关键信息。

我们看一下格式,这是之前讲到过的GoogHacking的一篇文章里面的手法,具体的自己翻一下文章。

inurl:"readfile.php?file="

inurl:"download.php?file="

inurl:"read.php?filename="

早期的文章或多或少的提到过,网站一般是部署在windows或者Linux服务器上面,当然了,很多都是在Linux服务器上面,这也就导致读取路径有了一些差别,如果想灵活利用,那么这些路径你需要牢牢记住,下面来看一下具体的区别。

windows:

C:oot.ini  //查看系统版本

C:WindowsSystem32inetsrvMetaBase.xml  //IIS配置文件

C:Windows epairsam  //存储系统初次安装的密码

Linux:

/etc/passwd

/etc/shadow

/etc/hosts

/root/.bash_history   //root的bash历史记录

莫名的很亲切。

说白了,这种漏洞利用方式的前提是,你需要对网站的结构很了解,这样才能知道一些目录的路径位置所在。

照例接下来是一个实验,由于环境原因,这次使用windows的任意文件读取漏洞,下面是实验。

三、实验

来演示一个基于windows系统的读取。

创建两个账号:zhongpei和zhongpeitest账户。

接下来分别登陆两个账号,进行测试,对了这个验证方法是POC。

先说一下思路,先使用账号zhongpei登陆,并且创建一个txt文件,然后写入一些信息,最后使用test的测试账号读取出来这个信息。

1、写信息

登陆zhongpei账号,并且创建一条信息,叫做welcome to zhongpei!

2、读信息

使用测试账号zhongpeitest进行任意文件读取操作。

心里默默的说一句,so easy,看好了。

成功读取到了,这个演示windows读取方式。

四、总结

任意文件读取漏洞就是下载限制不严格导致的,严重的直接读取数据库的信息,很危险。所以网站权限需要注意,可以设置为Root。

windows的敏感信息:

C:oot.ini //查看系统版本

C:WindowsSystem32inetsrvMetaBase.xml //IIS配置文件

C:Windows epairsam //存储系统初次安装的密码

C:Program Filesmysqlmy.ini //Mysql配置

C:Program Filesmysqldatamysqluser.MYD //Mysql root

C:Windowsphp.ini //php配置信息

C:Windowsmy.ini //Mysql配置信息


标签: 信息安全