day33WEB 攻防-通用漏洞文件上传中间件解析漏洞编辑器安全

news2024/10/6 8:26:44

目录

一,中间件文件解析漏洞-IIS&Apache&Nginx

-IIS 6 7 文件名 目录名

-Apache 换行解析 配置不当

1、换行解析-CVE-2017-15715

2、配置不当-.htaccess 配置不当

-Nginx 文件名逻辑 解析漏洞

1、文件名逻辑-CVE-2013-4547

2、解析漏洞-nginx.conf 配置不当

二,Web 应用编辑器-Ueditor 文件上传安全

三,实例 CMS&平台-中间件解析&编辑器引用


本章节知识点:
1 、中间件安全问题
2 、中间件文件上传解析
3 Web 应用编辑器上传
前置知识:
后门代码需要用特定格式后缀解析,不能以图片后缀解析脚本后门代码 ( 解析漏洞除外 )
如: jpg 图片里面有 php 后门代码,不能被触发,所以连接不上后门
如果要图片后缀解析脚本代码,一般会利用包含漏洞或解析漏洞,还
.user.ini&.htaccess
文件上传漏洞测试思路和步骤
1,看中间件是什么,有没有报出过漏洞
2,看文件上传是引用外部的编辑器还是程序员自己编写,如果是引用外部的编辑器就看是什么编辑器,然后查看此编辑器有没有爆出过漏洞,是否可以利用
3,如果是程序员自己编写,那就根据代码逻辑黑盒测试

一,中间件文件解析漏洞-IIS&Apache&Nginx

-IIS 6 7 文件名 目录名

1 、文件名: x.asp;.x.jpg
2 、目录名: x.asp/x.jpg
3 IIS7.X Nginx 解析漏洞一致
漏洞利用条件:
1,是这中间件
2,上传文件能不能修改上传目录或者上传的文件名能增加命名
如果上传的文件名固定或者目录也无法修改,那么这个解析漏洞就无用武之地

-Apache 换行解析 配置不当

1、换行解析-CVE-2017-15715

 漏洞环境:https://vulhub.org/#/environments/httpd/CVE-2017-15715/

2.4.0~2.4.29 版本中存在一个解析漏洞
漏洞利用条件:
1,是这个中间件
2,黑名单验证(在黑名单的后缀不让上传php jsp等),就可以通过php%0a绕过黑名单,但是需要保证这个后缀是能够正常解析的脚本代码。如果是白名单可能不行(在白名单里面才可以上传jpj,png,gif 等),但是如果没有考虑以最后一个点为后缀,通过1.jpj.php%0a的形式也可能能够绕过。
漏洞复现
启动靶场
xiaodi@ubuntu:~/vulhub-master/httpd/CVE-2017-15715$ sudo docker-compose build
xiaodi@ubuntu:~/vulhub-master/httpd/CVE-2017-15715$ sudo docker-compose up -d
上传一个名为1.php的文件,被拦截:
在1.php后面插入一个 \x0A(注意,不能是 \x0D\x0A,只能是一个 \x0A),不再拦截:
访问刚才上传的 /1.php%0a,发现能够成功解析,但这个文件不是php后缀,说明目标存在解析漏洞:
关闭靶场
xiaodi@ubuntu:~/vulhub-master/httpd/CVE-2017-15715$ sudo docker-compose down
2、配置不当-.htaccess 配置不当

 漏洞环境:https://vulhub.org/#/environments/httpd/apache_parsing_vulnerability/

AddHandler application/x-httpd-php .php

在有多个后缀的情况下,只要一个文件含有 .php后缀的文件即将被识别成PHP文件,没必要是最后一个后缀。利用这个特性,将会造成一个可以绕过上传白名单的解析漏洞。
漏洞利用条件:
1,是这个中间件
2,文件名需要基于本地命名为准(就是文件上传后文件名不会被修改)
漏洞复现
启动靶场
xiaodi@ubuntu:~/vulhub-master/httpd/apache_parsing_vulnerability$ sudo docker-compose build
xiaodi@ubuntu:~/vulhub-master/httpd/apache_parsing_vulnerability$ sudo docker-compose up -d

环境运行后,访问http://your-ip/uploadfiles/apache.php.jpeg即可发现,phpinfo被执行了,该文件被解析为php脚本。

http://your-ip/index.php中是一个白名单检查文件后缀的上传组件,上传完成后并未重命名。我们可以通过上传文件名为xxx.php.jpgxxx.php.jpeg的文件,利用Apache解析漏洞进行getshell。

关闭靶场

xiaodi@ubuntu:~/vulhub-master/httpd/apache_parsing_vulnerability$ sudo docker-compose down

-Nginx 文件名逻辑 解析漏洞

漏洞利用条件:符号中间件即可测试
1、文件名逻辑-CVE-2013-4547
影响版本: Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7
漏洞环境:https://vulhub.org/#/environments/nginx/CVE-2013-4547/
漏洞复现
启动漏洞
xiaodi@ubuntu:~/vulhub-master/nginx/CVE-2013-4547$ sudo docker-compose build
xiaodi@ubuntu:~/vulhub-master/nginx/CVE-2013-4547$ sudo docker-compose up -d

