Web中间件常见漏洞
一、IIS中间组件
1、PUT漏洞
原理:IIS开启了WebDAV,配置了可以写入的权限,造成了任意文件上传漏洞。
防御:关闭webDAV;关闭写入权限
2、短文件名猜解
原理:
IIS的短文件名机制,可以暴力破解文件名。访问构造某个存在的短文件,会返回404,访问构造某个不存在的短文件,会返回400。使用payload验证目标是否存在短文件漏洞,显示404时,说明存在短文件。
防御方法:1、升级.net framework
2、修改注册表键值
修改注册表键值:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem修改NtfsDisable8dot3NameCreation为1。修改完成后,需要重启系统生效。
命令行关闭 fsutil behavior set disable8dot3
3、解析漏洞
原理:
6.0版本默认将*.asp;.jpg此类格式的文件名,当成asp解析,服务器默认;后面的内容不解析,相当于截断,例如上传asp木马,就可以用xx.asp;.jpg来绕过;iis除了会将asp解析成脚本执行文件之外,还会将 cer cdx asa扩展名解析成asp
防御方法:
1.禁止上传和创建此类畸形文件
2.图片存放目录设置为禁止脚本执行
二、Apache中间组件
1、解析漏洞
原理:
apache默认一个文件可以有多个以点切割的后缀,当最右的后缀无法识别时,就继续向左识别,直到识别到合法后缀才开始解析,如xxx.php.qqq,qqq无法识别,就继续解析,到php时能够识别,就解析为php文件。
2、目录遍历
原理:
程序在实现上没有充分过滤用户输入的../之类的目录跳转符,导致恶意用户可以通过提交目录跳转来遍历服务器上的任意文件。这里的目录跳转符可以是../,也可是../的ASCII编码或者是unicode编码等。
目录遍历的标志:Index of /
防御措施:修改httpd.conf文件中的参数
三、Nginx中间组件
1、文件解析
原理:
用户配置不当造成的解析漏洞。由于nginx.conf的如下配置导致nginx把以’.php’结尾的文件交给fastcgi处理,对于任意文件名,在后面添加/xxx.php(xxx)为任意字符后,即可将文件作为php解析。
例如:在1.jpg中写入一句话木马,上传1.jpg/xxx.PHP
防御手段:1、 将php.ini文件中的cgi.fix_pathinfo的值设置为0
2、 php-fpm.conf中的security.limit_extensions后面的值设置为.php
2、目录遍历
原理:
Nginx的目录遍历与apache一样,属于配置方面的问题,错误的配置可导致目录遍历与源码泄露。(程序在实现上没有充分过滤用户输入的../之类的目录跳转符,导致恶意用户可以通过提交目录跳转来遍历服务器上的任意文件。这里的目录跳转符可以是../,也可以是../的ASCII编码或者是unicode编码等。)
修复:将nginx.conf中的autoindex on 中的“on”改为“off”
3、CRLF注入漏洞
原理:
CRLF(carriage return/line feed)是”回车+换行”(rn)的简称,其十六进制编码分别为0x0d和0x0a。在HTTP协议中,HTTP header与HTTP Body是用两个CRLF分隔的,浏览器就是根据这两个CRLF来取出HTTP内容并显示出来。所以,一旦我们能够控制HTTP消息头中的字符,注入一些恶意的换行,这样我们就能注入一些会话Cookie或者HTML代码。CRLF漏洞常出现在Location与Set-cookie消息头中。
修复:修改一些配置文件
四、WebLogic中间组件
1、反序列化漏洞
原理:
Weblogic的WLS Security组件对外提供webservice服务,其中使用了XMLDecoder来解析用户传入的XML数据,在解析的过程中出现反序列化漏洞,导致可执行任意命令。
2、SSRF
原理:Oracle WebLogic Web Server既可以被外部主机访问,同时也允许访问内部主机。
3、war后门文件部署
原理:通过弱口令(weblogic/Oracle@123)登录管理台后,点击部署,安装,上传war包
五、Tomcat中间组件
1、war后门文件部署
原理:
tomcat如因配置不当导致未授权直接登录后台,或者由于弱口令的存在登录后台,可以在后台上传war包,我们可以将jsp代码植入到war包里面,然后访问该war包即可执行jsp代码。
2、put任意文件上传
原理:
tomcat允许适用put方法上传任意文件类型,但不允许jsp后缀文件上传,因此我们需要配合windows的解析漏洞,适用诸如 1.jsp%20 、1.jsp::$DATA 则可以成功绕过检测上传成功。
六、jBoss中间组件
1、反序列化漏洞
原理:
存在于 Jboss 的 HttpInvoker 组件中的 ReadOnlyAccessFilter过滤器中。该过滤器在没有进行任何安全检查的情况下尝试将来自客户端的数据流进行反序列化,从而导致了攻击者可以在服务器上执行任意代码。
漏洞验证:
访问/invoker/readonly,返回500,说明此页面存在反序列化漏洞
2、war后门文件部署
原理:admin/admin弱口令登录后台,点击add a new resource上传war包,连马即可
防御:改强密码;删除admin-console页面
相关文章:
Web中间件常见漏洞
一、IIS中间组件 1、PUT漏洞 原理:IIS开启了WebDAV,配置了可以写入的权限,造成了任意文件上传漏洞。 防御:关闭webDAV;关闭写入权限 2、短文件名猜解 原理: IIS的短文件名机制,可以暴力破解…...
Python Web 深度学习实用指南:第三部分
原文:Hands-On Python Deep Learning for the Web 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自【ApacheCN 深度学习 译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。 不要担心自己的形象,只关…...

