hvv 文件上传和文件包含考点

news2024/9/29 13:20:43

天眼如何判断文件上传漏洞是否成功

  • 数据包分析
    • 观察客户端请求数据:是否包含webshell流量特征
    • 观察服务器返回信息:是否有“上传成功”或“success upload”等信息提示
  • 尝试寻找上传的文件:访问上传的文件看是否存在;查看文件上传的目录,去目录下查找文件是否存在;
  • 通过分析平台日志查看:如果存在文件上传企图告警,且根据数据包到分析平台查看是否有脚本文件的访问记录,如果有成功访问脚本文件记录,则文件上传成功。天眼->分析中心->日志检索,检索语法:uri:(‘webshell文件名’)。如果上传脚本文件被重命名,就筛选出攻击IP对服务器的web协议的访问流量进行分析
  • 漏扫测试:用工具测试cms是否存在已知的文件上传漏洞

文件上传的特征、绕过方式

可能需要说的是文件上传的检测手段(根据哪些特征检测)以及对应的绕过方法
[图片]

  • 扩展名检测
    • 客户端检测。但客户端检测可以用burp抓包后修改文件后缀绕过或者修改禁用js代码绕过;
    • 服务端检测
      • 黑名单
        1. 看看有无漏网之鱼。比如 iis6.0 中的 asa 和 cer,能被web容器解析的文件其他扩展名列表:
          jsp, jspx ,jspf
          asp asa cer cdx,htr,xml,html
          aspx,ashx,asmx,asax,ascx
        2. 大小写绕过。可能存在大小写绕过漏洞 - 比如 aSp(iis6.0 中可以)和 pHp(只能在 小于 php5.3.39 中的 linux 中)之中
        3. 特殊后缀名绕过。php改成php1,php2,php3,php4,php5,需要在http.conf中有AddType application/x-httpd-php .php1且php 的版本小于等于 5.3.29 以下
        4. 双写绕过。比如过滤并且将php替换为空,则可以将上传木马后缀改为pphphp
        5. 上传htaccess。前提是mod_rewrite模块开启并且AllowOverride All
      • 白名单
        • IIS中的目录解析漏洞和分号解析漏洞 :将一句话木马的文件名 backlion.php,改成 backlion.php.abc(奇怪的不被解析的后缀名都 行)。首先, 服务器验证文件扩展名的时候,验证的是.abc,只要该扩展名符合服务器端黑白名单规则,即可上传。
        • nginx %00截断 xxx.jpg%00.php 这样的文件名会被解析为php代码运行。
        • apache 的解析漏洞,上传如 a.php.rar a.php.gif 类型的文件名,可以避免 对于php文件的过滤机制,但是由于 apache 在解析文件名的时候是从右向左读,如果遇到不能识别的扩展名则跳过,rar 等扩展名是 apache 不能识别的, 因此就会直接将类型识别为 php,从而达到了注入php代码的目的。
  • MIME检测
    http 请求 Header 头部中的 Content-Type 存在以下特征:
    Content-Type: multipart/form-data; boundary=xxxx
    绕过的方法就是通过修改Content-Type的值,比如修改为image/jpeg;image/png;image/gif等等允许上传类型对应的MIME值
    有些主机 WAF 软件为了不影响web服务器的性能,会对校验的用户数据设置 大小上限,比如 1M。此种情况可以构造一个大文件,前面 1M 的内容为垃圾内 容,后面才是真正的木马内容,便可以绕过 WAF 对文件内容的校验;’ Content-Type 类型数据后添加垃圾数据
  • 文件内容检测
    • 可能会检测文件内容中是否包含指定文件类型的特征,比如GIF89a,直接加上就行
    • 有的 WAF 在解析的时候,认为 Content-Disposition 值一定是 form-data,造成绕过,删除 Content-Disposition 值的 form-data 绕过
    • 早期版本安全狗,可以多加一个 filename 在一个 Content-Disposition 中,存在多个 filename ,协议解析应该使用最 后的filename 值作为文件名

文件包含的危害