这个环境是黑名单验证,我们无法上传php后缀的文件,需要利用CVE-2013-4547。我们上传一个“1.gif ”,注意后面的空格:

访问 http://your-ip:8080/uploadfiles/1.gif[0x20][0x00].php,即可发现PHP已被解析:
关闭漏洞
xiaodi@ubuntu:~/vulhub-master/nginx/CVE-2013-4547$ sudo docker-compose down

2、解析漏洞-nginx.conf 配置不当
漏洞环境:https://vulhub.org/#/environments/nginx/nginx_parsing_vulnerability/
由此可知,该漏洞与 Nginx php 版本无关,属于用户配置不当造成的解析漏洞。
漏洞复现
启动漏洞
xiaodi@ubuntu:~/vulhub-master/nginx/nginx_parsing_vulnerability$ sudo docker-compose up -d

访问http://your-ip/uploadfiles/nginx.png

访问http://your-ip/uploadfiles/nginx.png/.php

关闭漏洞

xiaodi@ubuntu:~/vulhub-master/nginx/nginx_parsing_vulnerability$ sudo docker-compose down

二,Web 应用编辑器-Ueditor 文件上传安全

利用代码:

<form
action="http://192.168.46.139/net/controller.ashx?action=catchima
ge" enctype="multipart/form-data" method="POST">
<p>shell addr: <input type="text" name="source[]" /></p>
<input type="submit" value="Submit" />
</form>

 

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

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

相关文章

ECharts 中 Legend自定义可以使用svg标签

效果图&#xff1a; legend图例加载svg标签 在ECharts中&#xff0c;图例(legend)组件的formatter属性允许你自定义图例文本的格式。但是&#xff0c;formatter属性不支持直接加载SVG标签或Html。它接受一个字符串或者一个函数作为输入&#xff0c;并不能解析或渲染SVG。 如果…

探索 DevOps 中的自动化技术

DevOps 是一种强调开发与 IT 运营之间合作的软件开发范式&#xff0c;主要依靠自动化来优化流程、提高生产力并确保及时、可靠的软件交付。以下是对 DevOps 不可或缺的关键自动化技术的探索&#xff1a; 1.持续集成/持续部署&#xff08;CI/CD&#xff09; 在 DevOps 领域&…

WebSocket服务端数据推送及心跳机制(Spring Boot + VUE):

文章目录 一、WebSocket简介&#xff1a;二、WebSocket通信原理及机制&#xff1a;三、WebSocket特点和优点&#xff1a;四、WebSocket心跳机制&#xff1a;五、在后端Spring Boot 和前端VUE中如何建立通信&#xff1a;【1】在Spring Boot 中 pom.xml中添加 websocket依赖【2】…

Java程序设计(猜拳、猜数字、猜硬币)

前言 Java实现简单的程序设计&#xff0c;包含猜拳、猜数字和猜硬币&#xff0c;实现玩家和电脑之间的互动&#xff0c;电脑每次出的结果实现随机&#xff0c;玩家选择需要玩的游戏&#xff08;猜拳、猜数字、猜硬币&#xff09;&#xff0c;选择需要进行的局数。 界面设计 程…

pcl+vtk(十四)vtkCamera相机简单介绍

一、vtkCamera相机 人眼相当于三维场景下的相机&#xff0c; VTK是用vtkCamera类来表示三维渲染场景中的相机。vtkCamera负责把三维场景投影到二维平面&#xff0c;如屏幕、图像等。 相机位置&#xff1a;即相机所在的位置&#xff0c;用方法vtkCamera::SetPosition()设置。 相…

k8s的安全机制

k8s是分布式集群管理工具&#xff0c;k8s作用是容器编排 1、安全机制核心&#xff1a;API server。API server作为整个集群内部通信的中介&#xff0c;也是外部控制的入口&#xff0c;所有的安全机制都是围绕api sserver来进行设计的。请求api server资源要满足3个条件&#x…

数据结构篇-02:最小栈

对于这道题&#xff0c;除了 getMin 外的功能&#xff0c;传统的 栈 结构中都有&#xff0c;所以重点在于如何实现 getMin 方法。 有两类方法&#xff1a;使用辅助栈/不使用辅助栈 使用辅助栈的解法一 定义一个 栈 来实现常规功能&#xff0c;另外定义一个栈&#xff08;最小…

如何配置点击抖音直播小风车跳转到微信公众号?

随着抖音直播间的普及&#xff0c;越来越多的品牌选择通过直播进行宣传推广。然而&#xff0c;直播间主播的氛围营造是一项极具挑战性的任务。如果观众的热情无法被调动起来&#xff0c;直播间很容易陷入沉寂&#xff0c;难以吸引流量。 为了最大化利用流量&#xff0c;许多品牌…

智能充电桩,机器人 wifi蓝牙 解决方案

