任意文件的上传和下载

1.任意文件下载(高危)

  •  定义

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

  •     可以下载(参数没有限制)

任意文件的上传和下载_第1张图片

可以通过../上一级的形式猜测下载配置文件,获取系统的账号密码

任意文件的上传和下载_第2张图片

  • 挖洞的方式

        一般链接形式:
            download.php?path=
            down.php?file=
            data.php?file=
            download.php?filename=
        或者包含参数:
            &Src=
            &Inputfile=
            &Filepath=
            &Path=
            &Data=

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

        下载常规的配置文件,例如: ssh,weblogic,ftp,mysql等相关配置
        下载各种.log文件,从中寻找一些后台地址,文件上传点之类的地方,如果运气好的话会获得一些前辈们的后门。
        下载web业务文件进行白盒审计,利用漏洞进一步攻入服务器。

  •   防御方法(漏洞修复)

        1.过滤".",使用户在url中不能回溯上级目录
        2.正则严格判断用户输入参数的格式
       3. php.ini配置open_basedir限定文件访问范围
            限制路径,只可以在这个路径下下载东西

任意文件的上传和下载_第3张图片

2.任意文件上传(高危) 

2.1客户端

 通过js检测,在burp内抓包,将扩展名改为.php

 检测代码出现script就是前端

任意文件的上传和下载_第4张图片

上传.jpg的形式,在burp进行抓包

任意文件的上传和下载_第5张图片

 在burp里面更改文件扩展名

任意文件的上传和下载_第6张图片

在upload里面存在hao.php 

任意文件的上传和下载_第7张图片

首先取消拦截,复制图片地址

任意文件的上传和下载_第8张图片

http://10.0.0.130:91/upload/upload/hao.php

任意文件的上传和下载_第9张图片

2.2 服务端 

  • 黑名单

 上传特殊可解析后缀  .php3  .php5       修改apache配置文件,加入,php3和.php5,重启

插入.php3或者.php5

任意文件的上传和下载_第10张图片

 http://10.0.0.130:91/upload/upload/202309121802212705.php3  不能解析

任意文件的上传和下载_第11张图片

修改apache配置文件,加入,php3和.php5,重启

任意文件的上传和下载_第12张图片

刷新页面,显示出来

任意文件的上传和下载_第13张图片

 .htaccess   先上传.htaccess文件,在上传ha.jpg,会被解析为.php

先上传.htaccess文件

任意文件的上传和下载_第14张图片

上传hao.jpg图片

任意文件的上传和下载_第15张图片

 http://10.0.0.130:91/upload/upload/hao.jpg   会被解析为php

任意文件的上传和下载_第16张图片

 利用PHP和 Windows环境的叠加特性4.php:.jpg

通过抓包改文件名为4.php:.jpg,以4.<形式传输文件内容

 上传jpg图片

任意文件的上传和下载_第17张图片

通过burp抓包改为  4.php:.jpg

任意文件的上传和下载_第18张图片

上传的为php形式,大小为零

任意文件的上传和下载_第19张图片

找到放包的历史记录

任意文件的上传和下载_第20张图片

文件名改为4.<或4.<<<或4.>>>或4.>><后

任意文件的上传和下载_第21张图片

有了大小

任意文件的上传和下载_第22张图片

 http://10.0.0.130:91/upload/upload/4.php

任意文件的上传和下载_第23张图片

大小写混合绕过,把1.php改为1.phP 

任意文件的上传和下载_第24张图片

 改名为hao.phP

任意文件的上传和下载_第25张图片

 http://10.0.0.130:91/upload/upload/202309121935184766.phP

任意文件的上传和下载_第26张图片

空格和点,写成1.php .  

任意文件的上传和下载_第27张图片

 改名为  hao.php  .

任意文件的上传和下载_第28张图片

任意文件的上传和下载_第29张图片

  文件流特性绕过  ::$DATA

任意文件的上传和下载_第30张图片

 hao.php::$DATA 

任意文件的上传和下载_第31张图片

这个扩展名出不来

任意文件的上传和下载_第32张图片

 ::$data  要把这个删掉

任意文件的上传和下载_第33张图片

点空格点绕过   hao.php.  .    

任意文件的上传和下载_第34张图片

 文件名改为hao.php.  .

任意文件的上传和下载_第35张图片

任意文件的上传和下载_第36张图片

 双后缀名绕过   hao.pphphp  

任意文件的上传和下载_第37张图片

任意文件的上传和下载_第38张图片

任意文件的上传和下载_第39张图片

 ISS低版本5.x-6.x

目录解析   文件夹目录的扩展名为脚本扩展名,下面无论是什么文件都会被当成脚本解析(asp.cdx.asa.cer等)

打开网站2,新建一个文件夹C:\wwwtest\XYCMS

任意文件的上传和下载_第40张图片

没有权限

任意文件的上传和下载_第41张图片

  添加权限,重命名为123.asp

任意文件的上传和下载_第42张图片

复制一个asp  

任意文件的上传和下载_第43张图片

改名为jpg

任意文件的上传和下载_第44张图片

http://10.0.0.130:82/123.asp/123.jpg  访问 

任意文件的上传和下载_第45张图片

 ISS低版本5.x-6.x    文件解析    123.asp;.jpg

任意文件的上传和下载_第46张图片

浏览器访问为图片

任意文件的上传和下载_第47张图片

改为123.asp;.jpg

 http://10.0.0.130:82/123.asp;.jpg 

任意文件的上传和下载_第48张图片

IIS7.5解析漏洞     fix_pathinfo   

在物理机搭建网站

任意文件的上传和下载_第49张图片

任意文件的上传和下载_第50张图片

任意文件的上传和下载_第51张图片

任意文件的上传和下载_第52张图片

