渗透测试漏洞原理之---【组件安全】
文章目录
- 1、组件安全概述
- 1.1、常见组件
- 1.1.1、操作系统
- 1.1.2、Web容器
- 1.1.3、中间件
- 1.1.4、数据库
- 1.1.5、开发框架
- 1.1.6、OA系统
- 1.1.7、其他组件
- 1.2、漏洞复现
- 1.2.1 漏洞复现模板
- 1.2.3、漏洞名称参考
- 1.2.4、漏洞库
- 2、Apache
- 2.1、Apache HTTPD
- 2.2、Apache Shiro
- 2.3、Apache Tomcat
- 3、Nginx
- 3.1、Nginx解析漏洞
- 3.2、Nginx配置缺陷
- 4、IIS
- 4.1、IIS 6.0
- 4.2、IIS 7.0/7.5
1、组件安全概述
A9:2017-Using Components with Known Vulnerabilities
A06:2021 – Vulnerable and Outdated Components
组件(例如:库、框架和其他软件模块)拥有和应用程序相同的权限。如果应用程序中含有已知漏洞的组件被攻击者利用,可能会造成严重的数据 丢失或服务器接管。同时,使用含有已知漏洞的组件的应用程序和API 可能会破坏应用程序防御、造成各种攻击并产生严重影响
1.1、常见组件
1.1.1、操作系统
Windows
Linux
Mac OS X
...
1.1.2、Web容器
Apache HTTPD
Nginx
IIS
Tomcat
uwsgi
...
1.1.3、中间件
编程语言就是中间件
PHP
Java
ASP.NET(ASPX)
Python
Perl
JavaScript
Go
...
1.1.4、数据库
关系型数据库 非关系型数据库MySQL Redis
Orcale MongoDB
SQL Server ...
Access
...
1.1.5、开发框架
| JAVA | PHP | Python | JS |
|---|---|---|---|
| struts2 spring springboot JBoss Weblogic … | wordpress | wp drupal joomal thinkphp | tp dedecms |织梦 discuz |dz metinfo … | Flask Django | Vue.js … |
1.1.6、OA系统
| OA系统 |
|---|
| 通达OA 泛微e-office 致远OA |
1.1.7、其他组件
phpstudy宝塔xampp
1.2、漏洞复现
1.2.1 漏洞复现模板
编写渗透测试报告的主要内容:
* 组件_版本_漏洞名称* 漏洞描述 * 漏洞评级* 影响版本 * 漏洞复现 * 漏洞扫描 * 漏洞验证 * 深度利用 * 命令执行 * GetShell* EXP 编写 * 漏洞挖掘 * 指纹信息 * 修复建议
1.2.3、漏洞名称参考
- pocsuite3 漏洞命名规范
- seebug类型规范
1.2.4、漏洞库
- exploit-db
- seebug漏洞库
2、Apache
2.1、Apache HTTPD
| 漏洞名称 | 原理 | 案例 |
|---|---|---|
| 未知后缀名解析漏洞 | yjh.php.jaychou | upload-labs/Pass-07 |
| 多后缀名解析漏洞 | yjh.php.png | Vulhub/httpd/apache_parsing_vulnerability |
| 换行解析漏洞 CVE-2017-15715 | yjh.php%0a | Vuluhb/httpd/CVE-2017-15715 |
2.2、Apache Shiro
| 漏洞名称 | 原理 | 案例 |
|---|---|---|
| CVE-2016-4437 | 反序列化 | Vulhub/shiro/CVE-2016-4437 挖矿木马4SHMiner ShiroExploit |
2.3、Apache Tomcat
| 漏洞名称 | 原理 | 案例 |
|---|---|---|
| 弱口令 | 配置错误 | Vulhub/tomcat/tomcat8 |
| 本地文件包含 CVE-2020-1938 | – | Vulhub/tomcat/CVE-2020-1938 CNVD-2020-10487-Tomcat-Ajp-lfi |
3、Nginx
3.1、Nginx解析漏洞
特定情况下,可以将图片解析成PHP,为图片木马提供出路
| 漏洞名称 | 原理 | 案例 |
|---|---|---|
| 空字节漏洞 | yjh.png%00.php | nginx_0.7.65 解析漏洞复现 |
| 文件路径解析漏洞 CVE-2013-4547 | yjh.png[0x20][0x00].php | Vulhub/nginx/CVE-2013-4547 |
| (背锅) 解析漏洞 | cgi.fix_path=1 yjh.png/.php | Vulhub/nginx/nginx_parsing_vulnerability |
3.2、Nginx配置缺陷
| 漏洞名称 | 原理 | 案例 |
|---|---|---|
| Nginx 目录遍历漏洞 | location /files { alias /home/; } | Vulhub/nginx/insecure-configuration |
4、IIS
4.1、IIS 6.0
| 漏洞名称 | 原理 | 案例 |
|---|---|---|
| 文件路径截断解析漏洞 | time.asp;.jpg | FCKeditor 2.6.6 ASP GetShell |
| 目录名解析错误 | /1.asp/time.rar |
4.2、IIS 7.0/7.5
IIS 能够解析PHP 脚本
| 漏洞名称 | 原理 | 案例 |
|---|---|---|
| IIS 7.0/7.5 解析漏洞 | cgi.fix_path=1 jaychou.png/.php |
相关文章:
渗透测试漏洞原理之---【组件安全】
文章目录 1、组件安全概述1.1、常见组件1.1.1、操作系统1.1.2、Web容器1.1.3、中间件1.1.4、数据库1.1.5、开发框架1.1.6、OA系统1.1.7、其他组件 1.2、漏洞复现1.2.1 漏洞复现模板1.2.3、漏洞名称参考1.2.4、漏洞库 2、Apache2.1、Apache HTTPD2.2、Apache Shiro2.3、Apache T…...
uni-app集成mui-player
uni-app集成mui-player,仅说明集成方法,mui-player 相关配置请查看其官网 准备 在uniapp项目根目录新建hybrid目录在hybrid目录下新建html目录在html目录中新建css、js、img等目录,用于存放相关文件 集成 静态webview 在pages目录下新建v…...
力扣(LeetCode)算法_C++—— 两个数组的交集
给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 示例 1: 输入:nums1 [1,2,2,1], nums2 [2,2] 输出:[2] 示例 2: 输入:nums1 …...
异步编程 - 12 异步、基于事件驱动的网络编程框架 Netty
文章目录 Netty概述Netty中的一些概念Netty的线程模型Netty Server端Netty Netty 端 TCP半包与粘包问题基于Netty与CompletableFuture实现RPC异步调用 Netty概述 Netty是一个异步、基于事件驱动的网络应用程序框架,其对Java NIO进行了封装,大大简化了TC…...
STM32 Nucleo-144开发板开箱bring-up
文章目录 1. 开篇2. 开发环境搭建2.1 下载官方例程2.2 ST-Link安装 3. STM32F446ZE demo工程3.1 STM32F446ZE简介3.2 跑个demo试一试 1. 开篇 最近做项目,用到STM32F446ZET6这款MCU,为了赶进度,前期软件需要提前开发,于是在某宝买…...
计算机毕业设计 基于SSM的问卷调查管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解
博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…...
基于SpringBoot的无忌在线考试系统(源码+讲解+调试运行)做毕设课设均可
技术栈 前后端分离 前端使用: Vue Element Plus 后端使用: SpringBoot Mysql8.0 Mybatis-Plus 功能 分为 管理员端 和 老师端 和 学生端 管理员端 登陆页 科目管理 查看所有科目 ,增加 ,修改 ,删除科目 , 模糊搜索课程 考试管理 查看所有考试 ,增加 ,修改 ,删除考试 题库…...
无涯教程-JavaScript - EOMONTH函数
描述 EOMONTH函数返回该月最后一天的序列号,该序列号是start_date之前或之后的月份数。 语法 EOMONTH (start_date, months)争论 Argument描述Required/OptionalStart_date 代表开始日期的日期。 应该使用DATE函数或其他公式或函数的输出输入日期。 如果将日期作为文本输入…...
【LeetCode-面试经典150题-day21】
目录 120.三角形最小路径和 64.最小路径和 63.不同路径Ⅱ 5.最长回文子串 120.三角形最小路径和 题意: 给定一个三角形 triangle ,找出自顶向下的最小路径和。 每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标…...
算法刷题记录-双指针/滑动窗口(LeetCode)
809. Expressive Words 思路 根据题目描述,我们可以知道,如果要将某个单词定义为可扩张(stretchy),需要满足如下两个条件: 所以,我们在实现的时候,可以通过两个指针p1和p2&#x…...
Python基础tuple元组定义与函数
元组的特点 有序:元组中的元素是按照顺序排列的。不可更改:一旦创建,元组中的元素不可被修改、增加或删除。元素类型多样化:元组可以包含任何数据类型的元素。 定义一个非空元组 name_tuple (a, b, c, d)定义一个空元组 name…...
【linux命令讲解大全】088.深入理解 shell 脚本中的 trap 命令
文章目录 trap概要主要用途选项参数返回值关于信号例子 从零学 python trap 捕捉信号和其他事件并执行命令。 概要 trap [-lp] [[arg] signal_spec ...]主要用途 用于指定在接收到信号后将要采取的动作。 脚本程序被中断时执行清理工作。 选项 -l:打印信号名称…...
bean的管理-bean的获取
获取bean 默认情况下,在Spring项目启动时,会把bean都创建好(但是还会受到作用域及延迟初始化的影响)放在IOC容器中,如果想主动获取这些bean,可以通过如下方式 根据name获取bean Object getBean(…...
如何快速清理已经上传到Git仓库的.DS_Store文件
很久以前,发过这样一篇文章《Git全局忽略MacOS系统下的.DS_Store文件》,主要是针对MacOS用户,如何方便的在自己机器中免疫所有.DS_Store文件的误提交。如果有这个需求,且还没有搞过的读者可以通过上面这篇文章学习。 今天想要分享…...
美的的笔试
第一题 有两只猫咪和n条不同类型的鱼,每条鱼都只能被其中一只猫咪吃掉。 下标为i处的鱼被吃掉的得分为: 如果第一只猫咪吃掉,则得分为reward1[i]。如果第二只猫咪吃掉,则得分为reward[i]。 给你一个正整数数组reward1 ,一个正整数数组reward2࿰…...
Android 1.2 开发环境搭建
目录 1.2 开发环境搭建 1.JDK安装与配置 2.开发工具二选一 3.相关术语的解析 4.ADB命令行的一些指令 5.APP程序打包与安装的流程: 6.APP的安装过程: 7.本节小结 1.2 开发环境搭建 现在主流的Android开发环境有: ①Eclipse ADT SDK ②Android Stu…...
vue 页面加水印
首先创建一个waterMark.js文件,当然文件命名可自定义, use strictconst watermark {}/**** param {要设置的水印的内容} str* param {需要设置水印的容器} container*/ const setWatermark (str, container) > {const id 1.23452384164.123412415…...
Android ImageView详解
scaleType属性详解 在 Android 中,ImageView 控件的 scaleType 属性用于指定图像在 ImageView 内部的缩放和对齐方式。scaleType 属性可以帮助你控制图像的显示方式,以适应 ImageView 的尺寸或实现其他特定的显示效果。以下是常见的 scaleType 属性值和…...
ElasticSearch第二讲:ES详解 - ElasticSearch基础概念
ElasticSearch第二讲:ES详解 - ElasticSearch基础概念 在学习ElasticSearch之前,先简单了解下ES流行度,使用背景,以及相关概念等。本文是ElasticSearch第二讲,ElasticSearch的基础概念。 文章目录 ElasticSearch第二讲…...
Ajax模拟视频点赞功能
前台 <%--Created by IntelliJ IDEA.User: xxDate: 2023/9/4Time: 10:00To change this template use File | Settings | File Templates. --%> <% page contentType"text/html;charsetUTF-8" language"java" %> <html> <head>&l…...
SDXL 1.0电影级绘图工坊:Python入门教程与基础图像处理
SDXL 1.0电影级绘图工坊:Python入门教程与基础图像处理 1. 引言 你是不是也曾经被那些精美的AI生成图片所吸引,想要自己动手创作却不知道从何开始?今天我们就来聊聊如何用Python快速上手SDXL 1.0这个强大的AI绘图工具。 SDXL 1.0是当前最先…...
2026生成式引擎优化(GEO)深度实测报告:基于Hakuna Matata平台的五大主流大模型对抗性测试全景分析
摘要:本文以“Hakuna Matata”测试平台为基准场,针对百度文心一言、Moonshot AI(Kimi)、腾讯元宝、阿里千问、字节豆包五大国内主流生成式AI平台,开展了一场史无前例的生成式引擎优化(GEO)对抗性…...
论文AI率怎么免费降?【2026建议收藏】DeepSeek/Kimi/豆包三大模型专属降重指令全家桶
很多时候大学生写论文逻辑太严谨、话术太规范,反而会导致AI率过高,且一旦AI率过高,轻则退回重改,重则取消答辩资格,这后果谁都担不起。 为了帮大家有效降低aigc率,这周我专门针对目前市面上最主流的三款大…...
实战演练:基于快马平台快速开发一个可动态切换主题色的网站Demo
今天想和大家分享一个非常实用的前端小项目——如何快速开发一个能动态切换主题色的网站Demo。这个功能在实际项目中特别常见,比如我们常见的深色模式切换、企业官网的主题定制等。下面我就用InsCode(快马)平台来演示整个实现过程。 项目结构设计 首先我们需要规划…...
Kimi-VL-A3B-Thinking作品分享:OCR识别模糊手写体+公式识别+LaTeX自动转换
Kimi-VL-A3B-Thinking作品分享:OCR识别模糊手写体公式识别LaTeX自动转换 1. 引言:当AI能看懂你的草稿纸 想象一下,你有一张拍得有点模糊的会议白板照片,上面潦草地写满了讨论要点和几个复杂的数学公式。或者,你翻出一…...
拆解RoboteX AVATAR机器人:4个电机如何驱动履带+摇臂?一份紧凑传动布局的保姆级图解
RoboteX AVATAR机器人传动系统深度解析:四电机协同驱动履带与摇臂的机械艺术 当第一次看到RoboteX AVATAR Tactical Robot在复杂地形中自如穿梭的视频时,很难不被它那看似简单却异常高效的移动方式所吸引。这款战术机器人的核心秘密,就藏在它…...
Java Eclipse JDK 1.8.0_25安装与配置全指南
1. JDK 1.8.0_25的下载与安装 如果你是刚接触Java开发的新手,可能会被各种版本的JDK搞得一头雾水。别担心,JDK 1.8.0_25(也就是Java 8的一个子版本)至今仍是企业开发中最常用的稳定版本之一。我当年刚开始学Java时,导师…...
腾讯优图视觉模型应用:Youtu-VL-4B-Instruct在内容审核中的实战
腾讯优图视觉模型应用:Youtu-VL-4B-Instruct在内容审核中的实战 每天,互联网上会产生数十亿张图片和视频。对于内容平台来说,如何确保这些内容安全合规,同时控制审核成本,一直是个头疼的问题。传统的人工审核效率低、…...
如何通过Superalgos教育模块快速掌握算法交易:新手入门完整指南
如何通过Superalgos教育模块快速掌握算法交易:新手入门完整指南 【免费下载链接】Superalgos Superalgos/Superalgos: 是一个开源的分布式社交网络分析和数据挖掘平台。适合对大数据分析、机器学习、区块链以及分布式系统有兴趣的开发者。 项目地址: https://gitc…...
嵌入式系统开发中的关键技术术语解析
嵌入式系统开发中的56个关键技术术语解析1. 数据转换基础概念1.1 采样与保持特性采集时间(Tacq)是从释放保持状态到采样电容电压稳定至新输入值的1 LSB范围之内所需的时间。在采样-保持电路中,这个参数直接影响系统的动态性能。孔径延迟(tAD)描述从时钟信号的采样沿…...