C#基础学习--预处理指令
目录 什么是预处理指令 基本规则 #define 和 #undef 指令 条件编译 条件编译结构 诊断指令 行号指令 编辑 区域指令 #pragam warning 指令 什么是预处理指令 源代码指定了程序的定义,预处理指令指示编译器如何处理源代码 基本规则 #define 和 #undef 指令…...

Spring Boot 接口加解密
1. 介绍 在我们日常的Java开发中,免不了和其他系统的业务交互,或者微服务之间的接口调用 如果我们想保证数据传输的安全,对接口出参加密,入参解密。 但是不想写重复代码,我们可以提供一个通用starter,提…...

大公司为什么禁止SpringBoot项目使用Tomcat?
前言 在SpringBoot框架中,我们使用最多的是Tomcat,这是SpringBoot默认的容器技术,而且是内嵌式的Tomcat。同时,SpringBoot也支持Undertow容器,我们可以很方便的用Undertow替换Tomcat,而Undertow的性能和内…...

2023年第十三届MathorCup高校数学建模挑战赛|A题|量子计算机在信用评分卡组合优化中的应用
目录 题目详情 最终收入 贷款利息收入 - 坏账损失 赛题说明 1:流程简化及示例 赛题说明 2:QUBO 模型简介 赛题说明 3:赛题数据 问题 题目详情 在银行信用卡或相关的贷款等业务中,对客户授信之前,需…...

linux下搭建Hbase分布式数据库
文章目录 Hbase概念1.安装Hbase1.jdk的配置2.安装hbase 2.启动和操作1.启动服务2 **web-ui访问地址:http://node01:16010/master-status** 3.简单的操作1.连接 HBase2.帮助命令3.创建一张表 create a table4.使用查看表是否存在5.describe 查看表描述6.put命令插入数据到表7. s…...

unity,射手游戏
文章目录 介绍一,制作玩家具体函数脚本PlayerCharacter三、 制作玩家控制脚本 PlayerController,调用上面的函数方法四、 制作子弹脚本 shell五、 给玩家挂载脚本六、 制作坦克脚本七、 给坦克添加组件八、 开始游戏,播放动画九、 下载 介绍 …...
摒弃单一变现手段,开拓多元商业模式,破解场景单一APP盈利难题!
工具类APP已成为人们生活、工作中不可或缺的一部分,包括天气服务、搜索、日历等细分领域,在用户中存在巨大的市场需求。但是,这类APP也面临着一些难以避免的问题。 比如功能单一、用户停留时间较短、可替代性强等,这些问题会影响…...