文件包含漏洞的产生原因是通过php的函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,就可能导致意外的文件泄露(file://)甚至恶意的代码注入(php://input)
(1)读取web配置文件以及敏感的数据
(2)web服务器的文件被用户浏览导致信息泄露
(3)与文件上传漏洞结合getshell,将恶意代码执行解析
(4)脚本被任意执行,导致网站被篡改
[图片]

通过天眼的告警详情中的url和响应体可以判断文件包含漏洞,比如url中是否存在目录遍历…/以及响应体中是否泄露了敏感的文件,查看天眼->分析中心->日志检索,uri:(‘…/’)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/687738.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Redisson分布式锁-源码分析

Redisson分布式锁整体流程图 Redisson分布式锁源码流程图 Redisson分布式锁源码解析 获取分布式锁lock private void lock(long leaseTime, TimeUnit unit, boolean interruptibly) throws InterruptedException {//获取当前线程IDlong threadId Thread.currentThread().get…

参与 2023 第二季度官方 Flutter 开发者调查

Flutter 3.10 已经正式发布,每个季度一次的 Flutter 开发者调查也来啦!邀请社区的各位成员们填写: 调研旨在了解你对 Flutter 的满意程度以及对其各个子系统的反馈。你的意见将对我们改进 Flutter 的功能和性能产生重要影响。 在这次调研中&a…

Linux——软硬链接的理解

目录 那什么是链接? 链接命令的生成: 实验案例: 硬链接概念: 软链接概念: 情况1:删除myfile.txt: 情况2:重新创建一个新的myfile.txt文件: 软链接作用&#xff1…

推特引流:社交引流的技巧与方法

推特是一个广泛使用的社交媒体平台,可以用于引流和推广您的品牌、产品或服务。以下是一些社交引流的技巧和方法,可以帮助您在推特上获得更多的关注和流量: 优化个人资料:确保您的推特个人资料完整并具有吸引力。包括一个清晰的头…

yolov8-02 训练自己的数据集

1. 准备数据集 数据集格式跟yolov5一样,关于如何准备数据集可见之前的文章。 2. 创建 mydata.yaml 格式参考coco128.yaml,主要是 train / validate文件的存放路径,可以是同一个。 在ultralytics-main/ultralytics/datasets中,…

【Linux】ubuntu20.04安装ansys2023r1教程--超详细

一、安装包及其和谐文件 双击挂载 二、在ubuntu上安装依赖项 执行命令sudo apt install build-essential xterm libmotif-dev libxtst-dev libxt-dev libzip-dev libxmu-dev tcl tk lsb csh xfonts-75dpi xfonts-100dpi wine 弹出一个提示,需要去下载一个171MB的压…

Simulink 中基于 FPGA 的波束成形:算法设计(附源码)

一、前言 本示例显示了在 Simulink中开发适用于在硬件(如现场可编程门阵列 (FPGA))上实现的波束成形器的工作流程的前半部分。它还演示如何将实现模型的结果与行为模型的结果进行比较。 示例 Simulink 中基于 FPGA 的波束成形&…

shell 数组 ${array[@]} ${array[*]}的使用及区别

数组定义 shell中用括号来表示数组,数组元素间使用空格隔开。 例如: a(1 2 3 4) 表示a数组且有元素为1,2,3,4 也可单个元素逐步来赋值 b[1]"a" b[2]"b" b[3]"c" echo ${b[]} # a b c 关联数组 定义关联数组&#xf…

论文翻译:Segment Anything

论文地址:https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresearch/segment-anything 数据集地址:https://ai.facebook.com/datasets/segment-anything/ “Segment Anything"项目旨在通过引入新的任务、数据集…

决定AI大模型胜负的关键:解读数据在未来竞争中的角色

随着人工智能的迅猛发展,高质量数据的重要性已愈发明显。以大型语言模型为例,近年来的飞跃式进展在很大程度上依赖于高质量和丰富的训练数据集。相比于GPT-2,GPT-3在模型架构上的改变微乎其微,更大的精力是投入到了收集更大、更高…

声卡设备无法正常工作或初始化的原因和解决方法

先来一个小科普,声卡设备是电脑中负责处理音频信号的硬件部件,它需要与相应的声卡驱动程序配合使用,才能让电脑发出或录制声音。 不过,自带声卡的设备或是自行匹配的声卡设备,也经常出现声卡设备无法正常工作或初始化…

通过Jenkins实现Unity多平台自动打包以及相关问题解决

简介 通过本文可以了解到如何在windows和mac上部署Jenkins。并且通过Jenkins实现Unity在IOS,安卓和PC等多平台自动打包的功能,并且可以将打包结果通过飞书机器人同步到飞书群内。优化工作流,提高团队的开发效率。文末记录了实际使用Jenkins时遇到的各种问…

Leetcode44 通配符匹配

给你一个输入字符串 (s) 和一个字符模式 (p) ,请你实现一个支持 ? 和 * 匹配规则的通配符匹配: ? 可以匹配任何单个字符。 * 可以匹配任意字符序列(包括空字符序列)。 判定匹配成功的充要条件是:字符模式必须能够 完…

真心靠谱 Ubuntu18.04 换源 国内阿里云私服

本篇 blog 真心靠谱 1、备份原来的默认源 cp /etc/apt/sources.list{,.bak} 2、换阿里云的源(需要稍作修改) 直接使用阿里云的会报错 https://developer.aliyun.com/mirror/ubuntu 以上报错:是https证书问题,网上有人说安装证…

基于改进ISODATA算法的负荷场景曲线聚类MATLAB程序

参考文献: 基于机器学习的短期电力负荷预测和负荷曲线聚类研究_张辰睿(硕士论文) 参考其第三章 主要内容: 主要包含四种聚类算法,K-means聚类、ISODATA聚类、L-ISODATA聚类及K-L-ISODATA聚类,并且包含了…

JSch登录sftp时发现需要Kerberos身份验证

本问记录使用JSch登录sftps时遇到的Kerberos验证问题并记录了解决方法 项目场景: 项目开发中使用了SFTP,debug调试程序时发现了每次都需要手动输入 Kerberos的口令信息。这就很奇怪了难道每次连接SFTP时候都需要手动输入吗? 日志如下&#x…

RPC核心原理详解

什么是RPC? RPC的全称是Remote Procedure Call,即远程过程调用。简单解读字面上的意思,远程肯定是指要跨机器而非本机,所以需要用到网络编程才能实现,但是不是只要通过网络通信访问到另一台机器的应用程序&#xff0c…

基于Dubbo分布式学校信息管理系统设计与实现

一、引言 1.1 课题背景 随着时代的发展与进步,计算机网络也随之日益完善,渐渐覆盖了我们生活的各个方面。在信息化和数字化的时代背景下,使用计算机管理学校信息来提升教育工作的质量和效率,是大势所趋,所以近年来,随着网络技术的不断发展,使用信息管理系统的学校越来…

云原生时代数据治理的变革与创新

随着数字化进程的深入,企业对数据的依赖日益加深,数据资源的重要性愈发凸显。如何管好、用好数据,做好数据治理工作,发挥数据资源价值,成为企业提质增效过程中的重要议题。 在本次直播中,我们介绍了数据治…

leetcode:191. 位1的个数

难度:简单 编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 1 的个数(也被称为汉明重量)。 提示: 请注意,在某些语言(…