新联鑫威低功耗高性价比sdio wifi/蓝牙combo的模块单频2.4g的CYWL6208&#xff0c;双频2.4g/5g CYWL6312可以应用到一些低延时 高性能 低功耗 联网需求的交流直流充电桩&#xff0c;扭力扳手&#xff0c;agv机器人&#xff0c;目前支持主流的stm32F4/GD32F4 瑞萨 psoc的主控&am…

道合顺:一站式电子元器件采购商城

欢迎来到道合顺&#xff0c;您专属的电子元器件采购商城。我们为您提供广泛的元器件选择&#xff0c;包括各类芯片、传感器、电容电阻、连接器等&#xff0c;以满足您项目的需求。 最新价格实时查询 通过道合顺电子网&#xff0c;您可以随时随地查询各类电子元器件的最新价格…

外汇天眼:QoinTech误信假老师话术投资外汇,惨遭黑平台滑点爆仓拒出金

去年11月与12月&#xff0c;外汇天眼先后发布了「钓鱼广告诱加投资群组&#xff0c;限制出金逼迫缴分成费」与「假投顾诱导投资黄金获利&#xff0c;黑平台操作爆仓狠诈700万」这2篇文章&#xff0c;曝光黑平台QoinTech的诈骗手法&#xff0c;呼吁投资人不要上当&#xff0c;没…

你对 TypeScript 中枚举类型的理解?应用场景?

文章目录 一、是什么二、使用数字枚举字符串枚举异构枚举本质 三、应用场景参考文献 一、是什么 枚举是一个被命名的整型常数的集合&#xff0c;用于声明一组命名的常数,当一个变量有几种可能的取值时,可以将它定义为枚举类型 通俗来说&#xff0c;枚举就是一个对象的所有可能…

LeetCode 热题 100 | 普通数组

目录 1 53. 最大子数组和 2 56. 合并区间 3 189. 轮转数组 4 238. 除自身以外数组的乘积 5 41. 缺失的第一个正数 菜鸟做题第二周&#xff0c;语言是 C 1 53. 最大子数组和 题眼&#xff1a;“子数组是数组中的一个连续部分。” 遍历数组&#xff0c;问每一个元素…

EIGRP实验

实验大纲 一、基本配置 1.构建网络拓扑结构图 2.路由器基本配置 3.配置PC 4.测试连通性 5.保存配置文件 二、配置EIGRP 1.查看路由表 2.配置EIGRP动态路由 3.查看路由器路由表 4.测试网络连通性 5.查看所有路由器的路由协议 6.保存配置文件 三、配置OSPF 1.配置…

【基于电商履约场景的 DDD 实战】DDD领域驱动设计的优势分析以及与MVC架构对比

&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308; 欢迎关注公众号&#xff08;通过文章导读关注&#xff1a;【11来了】&#xff09;&#xff0c;及时收到 AI 前沿项目工具及新技术的推送&#xff01; 在我后台回复…

LeetCode.2859. 计算 K 置位下标对应元素的和

题目 题目链接 分析 这道题的题意很明确。就是求每一个下标的二进制中1的个数为k的下标所对应的元素值之和。 Java 中有 库函数 Integer.bitCount(num)&#xff0c;这个函数的返回值就是 num 中 1 的个数。 代码 class Solution {public int sumIndicesWithKSetBits(List…

如何训练和导出模型

介绍如何通过DI-engine使用DQN算法训练强化学习模型 一、什么是DQN算法 DQN算法&#xff0c;全称为Deep Q-Network算法&#xff0c;是一种结合了Q学习&#xff08;一种价值基础的强化学习算法&#xff09;和深度学习的算法。该算法是由DeepMind团队在2013年提出的&#xff0c;…

开发板连接错误: WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

1.出现错误 scp rkmedia_vi_venc_rtsp_test_sp root192.168.10.198:/home/sunpeng出现错误 2.错误原因&#xff1a;警告&#xff1a;远程主机标识已更改&#xff01; 1&#xff09;重新烧录开发板系统&#xff0c;导致IP地址变化。 2&#xff09;报警错误-中文&#xff08;警…

每日一练 | 华为认证真题练习Day172

1、关于OSPF的ASBR-SUMMARY-LSA中LSA头部他、信息描述错误的是 A. LINK STATE ID表示ASBR的ROUTER ID B. ADVERTISING ROUTER表示该ABR的ROUTER ID C. ADVERTISING ROUTER字段永远不会改变 D. METRIC表示该ABR到达ASBR的OSPF开销 2、关于OSPF外部路由种类描述错误的是 A. …

力扣354. 俄罗斯套娃信封问题

动态规划 思路&#xff1a; 同时控制 w、h 两个维度比较复杂&#xff0c;可以先固定一个维度&#xff0c;来找出另外一个维度的严格单调序列&#xff1a; 对 w 排序&#xff0c;然后再来找 h 维度严格单调递增序列长度&#xff1b;在 w 排序时&#xff0c;会遇到 w(i) w(j) 的…