文件操作之文件下载(32)

文件操作之文件下载(32)_第1张图片

下载和读取是差不多的情况文件操作之文件下载(32)_第2张图片

 区分

文件被解析,我们称为文件包含漏洞

显示文件的源代码,我们称为文件读取漏洞

提示文件下载,我们称为文件下载漏洞

#文件下载

文件下载出现的原因,在任意代码里面出现下载性的功能性函数所导致的, 

检测的话也是分为白盒和黑盒两种,白盒就代码审计(分析代码),黑盒跟文件包含一样三点,漏洞扫描,一些的公开漏洞对比,还有网站的参数值和功能点(资源下载)

利用,我们一般会下一些常用文件,首页文件,后台文件,日志文件,这种我们统称为可见文件,可见文件就是通过扫描工具或者目录爬行工具能够直接找到文件对应地址,名字叫什么。

一般下载也会下载一些敏感文件,关于数据库的配置文件,各种接口文件,有密匙信息的文件。比如一些网站配置了邮箱自动发送,第三方的接口,这个一般就会配置信息,而那个文件就有记录,接口的一些密匙。如果这些能下载到的话就能到一些敏感信息,

而我们下载出来的文件,都是对我们后续渗透有帮助的,比如我们想得到数据库,下载数据库配置信息,就会得到数据库的账户密码,之后就可以尝试连接他的当前的数据库的,在数据库里面找到网站的相关账号密码后台账户密码,危害相对小一些。

#文件读取漏洞

进行文件读取,获取文件的一个文件的真实代码,产生也是任意代码里面有关于读取性的功能性函数

#打开pikachu靶场演示一下文件下载

文件操作之文件下载(32)_第3张图片

我们随便点击一个图片就可以下载,然后看一下下载地址,和图片的地址有没有什么联系。

文件操作之文件下载(32)_第4张图片

 这样子我们访问最下面那个地址,就能下载到文件,文件操作之文件下载(32)_第5张图片

 这就下载成功了。

然后我们就可以根据源代码的一些提示,可以一步步下载类似文件。我们也可以通过目录爬虫得到他的已知文件,敏感文件要知道她的绝对路径才行,这个可以通过文件扫描,或者下好的文件代码里面去分析,代码也会涉及到类似文件,文件操作之文件下载(32)_第6张图片

 现在就去下载这个文件去试试

文件操作之文件下载(32)_第7张图片

 跳两级之后按理来说已经到了pikachu目录,可以下载出来,但是并没有,我们再打开源代码分析一下

文件操作之文件下载(32)_第8张图片

 所有这个时候我们两个跨级知道了vul目录下,因为还有个download默认下载地方,所以我们还要在跳一级,才能到pikachu目录下面,文件操作之文件下载(32)_第9张图片

 下载了文件操作之文件下载(32)_第10张图片

 在真实环境这个文件可以下载,就更应该去下载一些敏感文件,

问:数据库配置文件是怎么知道的呢,

1,利用扫描工具爬行或者扫描地址跑,比如御剑

2,下载好的文件去分析路径和包含文件获取

就是下载好的文件去翻看它的源码,有没有包含路径或者路径,扫描工具也是可以扫描到的,

演示一下用工具去扫描,这里用的是铸剑文件操作之文件下载(32)_第11张图片

 这里扫描到了一个inc,

文件操作之文件下载(32)_第12张图片

 里面有个config这是因为我的字典比较少,换一个好点的绝对会扫描到config,下载这个config文件打开看看,下载路径下载之后打开看完之后就是所有的信息,账户密码  ht  tp://127.0.0.1/pikachu/vul/inc/config.inc.phphttp://127.0.0.1/pikachu/vul/inc/config.inc.php文件操作之文件下载(32)_第13张图片

所以这个文件下载就是利用这个漏洞,文件扫描出来一些敏感文件地址,下载一些敏感的文件,然后获取到需要的信息,给进一步渗透提供辅助条件。

这么去判断寻找文件下载漏洞

手工去看参数值和功能点(资源下载),

read.xxx?filename=

down.xxx?filename=

readfile.xxx?file=

downfile.xxx?file= 

../ ..\ .\ ./等

%00 ? %23 %20 .等

&readpath=、&filepath=、&path=、&inputfile=、&url=、&data=、&readfile=、&menu=、META-INF=、WEB-INF

完全这种文件命名的时候,一定要注意后满的参数值,

