• 任意文件的上传和下载


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

    •  定义

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

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

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

    • 挖洞的方式

            一般链接形式:
                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限定文件访问范围
                限制路径,只可以在这个路径下下载东西

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

    2.1客户端

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

     检测代码出现script就是前端

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

     在burp里面更改文件扩展名

    在upload里面存在hao.php 

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

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

    2.2 服务端 

    • 黑名单

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

    插入.php3或者.php5

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

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

    刷新页面,显示出来

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

    先上传.htaccess文件

    上传hao.jpg图片

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

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

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

     上传jpg图片

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

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

    找到放包的历史记录

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

    有了大小

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

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

     改名为hao.phP

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

    空格和点,写成1.php .  

     改名为  hao.php  .

      文件流特性绕过  ::$DATA

     hao.php::$DATA 

    这个扩展名出不来

     ::$data  要把这个删掉

    点空格点绕过   hao.php.  .    

     文件名改为hao.php.  .

     双后缀名绕过   hao.pphphp  

     ISS低版本5.x-6.x

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

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

    没有权限

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

    复制一个asp  

    改名为jpg

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

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

    浏览器访问为图片

    改为123.asp;.jpg

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

    IIS7.5解析漏洞     fix_pathinfo   

    在物理机搭建网站

    在搜索栏输入iis点击


    打开phpstudy 切换到iis

     

    查看端口
                                

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

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

    /.php加上这个

    去掉这个勾

    被解析了 

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

    命名为不认识的形式 

    nginx       /.php   fix_pathinfo与这个有关     

    切换中间件

     将phpinfo.php改为phpinfo.jpg

    应该为一个图片

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

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

      漏洞被防御 

    • 白名单 

    白名单00截断

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

    %00截断  

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

     二进制00截断

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

    将第一个空格改为00

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

     直接访问木马即可

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

    Content-Type: image/gif  改为这个

    • 检查文件内容 

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

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

     插入一句话木马

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

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

    点击文件包含漏洞

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

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

     使用菜刀连接服务器

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

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

    头部添加GIF89a

    以头来命名

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

    • 其他

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

    清除变量

    开始攻击

    会时不时出现一个文件

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

    抓一个包

    发送给测试器

     清除变量         

     线程数改为1

     会生成一个新的qing.php

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

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

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

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

      

     把php改名了

     发送给测试器快速点发送

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

  • 相关阅读:
    【web渗透】SSRF漏洞超详细讲解
    有人会做媒体交互设计类的吗,需要厉害一点的,有偿有偿!!
    肖sir___面试就业课程____app
    广东MES系统实现设备管理的方法与功能
    Vue2.0开发之——loader打包处理less文件(07)
    深入理解Java ArrayList集合及其源码详解
    Swift —— Moya和高阶函数
    oracle学习89-oracle之基本的sql_select语句之课后练习
    前端笔记(5) Vue3 reactive ref 使用和区别
    登录ip地址异常怎么办
  • 原文地址:https://blog.csdn.net/2301_79194110/article/details/133071094