任意文件的上传和下载_第53张图片

在搜索栏输入iis点击

任意文件的上传和下载_第54张图片
打开phpstudy 切换到iis

任意文件的上传和下载_第55张图片

任意文件的上传和下载_第56张图片

 

任意文件的上传和下载_第57张图片

查看端口
                      任意文件的上传和下载_第58张图片      

任意文件的上传和下载_第59张图片

任意文件的上传和下载_第60张图片

访问出现403   可以正常访问了

任意文件的上传和下载_第61张图片

上传图片访问
是带有木马的图片

任意文件的上传和下载_第62张图片

/.php加上这个

任意文件的上传和下载_第63张图片

去掉这个勾

任意文件的上传和下载_第64张图片

被解析了 

任意文件的上传和下载_第65张图片

apache   从右往左开始解析,直到认识的为止

命名为不认识的形式 

任意文件的上传和下载_第66张图片

nginx       /.php   fix_pathinfo与这个有关     

切换中间件

任意文件的上传和下载_第67张图片

 将phpinfo.php改为phpinfo.jpg

任意文件的上传和下载_第68张图片

应该为一个图片

任意文件的上传和下载_第69张图片

 /.php加上这个被解析为php

任意文件的上传和下载_第70张图片

为0是被防御,为1存在漏洞

任意文件的上传和下载_第71张图片

  漏洞被防御 

任意文件的上传和下载_第72张图片

  • 白名单 

白名单00截断

条件:php版本要小于5.3.4,5.3.4及以上已经修复该问题;magic_quotes_gpc(魔术符号)需要为OFF状态
只能为.jpg形式

%00截断  

任意文件的上传和下载_第73张图片

 hao.php%00    看一下版本 php版本要小于5.3.4,5.3.4及以上已经修复该问题;magic_quotes_gpc需要为OFF状态

任意文件的上传和下载_第74张图片

任意文件的上传和下载_第75张图片

 二进制00截断

 ../upload/hao.php      多打几个空格,将第一个空格改为00

任意文件的上传和下载_第76张图片

任意文件的上传和下载_第77张图片

将第一个空格改为00

任意文件的上传和下载_第78张图片

  改完后如果不变恢复一下默认值,重启burp

任意文件的上传和下载_第79张图片

 直接访问木马即可

MIME绕过     Content-Type: image/gif  改头部信息         

任意文件的上传和下载_第80张图片

任意文件的上传和下载_第81张图片

Content-Type: image/gif  改为这个

任意文件的上传和下载_第82张图片

任意文件的上传和下载_第83张图片

  • 检查文件内容 

 文件包含    将扩展名改为png        文件包含  图片和木马结合文件包含

将D:\VStart50\tools\漏洞利用\edjpgcom图片插入一句话工具中的test.jpg拖进一句话工具(随机插入在任何地方) 

任意文件的上传和下载_第84张图片

 插入一句话木马

任意文件的上传和下载_第85张图片

右键打开图片可以看见有一句话木马

任意文件的上传和下载_第86张图片

右键复制图片地址http://10.0.0.130:91/upload/upload/3820230913144850.jpg

任意文件的上传和下载_第87张图片

点击文件包含漏洞

任意文件的上传和下载_第88张图片

参数给变量,无论是什么形式都以脚本(php)解析

任意文件的上传和下载_第89张图片

拼接http://10.0.0.130:91/upload/include.php?file=./upload/3820230913144850.jpg 查看图片以脚本执行了

任意文件的上传和下载_第90张图片

 使用菜刀连接服务器

任意文件的上传和下载_第91张图片

任意文件的上传和下载_第92张图片

图片上传不了加头   上传的jpg图片右键查看变为gif要修改头   

任意文件的上传和下载_第93张图片

含有一句话木马的jpg格式上传不了

任意文件的上传和下载_第94张图片

头部添加GIF89a

任意文件的上传和下载_第95张图片

以头来命名

任意文件的上传和下载_第96张图片

 二次渲染
 图片带有一句话木马传到服务器,服务器检测通过,通过函数把图片生成一个新的图片,以前的删掉,二次渲染的图片一句话木马就没有了

  • 其他

条件竞争
服务器先允许你上传文件,然后检测是否合法,不合法再删除,我们要利用的就是在服务器删除前,访问到我们上传的php。
快速上传快速访问,服务器生成一个文件,不会被删除

任意文件的上传和下载_第97张图片

任意文件的上传和下载_第98张图片

任意文件的上传和下载_第99张图片

清除变量

任意文件的上传和下载_第100张图片

任意文件的上传和下载_第101张图片

开始攻击

任意文件的上传和下载_第102张图片

任意文件的上传和下载_第103张图片

会时不时出现一个文件

任意文件的上传和下载_第104张图片

 访问tj.php         http://192.168.134.1:90/upload/upload/tj.php

任意文件的上传和下载_第105张图片

抓一个包

任意文件的上传和下载_第106张图片

发送给测试器

任意文件的上传和下载_第107张图片

 清除变量         

任意文件的上传和下载_第108张图片

任意文件的上传和下载_第109张图片

 线程数改为1

任意文件的上传和下载_第110张图片

 会生成一个新的qing.php

任意文件的上传和下载_第111张图片

两个同时开启一个上传,一个访问

服务器生成一个新的qing.php

任意文件的上传和下载_第112张图片

访问服务器生成的qing.php,不会被删掉

任意文件的上传和下载_第113张图片

  •     上传重命名竞争+Apache解析漏洞

  

任意文件的上传和下载_第114张图片

 把php改名了

 发送给测试器快速点发送

任意文件的上传和下载_第115张图片

可能会有一个两个没有被改名字 

任意文件的上传和下载_第116张图片

你可能感兴趣的:(常见的漏洞,安全)