这个文件下载是通用的

下载文件和文件读取漏洞

对应文件:配置文件(数据库,平台,各种等等)有很多文件都可以尝试下的,除了配置文件,关于系统有的默认东西,都有,在网上搜一下,下载漏洞 对应文件文件操作之文件下载(32)_第14张图片

这都是可以试着下载的,

打开测试靶场文件操作之文件下载(32)_第15张图片

 这个网站有下载漏洞,我们就测试一下有没有下载漏洞文件操作之文件下载(32)_第16张图片

 随便下载一个东西文件操作之文件下载(32)_第17张图片

 文件操作之文件下载(32)_第18张图片

 文件操作之文件下载(32)_第19张图片

 下载链接s=base64加密值,拿去解密一下试试

文件操作之文件下载(32)_第20张图片

 文件操作之文件下载(32)_第21张图片

 完整地址,base64加密只是为了迷惑

 访问这个地址的时候就会下载那个软件,为了测试可不可以下载别的,所以在这个网站里面找一下down下面的别的东西,图片什么的都可以 ,只要在那个dwon之下,查看网站的数据找一下文件操作之文件下载(32)_第22张图片

 这个大概率是可能有文件下载漏洞,老师因为时间缘故没有找到是什么源码,假如是php源码,就去下载个文件,就用上面的方法base64加密之后,再去访问,因为他的程序里面会解码一次,

这个案列就告诉我们,下载漏洞去哪里测试,下载漏洞这么判断存在

就去找有下载功能的,然后看参数值。

#RoarCTF考题(需登录) 

 打开靶场文件操作之文件下载(32)_第23张图片

 然后下面那个help复制一下链接文件操作之文件下载(32)_第24张图片

 就是这个网站,我们可以看到filenam=help.docx,这就是一个典型的文件下载,参数去传递个help.docx,我们肯定要测试一下

文件操作之文件下载(32)_第25张图片

 访问完之后提示,未发现这个文件,help.docx丢失,这个是什么原因造成的,这个和java的开发有关,文件下载参数一般会以post传递,而我们用的get传的,所以换成post方式,文件操作之文件下载(32)_第26张图片

 然后就下载好了,我们打开这个文件看看,文件操作之文件下载(32)_第27张图片

 javaweb开发里面有一个配置文件,叫WEB-INF/web.xml,可以在网上搜关于这个文件它的含义,他这个里面就有网站的配置信息,去下载这个配置文件。文件操作之文件下载(32)_第28张图片

 然后用burp抓包,再去放那个网站,在重发器里面再发一次就可以看到对应的文件信息文件操作之文件下载(32)_第29张图片

 文件操作之文件下载(32)_第30张图片

 就有这个flag文件,然后去访问他会报错,没用一般文件目录错误,需要去找她的一般文件,这就涉及到web组成的架构信息了文件操作之文件下载(32)_第31张图片

 一般就是看他的控制器,文件操作之文件下载(32)_第32张图片

 对应的目录应该是,文件操作之文件下载(32)_第33张图片

 我们看一下就下载到了,文件然后用burp抓包,在重发器里面看一下文件操作之文件下载(32)_第34张图片

这就是通过上传漏洞进行的flag的提取,这个就是通过网站上面某一个地址和文件下载参数相关,考的是java的。

#百度杯2017二月-Zone真题复现-比赛拓展

打开靶场文件操作之文件下载(32)_第35张图片

 点一下左上角的mini-zone就会出现如下的提示文件操作之文件下载(32)_第36张图片

 所以登录之后肯定有点东西,我们这里运用文件下载去,再点击刚刚那个按钮文件操作之文件下载(32)_第37张图片

 文件操作之文件下载(32)_第38张图片

 再点击那个manage,然后抓住数据包,再修改为1,发送出去

文件操作之文件下载(32)_第39张图片

 文件操作之文件下载(32)_第40张图片

 这个数据包是关键,上面写着module(框架),简称为mvc,后续的涉及到的不是文件上传,老师就在网上搜了一下,

 网上的答案就是这个,后面加上类似的文件名字,数据包里面的name是他的格式,这一关超出了现在讲的知识点,

这一关为什么在那个地方修改,是因为,这个地址应该是指向的对应文件,我尝试修改对应文件,来实现指定文件的读取。

这一关就是这给意义,更改那个值,实现读取

ss

你可能感兴趣的:(安全)