0
点赞
收藏
分享

微信扫一扫

【国信安实训】——文件上传漏洞

kmoon_b426 2022-03-11 阅读 96

文章目录


(一) 漏洞概念

文件上传漏洞,直面意思可以利用WEB上传一些特定的文件。一般情况下文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。文件上传本身是web中最为常见的一种功能需求,关键是文件上传之后服务器端的处理、解释文件的过程是否安全。一般的情况有:

  1. 上传Web脚本语言,服务器的WEB容器解释并执行了用户上传的脚本,导致代码执行。
  2. 上传Flash策略文件crossdomain.xml,以此来控制Flash在该域下的行为。
  3. 上传病毒、木马文件,攻击者用以诱骗用户或管理员下载执行。
  4. 上传钓鱼图片或包含了脚本的图片,某些浏览器会作为脚本执行,实施钓鱼或欺诈。

(二) 漏洞原理

开发人未对上传点上传的文件类型和内容进行正确的识别和处理,导致攻击者上传网站脚本(一般是webshell)进行使网站服务器被控制。

(三) 漏洞利用条件

  1. 上传点
  2. 开发人员未正确识别和处理非法文件
  3. 攻击者通过网页上传
  4. 攻击者知道木马地址
  5. 攻击者能访问木马;如果功能不正常,请检查
    a) 菜刀所在攻击机能否访问靶机的网页(是否能通信)
    b) 菜刀中添加的木马地址和配置是否正确
    c) 虚拟网关工作是否正常
  6. 木马能够被解析

(四) 漏洞危害

条件允许的情况下,攻击者可能能实现对服务器文件的查看和更改,实现对服务器的进程的管理等其他控制功能。

(五) 修复思路

  1. 上传文件的存储目录禁用执行权限
  2. 文件的后缀白名单,注意0x00截断攻击
  3. 不能有本地文件包含漏洞
  4. 及时修复web上的代码
  5. 升级web server

(六) 漏洞利用过程

任务一:部署Upload-Labs

任务二:一句话木马编写和中国菜刀利用**

  1. 编写PHP一句话木马

    <?php eval($_GET['cmd']); ?>
    <?php eval($_POST['cmd']); ?>
    <?php eval($_REQUEST['cmd']); ?>
    
  2. 浏览器访问当前一句话木马,并通过木马执行phpinfo()函数
    在这里插入图片描述

  3. 使用中国菜刀管理目标服务器
    a) 克隆一台攻击机,要求使用链接克隆减少克隆时间
    b) 解压中国菜刀到攻击机中
    c) 使用中国菜刀管理webshell:①在靶机桌面上新建一个自己学号姓名为文件名的文本文档;②查看靶机ip

任务三:upload-labs靶场1-12关

  1. 主要思路
    先尝试上传.php文件,查看报错信息或是查看源码发现问题,最终通过burp suite抓包进行修改,实现.php文件的成功上传。
  2. 部分截图
    在这里插入图片描述
    1. 点击【显示源码】按钮,发现源码中对扩展名后点号(.)未进行处理。
      在这里插入图片描述

    2. Burp Suite 改包,在请求报文中将php扩展名后面添加一个点号(.),然后放包在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

(七) 漏洞绕过方式总结

  1. 前端限制绕过
  2. 后端绕过
  3. 黑名单绕过
    1. 大小绕过
    2. 生僻扩展名绕过
    3. 扩展名加空格绕过
    4. 扩展名加点号绕过(Win)
    5. 扩展名加::$DATA绕过(Win)
    6. 双写绕过
    7. content-type绕过
    8. htaccess绕过
    9. 利用处理流程的漏洞绕过
  4. 白名单绕过
举报

相关推荐

0 条评论