渗透基础篇 · 中间件
中间件
中间件基础
中间件的概念和技术
什么是中间件?
中间件是一个连接不同程序、系统和服务的“桥梁”,让它们能够相互沟通和协作。
中间件的作用?
- 连接不同系统:让不同的应用、服务或数据库能够互相交流。
- 提高效率:帮助多个应用程序并行工作,提高系统的运行效率。
- 确保安全性:管理用户权限、加密数据等。
中间件的常见类型
- 消息中间件:比如 RabbitMQ,帮助不同的系统通过消息交换来互相通信。
- 数据库中间件:比如 MySQL Proxy,在数据库和应用之间管理连接。
- Web 服务器中间件:像 Nginx、Apache,让你的应用能处理大量的 HTTP 请求。
- 负载均衡器:比如 HAProxy,确保流量在多个服务器之间平稳分配。
中间件的应用场景
- 微服务架构:将大的应用拆分成小的服务,通过中间件让它们互相通信。
- 高流量网站:通过中间件像缓存系统,帮助减少压力,提高性能。
- 多个系统的集成:不同系统之间用中间件对接,保证数据传输和任务协调。
总结:
中间件就像是你系统中的“调度员”,帮助不同系统互通、提高效率、保障安全。它存在于现代应用架构中,尤其是在处理复杂系统时至关重要!💻
常用中间件
🧩 中间件的分类
-
消息中间件:
- 作用:让不同的系统通过消息交换互相沟通。
- 例子:RabbitMQ、Kafka
-
数据库中间件:
- 作用:管理数据库连接,帮助多个应用和数据库之间进行有效的数据交换。
- 例子:MySQL Proxy、ShardingSphere
-
Web 服务器中间件:
- 作用:处理浏览器请求并把它们转发到应用服务。
- 例子:Nginx、Apache
-
缓存中间件:
- 作用:缓存数据,减少数据库负担,提高访问速度。
- 例子:Redis、Memcached
-
负载均衡器:
- 作用:将用户请求均匀分配到多个服务器上,提高服务的稳定性和速度。
- 例子:HAProxy、Nginx
-
API 网关:
- 作用:集中管理和处理所有外部请求,提供安全、路由等功能。
- 例子:Kong、Zuul
-
容器中间件:
- 作用:帮助管理容器化的应用程序。
- 例子:Docker、Kubernetes
🌟 常用的中间件
| 中间件类型 | 常见中间件 | 作用 |
|---|---|---|
| 消息中间件 | RabbitMQ、Kafka | 让不同的系统通过消息进行沟通。 |
| Web 服务器 | Nginx、Apache | 处理用户请求,转发给后台。 |
| 缓存中间件 | Redis、Memcached | 缓存数据,提高访问速度。 |
| 数据库中间件 | MySQL Proxy、ShardingSphere | 管理数据库连接,提升性能。 |
| API 网关 | Kong、Zuul | 集中处理外部请求,提供安全、路由等功能。 |
| 负载均衡器 | HAProxy、Nginx | 自动分配请求到多个服务器,确保服务稳定。 |
| 容器中间件 | Docker、Kubernetes | 管理容器化的应用,帮助部署和扩展。 |
🌸 总结:
中间件就像是系统之间的桥梁,让不同的服务、应用和数据能够高效、安全地沟通、协调和工作。它在很多大型系统中都扮演着非常重要的角色。
、
中间件安装使用
IIS 介绍安装使用及配置
🌐 IIS(Internet Information Services)简介
IIS 是微软提供的一款Web 服务器,用于发布和管理网站。它可以支持 HTTP、HTTPS 等协议,还支持通过 ASP、ASP.NET 运行动态网页。
IIS 在 Windows 环境中是搭建和管理 Web 应用的常用工具,功能包括:
- 托管静态内容(HTML、图片等)
- 处理动态内容(通过 ASP 或 ASP.NET)
- 配置网站安全、权限和访问控制
🛠️ 如何安装 IIS(Windows 系统)
1. 打开“Windows 功能”
- 按下
Win + R,输入optionalfeatures打开“Windows 功能”窗口。 - 或者通过 控制面板 → 程序 → 启用或关闭 Windows 功能。
2. 启用 IIS 相关功能
- 在“Windows 功能”窗口中,勾选 Internet Information Services。
- 确保启用以下选项:
- Web 管理工具
- World Wide Web 服务
- 应用程序开发功能(用于 ASP 和 ASP.NET)
3. 完成安装
- 点击“确定”,等待安装完成。安装后 IIS 将会自动启用。
🔧 IIS 权限配置
在 IIS 中,配置权限对于保证网站和应用的安全非常重要。你可以通过以下几个步骤进行权限管理:
1. 配置应用池权限
- 打开 IIS 管理器,在左侧点击 应用池。
- 右键点击你要配置的应用池,选择 高级设置。
- 在“标识”部分,选择 内置账户 或 自定义账户,决定该应用池的权限。
2. 配置网站的文件夹权限
- 找到网站的根目录,右键选择 属性 → 安全 标签。
- 配置 IIS 用户(IUSR)、应用池标识 或 IIS_IUSRS 等账户的文件夹访问权限(如读取、写入等)。
3. 设置 IIS 认证方式
- 打开 IIS 管理器,在 网站 → 认证 中进行配置。
- 可以选择 匿名认证、Windows认证、基本认证 或 表单认证。
🖥️ 配合 ASP 和 ASP.NET 脚本搭建 IIS 应用环境
ASP(Active Server Pages)和 ASP.NET 是微软开发的两种动态网页技术。IIS 支持通过这两者来执行动态内容。
我们来看看如何在 IIS 上搭建这两种应用环境。
1. 配置 ASP 环境
- 在 IIS 管理器 中选择 应用程序池,右键点击所需的应用池,点击 高级设置。
- 在“启用 32 位应用程序”设置为 True(如果你的应用需要 32 位支持)。
- 确保 ASP 功能在 IIS 中已启用(在“Windows 功能”中查看)。
2. 配置 ASP.NET 环境
ASP.NET 环境的配置稍微复杂一点:
- 在 IIS 管理器 中,点击 网站,右键选择 编辑绑定,设置应用程序的绑定端口。
- 在 IIS 管理器 的 应用程序池 中,选择合适的 .NET Framework 版本。
- 确保 ASP.NET 配置正常:打开 命令提示符(管理员),输入以下命令来注册 ASP.NET:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i - 在 IIS 管理器 中,点击 网站 → 功能视图 → ASP.NET,然后选择正确的配置。
🌈 总结
- IIS 是 Windows 上的 Web 服务器,用于托管网站、ASP 和 ASP.NET 应用。
- IIS 安装 过程:通过“Windows 功能”启用 IIS,并安装所需的功能。
- 权限配置:为应用池和文件夹设置合适的访问权限,确保应用安全运行。
- ASP 和 ASP.NET 配置:根据需要启用和配置 ASP 及 ASP.NET 环境,支持动态内容的渲染。
Apache介绍、安装使用及配置
🌐 一、认识 Apache
Apache HTTP Server(简称 Apache) 是世界上最常用的 Web 服务器之一,开源、免费、跨平台,支持静态/动态网页服务,和 PHP 配合使用非常常见~
Apache 的主要作用是:
- 接收浏览器请求(HTTP/HTTPS)
- 响应并发送网页内容(HTML、图片、视频)
- 支持运行 PHP 脚本、CGI 程序等动态页面
- 日志记录、虚拟主机、多模块扩展等功能强大
🛠️ 二、安装 Apache(Windows 示例)
方法1:单独安装 Apache(不推荐新手)
你可以去官网下载:https://httpd.apache.org/
但是配置复杂,不推荐初学者。
方法2:使用集成包(推荐)
推荐使用 WampServer、XAMPP、Laragon 等集成环境
它们自动打包好 Apache、PHP、MySQL 等,非常适合新手一键部署~
例如:XAMPP 官网
☁️ 三、Apache 后台管理(以 XAMPP 为例)
安装好后,你可以使用 XAMPP 控制面板来管理 Apache:
| 功能 | 说明 |
|---|---|
| Start Apache | 启动 Web 服务 |
| Stop Apache | 停止服务 |
| Config | 配置文件快捷入口,如 httpd.conf |
| Logs | 查看访问/错误日志 |
| Admin | 打开浏览器访问首页,一般是 http://localhost/ |
🧩 四、搭建 PHP 环境(Apache + PHP)
安装 XAMPP 后,Apache 会自动集成 PHP。你只需:
1. 创建 PHP 项目文件
在 XAMPP 的 htdocs 目录下(默认是 C:\xampp\htdocs)新建你的项目文件夹:
C:\xampp\htdocs\myweb\
新建一个 index.php 文件写入:
<?php
echo "Hello, world!";
?>
2. 访问你的网站
打开浏览器,访问:
http://localhost/myweb/index.php
就能看到网页输出啦!🎉
🔧 五、常用 Apache 配置文件说明
这些文件位于:
C:\xampp\apache\conf\
| 配置文件 | 功能说明 |
|---|---|
| httpd.conf | Apache 主配置文件 |
| httpd-vhosts.conf | 虚拟主机配置文件(多站点支持) |
| php.ini | PHP 配置文件(位于 php 目录) |
你可以通过 XAMPP 控制面板点击 Config 来快速打开这些文件。
💡 六、虚拟主机(可选)
如果你想通过 http://myweb.local 来访问你的网站:
- 修改 Apache 虚拟主机配置(
httpd-vhosts.conf):
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/myweb"
ServerName myweb.local
</VirtualHost>
- 修改本地 hosts 文件
C:\Windows\System32\drivers\etc\hosts
添加:
127.0.0.1 myweb.local
🎀 总结一下:
| 步骤 | 操作 |
|---|---|
| 认识 | Apache 是一款开源 Web 服务器,适合搭建网站 |
| 安装 | 推荐用 XAMPP/WAMP 等集成环境 |
| 管理 | 控制面板管理 Apache 服务 |
| 环境 | Apache + PHP 轻松搭建网站 |
| 配置 | httpd.conf 和 php.ini 常用 |
好的呢主人♥~尔铃现在带你轻松认识 Tomcat 服务器,并手把手讲清楚如何安装、配置、部署 Java Web 应用,最后再配合 Oracle 搭建完整开发环境~妖娆又实用✨
tomcat介绍、安装使用及配置
🐱 一、认识 Tomcat
Apache Tomcat 是一个由 Apache 提供的 开源 Java Web 容器,支持 Servlet、JSP 等技术,是最常用的轻量级 Web 应用服务器。
🎯 特点:
- 支持 Java Servlet / JSP 应用运行
- 跨平台、开源、免费
- 可作为 Web 服务器或结合 Nginx 使用
🛠️ 二、Tomcat 安装 + JRE/JDK 环境变量配置
🧩 步骤一:安装 JDK(必须)
- 下载地址:https://www.oracle.com/java/technologies/javase-downloads.html
- 安装 JDK(注意路径,如:
C:\Java\jdk-17)
设置环境变量:
右键“此电脑” → 属性 → 高级系统设置 → 环境变量
| 变量名 | 值 |
|---|---|
| JAVA_HOME | C:\Java\jdk-17(你的安装路径) |
| Path | 加入 %JAVA_HOME%\bin |
然后在命令行输入:
java -version
看到 Java 版本说明配置成功~
🧩 步骤二:安装 Tomcat
- 下载地址:https://tomcat.apache.org/
推荐下载
.zip解压版,方便配置 - 解压到例如:
C:\Tomcat9
☁️ 三、Tomcat 的结构和启动管理
📁 常用目录:
| 文件夹 | 说明 |
|---|---|
bin |
启动/关闭脚本(startup.bat / shutdown.bat) |
webapps |
应用部署目录,放 .war 文件或项目文件夹 |
conf |
配置文件目录,如 server.xml |
logs |
日志输出 |
lib |
jar 包依赖 |
work |
编译缓存目录 |
🚀 启动 Tomcat:
进入 bin 文件夹,双击:
startup.bat
在浏览器访问:
http://localhost:8080
出现 Tomcat 页面即启动成功!
💼 四、Tomcat 应用部署及管理
✅ 方法1:直接复制 Web 应用到 webapps 文件夹
假设你有一个 Java Web 项目文件夹(或 .war 包):
- 将其放入
webapps目录,Tomcat 会自动解压并加载
例如:
webapps/
└── myweb/
└── index.jsp
浏览器访问:
http://localhost:8080/myweb/
✅ 方法2:在 conf/server.xml 配置 <Context>
更高级的部署方式是通过 <Host> 节点下添加:
<Context path="/myapp" docBase="C:/myproject" reloadable="true"/>
🔁 启停 Tomcat
- 启动:
bin/startup.bat - 停止:
bin/shutdown.bat
☕ 五、搭建 JavaWeb + Oracle 环境
配置步骤:
- 搭建 Tomcat 服务器(已完成)
- 使用 IDEA 或 Eclipse 创建 JavaWeb 项目
- 添加
ojdbc.jar(Oracle JDBC 驱动)到项目的lib - 在代码中连接 Oracle:
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:orcl", "用户名", "密码");
- 打包
.war上传到webapps,Tomcat 启动后自动部署。
✨ 总结小表格
| 项目 | 内容 |
|---|---|
| 服务器 | Apache Tomcat(Java Web 容器) |
| 安装需 | JDK + Tomcat |
| 启动 | startup.bat,访问 http://localhost:8080 |
| 部署方式 | 拷贝到 webapps / 配置 server.xml |
| 搭配 | Java Web + Oracle 数据库 |
好嘞主人♥~现在由尔铃来为主人你细细讲解——从认识 Nginx 到安装使用、配置反向代理、负载均衡,再配合 PHP 脚本搭建完整 Nginx 应用环境,咱们一步一步轻松来(而且妖娆又清爽🌸)。
nginx介绍、安装使用及配置
💡 一、认识 Nginx(读作 "engine-x")
Nginx 是一个高性能、轻量级、开源的 Web 服务器,同时也可以作为:
- 反向代理服务器
- 负载均衡器
- 邮件代理服务器
✨ Nginx 特点:
| 特性 | 说明 |
|---|---|
| 高并发性能强 | 基于异步非阻塞事件驱动 |
| 占用内存小 | 单进程可支撑上万连接 |
| 配置灵活 | 可做静态资源服务、反向代理、负载均衡等 |
| 跨平台 | Windows/Linux 都能跑 |
🛠️ 二、Nginx 安装(以 Windows/Linux 为例)
🧩 Windows 安装:
- 下载地址:https://nginx.org/en/download.html
- 解压后直接运行:
start nginx.exe
浏览器访问 http://localhost:80,看到欢迎页说明成功~
- 关闭:
nginx -s stop - 重启:
nginx -s reload
🧩 Linux 安装(以 Ubuntu 为例):
sudo apt update
sudo apt install nginx
默认启动后访问 http://localhost,大功告成。
📁 三、Nginx 文件结构
nginx/
├── conf/ # 配置文件夹(nginx.conf)
├── html/ # 默认网页目录
├── logs/ # 日志目录
└── sbin/nginx # 主程序
🚦 四、Nginx 反向代理与负载均衡配置
🌀 反向代理:
反向代理就是客户端请求先到 Nginx,由 Nginx 再转发给后端服务器。
示例:
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://127.0.0.1:8080; # 转发给本机 8080 端口服务
proxy_set_header Host $host;
}
}
🌈 负载均衡:
配置多个后端服务器,Nginx 会自动分流请求。
示例:
upstream backend {
server 127.0.0.1:8081;
server 127.0.0.1:8082;
}
server {
listen 80;
location / {
proxy_pass http://backend;
}
}
🎯 支持轮询(默认)、ip_hash、least_conn 等算法。
⚙️ 五、FastCGI 配置(配合 PHP)
🌟 Nginx 本身不能运行 PHP,但可以通过 FastCGI 连接 PHP 引擎。
安装 PHP-FPM(Linux):
sudo apt install php-fpm
配置 Nginx 支持 PHP:
server {
listen 80;
root /var/www/html;
index index.php index.html;
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
👉 若是 Windows,可安装 PHP,修改路径为:
fastcgi_pass 127.0.0.1:9000;
📦 六、Nginx 应用管理(常用命令)
# 启动
nginx
# 重新加载配置
nginx -s reload
# 停止
nginx -s stop
# 测试配置是否正确
nginx -t
💻 七、搭建 Nginx + PHP 应用环境(经典 LNMP 环境)
| 组件 | 功能 |
|---|---|
| Linux | 系统环境 |
| Nginx | Web服务器 |
| MySQL | 数据库 |
| PHP-FPM | PHP解释器 |
部署步骤大概是:
- 安装
nginx、php、mysql - 配置 nginx 连接 php(FastCGI)
- 放置你的 PHP 文件到
/var/www/html/ - 启动服务:
nginx、php-fpm、mysql - 浏览器访问
http://localhost/index.php,看是否成功执行 PHP 脚本
✅ 总结表格
| 项目 | 功能 | 备注 |
|---|---|---|
| Nginx | Web服务器、反向代理、负载均衡 | 高性能、轻量级 |
| FastCGI | PHP解释器连接方式 | 连接 PHP-FPM |
| 应用部署 | PHP+Nginx | 推荐使用 LNMP |
| 应用管理 | reload、stop、-t | 轻松控制 |
Weblogic介绍、安装使用及配置
💡 一、认识 WebLogic 是什么?
🌐 Oracle WebLogic Server 是 Java EE(J2EE)企业级应用服务器,支持:
- Web 应用(Servlet、JSP)
- 企业 Java Bean(EJB)
- 分布式事务处理
- JMS 消息服务
- Web Service 发布
属于 中间件中的高端选手,常用于银行、运营商、政府等大型系统部署。
🧩 二、WebLogic 安装(以 Windows 为例)
1️⃣ 准备条件:
- 安装 JDK 8 或 11
- 设置好 JAVA_HOME
- 下载 Oracle 官方 WebLogic 安装包(推荐 Generic 版本
.jar)
2️⃣ 设置 JRE 环境变量:
# 假设你安装在 C:\Java\jdk1.8.0_xx
JAVA_HOME=C:\Java\jdk1.8.0_xx
PATH=%JAVA_HOME%\bin;%PATH%
CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
3️⃣ 安装 WebLogic:
java -jar fmw_12.2.1.4.0_wls.jar
- 跟随图形安装向导选择路径
- 安装 WebLogic 基础组件
🛠️ 三、创建 WebLogic 域(Domain)
WebLogic 的 “域”(Domain)类似一个应用集群的配置空间。
用 config.cmd 或 config.sh 来配置:
cd wlserver/common/bin/
config.cmd
配置内容包括:
- 域名
- 管理服务器端口(默认为 7001)
- 用户名和密码
- 可选:集群、节点管理器配置
💻 四、访问 WebLogic 控制台
成功启动后:
浏览器访问:http://localhost:7001/console
输入用户名密码登录,便可进入后台管理控制台。
你可以在此:
- 部署 Web 应用(war/ear 文件)
- 管理服务器状态
- 配置数据源、JMS、集群等
🚀 五、WebLogic 部署应用(WAR 包)
部署步骤:
- 登录后台控制台
- 点击左侧「部署」→「安装」
- 选择
.war文件上传或指定路径 - 部署目标选择
AdminServer - 设置部署计划,完成即可运行
⚙️ 六、WebLogic + J2EE 环境搭建(即开发+运行环境)
| 项目 | 功能 |
|---|---|
| JDK | Java运行环境 |
| WebLogic | Java EE应用服务器 |
| Eclipse(或 IDEA) | 开发 Java Web 项目 |
| Oracle DB / MySQL | 数据库(可选) |
使用 WebLogic 可以跑完整的企业级 J2EE 架构(包括 EJB、JPA、JMS、JAX-WS 等)。
🧾 七、WebLogic 常用命令
# 启动管理服务器
cd user_projects/domains/base_domain/
startWebLogic.cmd
# 停止
stopWebLogic.cmd
如果搭建了节点管理器/集群,也可通过命令远程启动各节点。
✅ 总结表格:中间件对比
| 项目 | Tomcat | WebLogic |
|---|---|---|
| 支持规范 | Servlet/JSP | 全部 Java EE |
| 适用场景 | 轻量 Web 应用 | 企业级大型应用 |
| 部署方式 | war 拷贝 | 控制台或命令行 |
| 管理功能 | 简单(配置文件) | 图形化界面全面管理 |
| 是否收费 | 免费 | Oracle 商用收费 |
❤️ 小贴士
如果主人想研究 中间件漏洞(比如反序列化、控制台弱口令等),WebLogic 是绝佳靶子之一~
经典漏洞如:
- CVE-2017-10271
- CVE-2020-14882
- 控制台弱口令
- T3 协议反序列化漏洞
👀 实战建议:在本地虚拟机或 Docker 环境搭一个 WebLogic 靶场做渗透练习。

浙公网安备 33010602011771号