JavaEE-轻松了解网络原理之TCP协议
目录 TCP协议TCP协议数据格式TCP原理确认应答超时重传连接管理三次握手四次挥手 滑动窗口流量控制拥塞控制延迟应答捎带应答面向字节流异常问题 TCP协议 TCP,即Transmission Control Protocol,传输控制协议. TCP协议数据格式 16位源端口号与16位目的端…...

薪资17K是一个怎样的水平?来看看98年测试工程师的面试全过程…
我的情况 大概介绍一下个人情况,男,本科,三年多测试工作经验,懂python,会写脚本,会selenium,会性能,然而到今天都没有收到一份offer!从年后就开始准备简历,年…...
OpenCV3 和 Qt5 计算机视觉:11~12
原文:Computer Vision with OpenCV 3 and Qt5 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自【ApacheCN 计算机视觉 译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。 当别人说你没有底线的时候,…...
R包编写流程
文章目录 所需工具Step 1: 创建R项目Step 2: 在R文件夹中添加函数Step 3: 编辑元数据Step 4: 文档化Step 5: 检查包Step 6: 打包重要参考: 所需工具 R包的编写需要的工具包有:devtools,Rtools Step 1: 创建R项目 devtools::create_package…...
试验GPT写文章书
试验GPT写文章书 写一本名叫《寻找人生目标的十种方法》 回答 2023/4/22 16:12:31 很高兴为您提供以下内容,这是一本关于寻找人生目标的十种方法的建议和思考。 《寻找人生目标的十种方法》 第一章:明确自己的价值观 了解自己内心真正想要追求的东…...
class与typename的异同
一、class与typename的相同点 typename关键字常用于函数模板,这里首先引入函数模板的概念:函数模板代表了一个函数家族,该函数模板与类型无关,在使用时被参数化,根据实参类型产生函数的特定 类型版本 //函数模板格式…...

OpenCV 图像处理学习手册:6~7
原文:Learning Image Processing with OpenCV 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自【ApacheCN 计算机视觉 译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。 当别人说你没有底线的时候,…...
Java中的序列化与反序列化(一)
1、概述 大家好,我是欧阳方超。今天来看一下Java序列化与反序列化的问题。 2、序列化与反序列化 2.1、序列化与反序列化的概念 在Java中,序列化是将对象转换为可存储或传输的格式(一般为字节流)的过程,序列化后的字…...
3.函数、结构体、包
一、函数定义和调用 package mainimport ("fmt" )func test() {fmt.Println("hello world") } func main() {test() }二、函数的参数 1.单个参数 func test(n int) {fmt.Println("传递进来的参数是", n) } func main() {test(10) }2.多个参数…...

科普丨关于 A/B 测试的十问十答
你想知道的,都在这里!本文是神策数据「十问十答」科普系列文章的第二期,围绕 A/B 测试展开。 1 Q:什么是 A/B 测试? A:A/B 测试作为互联网企业的核心增长手段之一,其价值已在实际应用中被多次验…...

尚融宝——整合OpenFeign与Sentinel实现兜底方法——验证手机号码是否注册功能
一、整合过程 在项目添加依赖:添加位置 <!--服务调用--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency> 在需要的服务中添加启动注…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...

uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...
安卓基础(Java 和 Gradle 版本)
1. 设置项目的 JDK 版本 方法1:通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分,设置 Gradle JDK 方法2:通过 Settings File → Settings... (或 CtrlAltS)…...

mac:大模型系列测试
0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何,是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试,是可以跑通文章里面的代码。训练速度也是很快的。 注意…...
41道Django高频题整理(附答案背诵版)
解释一下 Django 和 Tornado 的关系? Django和Tornado都是Python的web框架,但它们的设计哲学和应用场景有所不同。 Django是一个高级的Python Web框架,鼓励快速开发和干净、实用的设计。它遵循MVC设计,并强调代码复用。Django有…...