配置不当
配置不当漏洞的本质在于服务被正确部署,但部署参数、版本或附属功能未按安全基线配置,功能边界与安全边界脱节。 与代码逻辑漏洞不同,配置不当往往不需要挖掘新的攻击面——系统本身运行正常,只是把不该暴露的能力暴露了出去。攻击者利用的是运维决策留下的缝隙,而非开发代码中的缺陷。
成立前提
配置不当类漏洞通常由以下几类情形触发:
- 使用默认配置:中间件、数据库、框架安装后开箱即用,默认配置优先考虑可用性而非安全性,管理控制台默认开放、认证默认关闭
- 补丁未及时更新:软件版本停留在已知 CVE 发布前,攻击者可直接套用公开利用代码
- 调试/测试功能未关闭:开发阶段引入的安装向导、调试接口、phpinfo 页面随生产部署一并上线
- 访问控制配置错误:CORS 策略过宽、目录列表未关闭、错误页面暴露内部路径和版本信息
利用链路
ShellShock CGI 利用
CGI 脚本在处理 HTTP 请求时,将 User-Agent、Referer、Cookie 等请求头直接设置为 bash 环境变量。旧版本 bash 在解析环境变量中的函数定义后,会继续执行后续跟随的任意命令。攻击者在 HTTP 请求头中注入如下格式的 payload 即可在服务器端执行任意命令:
curl -A "() { :; }; /bin/bash -c '<cmd>'" http://<target>/cgi-bin/<script>
触发条件:目标使用 CGI 模式运行 bash 脚本,且 bash 版本未打补丁。
补丁缺失漏洞利用
中间件或基础组件存在公开 CVE 且未修复时,攻击者可直接使用现成利用工具:
- WebLogic T3 协议端口暴露时,反序列化攻击无需任何认证,直接发送恶意序列化对象触发 RCE
- JBoss 的
/invoker/JMXInvokerServlet端点默认不鉴权,可通过 POST 反序列化 payload 执行命令;/jmx-console同样默认无认证,通过DeploymentScanner的addURL操作可远程部署 WAR 包直接获得 webshell - OpenSSL 心跳协议实现存在越界读取(Heartbleed),攻击者可通过构造超长心跳请求读取服务端内存中的明文数据
JBoss JMX Console 无认证部署
JBoss 早期版本的 /jmx-console 和 /jmx-console/HtmlAdaptor 路径默认对所有网络请求开放,无需任何认证。攻击者访问 JMX Console 后,定位 jboss.deployment 服务中的 DeploymentScanner MBean,调用其 addURL 方法传入可控的远程 WAR 包地址,JBoss 主动拉取并部署该 WAR,部署完成后 webshell 即生效。
整个过程仅需浏览器或 HTTP 客户端,无需任何账号凭证。同一套应用框架部署在多个节点时,逐一访问各节点的 /jmx-console 可批量获取 webshell。
Java 远程调试端口(JDWP)暴露
应用以开启 JDWP(Java Debug Wire Protocol)远程调试的参数启动,且调试端口直接暴露在外网或半信任网络。任何能到达该端口的客户端均可连接,无需认证。
连接成功后,攻击者通过调试协议向目标 JVM 注入字节码,在运行中的进程上下文中执行任意代码。由于 Java 服务通常以高权限账号运行,获取的代码执行权限往往处于系统最高级别。JDWP 利用不依赖任何 CVE,纯属配置疏失。
IIS WebDAV 写权限
IIS 启用 WebDAV 扩展且未限制 HTTP 写方法时,攻击者可直接向服务器推送文件。典型路径:使用 PUT 方法上传内容到以不可执行扩展名命名的文件,再通过 MOVE 方法将其重命名为 .aspx 后缀,写入的 webshell 即可被 IIS 解析执行。
整个过程不依赖认证,仅要求 WebDAV 服务对目标目录有写入权限,而 IIS 默认配置在部分版本中正好满足这一条件。
.git 目录源码泄露
Web 服务器未限制对 .git 或 .svn 目录的访问,攻击者可直接下载版本控制元数据,通过还原工具重建完整源代码树。泄露的源码通常包含数据库连接字符串、API 密钥、内部业务逻辑等高价值信息。
利用流程:检测 /.git/HEAD 是否可访问 → 递归下载 .git/ 目录 → 使用工具还原源码。SVN 同理,.svn/entries 或 .svn/wc.db 可被直接访问时,工具可还原完整源码树,其中往往硬编码了数据库连接配置和 API 密钥。
还原源码后,application.properties、config.xml、jdbc.xml 等配置文件是首要目标——数据库密码、支付接口密钥、企业邮箱凭证往往以明文出现,为横向移动提供直接入口。
测试接口残留利用
安装向导未清理时,攻击者可直接访问 /install/ 路径重新初始化系统、覆盖管理员密码。后台管理页面仅通过前端隐藏而未在服务端删除或鉴权,直接构造 URL 即可访问完整管理功能。phpinfo 页面暴露 PHP 版本、加载的扩展、服务器路径等环境信息,为后续攻击提供精准情报。
历史样本
ShellShock 批量打企业邮件系统:国内多家大型企业的邮件系统使用 CGI 模式运行,在 ShellShock(CVE-2014-6271)公开后,攻击者批量扫描并利用 CGI 端点,通过 HTTP 请求头注入命令,在无任何认证的情况下获取邮件服务器 shell 权限。
WebLogic/JBoss 反序列化无需认证:企业生产环境中大量 WebLogic 和 JBoss 实例长期未升级,管理端口和特定 Servlet 路径直接暴露在公网。攻击者发送构造的反序列化请求即可触发远程代码执行,整个利用过程不需要任何账号凭证。
Heartbleed 读取内存敏感数据:服务端 OpenSSL 版本过旧,攻击者构造异常心跳请求,可从服务端内存中逐块读取明文数据,包括 TLS 私钥、用户 session token、账号密码等。由于心跳请求本身是合法协议操作,传统防火墙和 IDS 无法识别。
安装向导未删除:某 CMS 系统安装完成后,/install/ 目录未被清理,任何访客均可重新执行安装流程,重置管理员密码后完全接管站点。另有案例中,后台管理功能仅从导航菜单中移除,未经鉴权的 URL 仍可直接访问所有管理操作。
SVN 暴露级联数据库:版本控制目录直接可访问,攻击者还原源码后从配置文件中提取数据库连接字符串,进而直接连接数据库读取全量业务数据。源码泄露是敏感信息的二次来源,危害远超目录遍历本身。
配置文件明文凭证:获得 webshell 或源码访问权限后,读取 application.properties、jdbc.xml 等配置文件是横向移动的标准动作。明文密码直接复用于数据库、内部系统和云服务账号,一个入口可以扩展为整条内网路径。
DNS 域传送(AXFR):DNS 服务器未限制区域传送请求的来源时,攻击者向其发起 AXFR 查询即可一次性获取目标的全部子域名和对应 IP 列表。这是信息收集阶段效率最高的操作之一,暴露的内网子域为后续攻击提供精确地图。
Redis/MongoDB 无认证对外暴露:Redis 和 MongoDB 默认不开启认证,端口直接暴露在公网时任何人均可连接。Redis 的危害尤为直接:通过 config set dir 和 config set dbfilename 命令可将公钥写入 /root/.ssh/authorized_keys,直接获取服务器 SSH 登录权限,且整个过程无需任何凭证。MongoDB 无认证时数据库内容直接可读写。多起案例中,此类实例存储着数百万至千万级别的用户数据,但端口长期对外开放。
Elasticsearch 无认证数据直接可查:Elasticsearch 早期版本默认不鉴权,9200 端口对外暴露时,攻击者通过 REST API 即可枚举所有索引、搜索全量数据。与 JBoss Groovy RCE 不同,此类场景不需要代码执行——数据本身就直接可读。生产环境中的 ES 实例往往存储着日志、用户行为、业务订单等高密度数据,一次 _search 请求即可导出。企业内部的 Kibana 和 Grafana 面板同样存在类似问题:界面未配置认证时,任何能访问端口的人都可以直接浏览全部可视化数据和底层查询结果。
phpinfo 页面与调试登录接口残留:开发期为便于排查而暴露的 phpinfo 页面若未在生产部署时清理,将泄露 PHP 版本、已加载扩展、open_basedir 限制、服务器物理路径、编译参数等信息,为后续攻击提供精准环境情报。同类残留还包括调试登录页面——某平台将管理员账号硬编码在仅从导航中移除却未删除的调试登录页内,攻击者直接访问该路径即可获取凭证。这类残留的共同特征是功能完好、仅靠"不易被发现"来维持安全,而不是真正的访问控制。
测试数据库与测试接口残留生产环境:框架的 debug 模式未在生产关闭时,除暴露调试信息外,还可能将内置管理后台直接开放——某案例中 Django debug=True 暴露了完整的 admin 面板及数据库连接,而该数据库端口同时对外开放,攻击者无需任何漏洞即可直达数据层。测试接口的残留问题则体现在:内部 web service 端点在联调完成后未下线,继续接收外部请求并无任何鉴权,可被用于发送任意内容至真实用户。
安全设备批量 Heartbleed:国内某品牌网络安全设备(防火墙/UTM)因 OpenSSL 版本滞后,在 Heartbleed 公开后未及时推送固件更新。攻击者通过批量扫描同型号设备,利用心跳请求逐块读取内存,获取设备管理员 session、配置明文及内网拓扑信息,一次操作可控制数百台已部署设备,形成反向"安全基础设施沦陷"——防护资产本身成为攻击跳板。
Flash crossdomain.xml 配置过宽导致跨域数据劫持:crossdomain.xml 中配置 <allow-access-from domain="*.target.com"/> 时,攻击者只需在该顶级域下任意可上传文件的子域放置恶意 Flash,即可跨域读取主站返回的用户 Cookie、邮件正文、Session 数据。知名邮件服务商此类配置缺陷曾导致攻击者构造钓鱼页面,诱使用户打开含 Flash 的邮件后静默提取全部邮件内容,整个过程用户无感知。
消费级路由器/IoT 设备无密码 SSH/Telnet:厂商在嵌入式设备(家用路由器、智能硬件)的固件中预留 SSH/Telnet 调试接口,默认无需密码即可以 root 身份登录,且无任何界面提示该接口存在。攻击者在局域网或公网扫描特定端口后直接连接,获取设备完全控制权,进而嗅探流量、修改 DNS、安装持久化后门,影响所有连接该网络的设备。
Docker Remote API 未授权暴露:Docker 守护进程以 TCP 模式启动且未配置 TLS 认证时,2375 端口对任意来源开放。攻击者通过该接口可枚举所有镜像和容器、拉取或修改镜像、在运行中的容器内执行任意命令,也可挂载宿主机文件系统后读写任意文件。生产环境中此类暴露往往源于运维人员临时开启调试模式后忘记关闭,危害等同于拥有宿主机 root 权限。
Nginx/IIS 文件解析漏洞:旧版本 Nginx 存在 URI 中 %00 截断处理缺陷,访问 /x.txt%00.php 会将 .txt 文件作为 PHP 代码解析执行。类似地,IIS 在处理含特殊字符(如分号)的路径时可绕过扩展名校验,使上传的图片或文本文件被当作脚本执行。这类解析漏洞因依赖特定版本且补丁长期未部署而持续存在,攻击者上传看似无害的文件后即可触发代码执行。
Web 服务器目录索引未关闭:Nginx autoindex on 或 Apache 未禁用 Indexes 选项时,访问任意未设置默认页的目录即可列出全部文件。攻击者借此直接浏览并下载源码包、数据库备份、日志文件、配置文件等未受保护的资产。多起案例中,目录遍历是完整攻击链的第一步——在文件列表中找到备份压缩包,解压后从配置文件中提取数据库凭证,进而直连数据库导出全量数据。
Rsync 服务未授权访问:Rsync 默认不开启认证,服务端口对外暴露时,任何人均可以 rsync 客户端列举共享模块并拉取所有文件。生产服务器用 Rsync 做增量备份时,若未配置 auth users 和 secrets file,攻击者可一次性同步整个网站根目录,获取源码、配置文件、用户上传数据等全部内容,同时也可向服务器写入文件,进一步植入后门。
明文 HTTP 传输凭证与未配置 HSTS:部分平台在非 HTTPS 的登录页面或 API 接口直接传输用户名和密码,攻击者在同一网段或公共 Wi-Fi 环境下通过流量嗅探即可获取明文凭证。即使主站已部署 HTTPS,若未配置 Strict-Transport-Security 响应头,攻击者可通过 SSL Stripping 将连接降级为 HTTP 后实施中间人拦截。多起案例显示,无线网络环境下的撞库和凭证嗅探往往源于此类基础配置缺失,而非代码漏洞。
Jenkins Script Console 无认证执行任意代码:CI/CD 服务器部署后未配置认证,/script 端点直接对外开放。任何访问者均可在该页面输入 Groovy 代码并在 Jenkins 进程上下文中执行,效果等同于拥有服务器 shell。由于 Jenkins 通常运行在内网且拥有部署凭证,一次脚本控制台入侵往往可以横向触达所有受管节点。
GitLab/代码平台项目可见性配置错误:内部 GitLab 实例未将默认项目可见性设为私有,员工创建项目时沿用"Public"默认值,使源码、CI 配置、环境变量对任何可访问该实例的人开放。样本中多次出现知名互联网公司的内部 GitLab 公开项目,暴露数据库密码、第三方 API 密钥、内网服务地址,攻击者无需账号即可克隆完整仓库。
云实例元数据服务(IMDS)通过 SSRF 泄露 IAM 凭证:云厂商为实例提供的元数据服务(如 169.254.169.254)默认不鉴权,任何能在实例上发起请求的进程均可访问。当应用存在 SSRF 漏洞时,攻击者构造指向元数据地址的请求,可读取实例绑定的 IAM 角色临时凭证(AccessKey、SecretKey、Token),随后以该角色权限操作云 API,影响范围从对象存储读写扩展至整个云账号资源。IMDSv1 无任何会话防护,是云原生环境中 SSRF 危害被放大的直接原因。
容器 privileged 模式逃逸至宿主机:以 --privileged 参数启动的容器拥有宿主机几乎全部能力,包括挂载宿主机文件系统、加载内核模块、访问所有设备文件。攻击者在获得容器内命令执行权限后,通过挂载宿主根文件系统或写入 cgroup release_agent 等方式突破容器隔离,在宿主机上执行任意命令,进而控制同宿主上的全部容器和服务。privileged 模式常见于需要操作内核资源的监控、网络或存储组件,运维人员以便捷为由滥用该参数是根本原因。
内网 NFS/FTP 共享服务未限制权限:NFS 导出目录未在 /etc/exports 中设置 ro、root_squash 等约束,或 FTP 服务开放匿名登录,内网任何主机均可挂载或访问共享目录并读写其中全部内容。样本中多次出现 FTP 匿名访问暴露源码、数据库备份和配置文件的案例;NFS 场景下,攻击者在本地以 root 身份挂载后可覆盖目标服务器的 SSH authorized_keys,实现无密码登录。
VPN 产品默认密码与可逆编码凭证存储:VPN 管理端沿用出厂默认账号密码,配置文件中的所有 VPN 用户凭据仅经 base64 编码存储。攻击者登录后直接解码配置文件,批量获取全部线路账号,一次登录等同于获取整个 VPN 网络的访问权限。
密码命名规则成为爆破字典:IT 管理员制定了可被枚举的密码生成规则(如用户名前缀加固定格式后缀),规则本身被攻击者用于生成精确字典,爆破成功率远高于通用字典。密码策略的可预测性将"复杂度"要求变为无效防护。
安装页面部署后未删除且无访问控制:系统部署完成后,安装向导脚本仍保留在可访问路径,且未配置任何鉴权。攻击者直接访问安装路径即可重置系统管理员密码,目录遍历进一步暴露了安装脚本的存在,两处配置疏失叠加加速了漏洞发现。
IoT/监控设备出厂默认密码批量接管:视频监控等物联网设备出厂后未强制要求修改默认密码,同型号设备在网络中大量部署。攻击者批量扫描特定型号后,以默认凭证一次性接管大量设备,实时获取关键地点影像,危害从单点扩展为区域性控制。
部分安全加固遗漏等效权限接口:对 JBoss 进行加固时删除了已知的 jmx-console 管理界面,但遗漏了具备同等操作权限的 JMXInvokerServlet 端点,该端点同样无需认证即可触发反序列化执行。加固措施仅针对已知路径而未覆盖同类接口,形成不完整防护。
源码压缩包遗留在 Web 根目录:运维人员将整站文件打包后直接存放在 Web 根目录,任何人可直接下载完整源码归档文件。源码中包含数据库连接配置、密钥及业务逻辑,属于运维操作遗留问题,危害等同于源码泄露。
高权限数据库账号凭证在可下载配置文件中明文存储:某路径可直接下载配置文件,其中存储了具备最高数据库权限的账号明文密码。攻击者获取凭证后可直接连接数据库,并借助数据库内置系统命令执行功能进一步控制操作系统。
两处配置缺陷叠加实现代码执行:文件解析漏洞(IIS 畸形路径将图片作为脚本执行)与后台弱口令同时存在时,单独的弱口令仅能进入管理后台,单独的解析漏洞无法上传恶意文件;两者叠加后,攻击者通过后台上传图片马再借助解析漏洞执行,最终 getshell。多个低危配置问题的组合往往产生高危结果。
安全设备自身使用默认口令:安全管理类平台(如 SOC)部署后未修改默认登录凭证,设备自身成为入侵入口。结合同一内网中其他未修复的服务漏洞,攻击者可将安全设备作为跳板实现横向移动,防护资产反向成为攻击路径的起点。
WebLogic/Axis2 管理控制台弱口令:WebLogic 管理控制台和 Axis2 Web 管理界面使用与产品同名的默认弱口令,部署后从未修改。攻击者登录后可直接上传或部署 WAR/Service 包,获取服务器代码执行权限,并从中读取数据库连接配置,进一步扩展访问范围。
Memcached 端口公网暴露:Memcached 默认不开启认证,11211 端口直接对外暴露时,任何人均可连接并读取全部缓存内容。企业系统将会议记录、用户通讯录等高频读取的业务数据缓存其中,攻击者持续轮询即可实时获取多个企业的敏感信息,危害随时间累积。
PHP-FPM/FastCGI 端口直接公网暴露:PHP-FPM 进程监听的 9000 端口未做网络访问控制,直接对外开放。攻击者通过 FastCGI 协议构造请求,可直接读取服务器任意文件(如 /etc/passwd),进一步利用 FastCGI 参数注入在服务器上执行任意 PHP 代码,整个过程绕过 Web 服务器层的所有安全机制。
HTTP PUT 方法写文件未禁用:Web 服务或网络设备未禁用 HTTP PUT 方法,攻击者直接向目标路径发送 PUT 请求即可上传任意文件。部分设备固件对接收内容不做执行限制,也存在将上传内容作为脚本执行的情形,无需认证即可完成文件写入。
CMS 默认开启的会员上传功能:内容管理系统安装后,用户注册和文件上传功能默认开启且未配置类型限制。攻击者注册普通会员账号后,通过上传接口提交可执行文件,配合服务器已存在的文件解析配置缺陷,将上传文件作为脚本执行,完成 getshell。
数据库服务以弱口令或无口令直接对外暴露:MySQL 等数据库服务监听在公网可达地址,且存在使用与用户名相同或极简的弱口令账号。攻击者无需通过 Web 层,直接以数据库客户端连接并枚举全部数据,绕过应用层的所有访问控制。部分案例中,test 账号以默认空口令保留在生产数据库中。
邮件服务器 SPF/DMARC 配置缺失允许伪造发件人:企业邮件服务器未正确配置 SPF 记录或 DMARC 策略,外部攻击者可构造以企业内部地址为发件人的邮件并成功送达收件方。接收方无法识别伪造来源,攻击者借此冒充企业内部账号实施钓鱼,危害扩展至整个企业通信信任体系。
网络基础设施控制平面以弱口令暴露:无线控制器(AC)、路由器等网络设备的管理界面使用出厂默认弱口令,且直接可通过网络访问。攻击者登录后可枚举并管理其下辖的全部接入点,包括读取无线密码、修改 VLAN 配置、强制用户下线,以及获取所有接入设备的 IP 和 MAC 地址,一个入口可控制整个区域的网络基础设施。
Jenkins 配置不当允许任意用户注册并继承高权限:CI/CD 平台未限制用户注册,且新注册账号默认继承管理员级别的权限,包括脚本控制台执行和 Agent 管理。攻击者注册账号后立即获得代码执行能力,通过内置代理机制将访问范围扩展至内网,进而扫描内部网段并利用收集到的凭证横向移动至核心系统。
企业邮件系统数据库备份可直接下载:邮件系统将全量数据库备份文件放置于 Web 可访问路径,攻击者直接下载后在本地还原,获取所有账号哈希、密保问题与答案、手机号等信息。默认密码规则普遍采用"弱字符串+固定后缀"模式,导致大量账号可直接登录,进而访问包含内部联系方式、合同文件等高度敏感的邮件内容。
HTTP 代理服务配置错误暴露内网访问通道:对外提供的代理服务未限制转发目标,任何请求者均可将其作为跳板访问内网资源。攻击者无需突破边界防火墙,直接通过该代理节点枚举并访问内部系统,内网中大量未鉴权的管理界面、监控系统和文档平台因此完全暴露。
企业打印机默认配置公网暴露:网络打印机在部署后未修改出厂账号,多个服务端口(原始打印流协议端口、FTP 服务)默认向所有来源开放。攻击者可远程通过打印协议端口直接发送文档触发打印,也可通过 FTP 上传后自动打印,整个过程无需任何认证;同一型号设备的配置问题在公网大量存在,危害可批量复现。
Oracle 数据库账号权限过度允许跨账号查询:数据库中多个业务账号被授予超出业务所需的权限,可直接访问其他账号所属的表和数据。攻击者获得任一数据库账号后,无需提权即可横向查询其他业务模块的数据,将单点突破转化为全库数据的批量导出。
第三方平台 API 密钥硬编码在可读取配置文件:系统将钉钉、微信、支付宝等第三方平台的 AppKey 和 AppSecret 直接写入数据库或配置文件,攻击者在获取数据库读取权限后,同步取得全部第三方平台的操作凭证。这类凭证可用于向真实用户推送消息、读取企业通讯录或发起支付操作,危害超出原始系统的边界。
工控与物理安全系统弱口令批量接管:工程监控、电梯管理、视频监控等物理安全系统以通用弱口令部署,管理界面直接可通过网络访问。攻击者登录后可实时查看施工图纸、项目联系人及影像数据,并对设备发出控制指令;多个独立部署的系统共用相同弱口令,一次登录可批量接管区域内全部同类设备。
移动客户端信任所有 TLS 证书:Android 或 iOS 应用在实现 HTTPS 通信时跳过证书合法性校验,接受任意自签名或过期证书。攻击者在同一网络环境中部署中间人代理,即可完全解密并篡改客户端与服务端之间的全部通信内容,包括登录凭证、支付信息及业务数据,而用户端无任何感知。
Tomcat 管理端口弱口令部署恶意应用:Tomcat Manager 应用使用空密码或极简弱口令,管理端口直接对外暴露。攻击者登录后通过 WAR 包部署功能上传包含 webshell 的应用,即可在服务器上执行任意代码;Windows 平台下 Tomcat 进程权限通常较高,进一步提权的门槛极低。
Axis2 Web Service 管理页面弱口令部署恶意服务:Axis2 管理控制台使用与产品同名的默认弱口令,攻击者登录后可直接上传恶意 Web Service 包,在服务器上执行任意代码。同一服务器上的 WebLogic 或其他中间件如同样使用弱口令,攻击者可在单次突破后同时接管多个服务层,横向读取数据库连接配置并进一步扩展权限。
FCKEditor 等富文本编辑器上传端点未鉴权:集成在 Web 应用中的第三方编辑器(如 FCKEditor、CKFinder)自带文件上传端点,该端点独立于应用的认证体系,未经配置时可被任何人直接访问。攻击者无需登录即可上传可执行文件,配合服务器已有的文件解析配置缺陷直接获取 webshell;此类端点在代码审计时常被遗漏,在老版本 CMS 和企业自建系统中大量存在。
文件资源 ID 可枚举导致内部文件批量下载:文件下载接口使用自增数字作为文件唯一标识,且未对请求来源做身份验证。攻击者遍历 ID 范围即可批量下载全部业务文件,包括销售录音、合同文档、客户资料等高度敏感内容,危害范围与文件总量直接相关,且整个过程不触发任何异常认证失败日志。
自动化脚本中明文保存版本控制凭证:部署或备份脚本为了无交互执行,将 SVN 或 Git 账号密码以明文形式写入脚本文件,脚本随代码或备份归档一同存储在服务器可访问路径。攻击者在获得服务器访问权限后读取该脚本,即可使用同一凭证访问版本控制系统,进而下载全量源码,将单一服务器入口扩展为完整代码资产的泄露。
数据库直连后重置 CMS 管理员凭证:数据库端口对外开放或攻击者已获得数据库访问权限时,CMS(如 WordPress)的用户表可被直接修改。攻击者将管理员密码哈希替换为已知明文对应的哈希值后,即可登录 CMS 后台,通过模板编辑功能写入 webshell 完成代码执行,整个过程绕过 Web 层的全部认证机制。
后台管理员注册入口未下线:系统上线后,/admin/register 或类似的管理员注册路径未被删除,且未配置任何鉴权,任意访客均可注册具备管理员权限的账号。结合后台的文件上传或模板编辑功能,攻击者注册账号后即可直接上传 webshell 或修改系统配置,整个过程不依赖任何已知漏洞。
测试环境对外暴露且接入真实生产数据:开发或联调阶段搭建的测试系统在功能完成后未下线,且测试环境的数据库连接指向生产库。攻击者通过弱口令或默认账号进入测试系统后,实际操作的是真实业务数据,危害等同于直接入侵生产系统,而测试系统往往绕过了生产环境所具备的各类安全加固措施。
安全扫描工具遗留 Web 根目录自带任意文件下载:运维人员将第三方安全检测工具(如 PHP 木马扫描器)临时上传至 Web 根目录后未清理,工具本身存在 file 参数可控的任意文件下载接口。攻击者通过目录遍历发现该工具,再构造请求下载服务器任意可读文件,将临时性运维操作转化为持续存在的高危入口。
内网多台服务器使用通用密码横向漫游:企业内网中多台服务器沿用相同或规律性密码(如统一的管理员密码前缀加服务器编号),攻击者在突破第一台服务器后,以收集到的密码模式对内网其他主机发起批量认证,形成链式横向移动。内网中大量服务器未部署独立凭证管理,使得单点突破可快速扩展至全网。
数据库客户端历史记录与快捷连接保存明文凭证:运维人员在服务器本地安装数据库图形化工具(如 SQL 客户端),工具的连接历史或自动保存配置中存储了包含明文密码的数据库连接信息,Shell 历史文件(.bash_history)中也留有包含数据库账号密码的连接命令。攻击者获得服务器访问权限后直接读取这些文件,无需暴力破解即可获取所有已连接数据库的凭证。
CMS 上传 ZIP 包自动解压绕过文件类型限制:内容管理系统允许上传 ZIP 格式的模板或插件包,服务端在接收后自动执行解压操作但不对解压内容做类型校验。攻击者将包含 webshell 的脚本文件压缩为 ZIP 包上传,解压后脚本落地为可访问路径,绕过了仅检查上传文件扩展名的安全机制。此类绕过在对文件名过滤较严格但对压缩包内容缺乏校验的系统中普遍存在。
企业邮件账号以公司名称为规律性弱口令:企业员工邮箱账号密码遵循"公司名简拼加年份"或"公司名加固定字符串"等统一规律,攻击者根据企业名称生成有针对性的密码字典后批量爆破,命中率极高。成功登录的邮箱中往往包含内网 VPN 配置、系统账号密码、合同文件及企业通讯录,为后续横向移动提供大量情报。
前端验证后直接暴露的业务接口:应用程序的认证逻辑仅在前端 UI 层执行,后端业务接口未做独立的身份验证。攻击者绕过前端页面直接构造请求访问底层接口,可在无登录态的情况下执行发送短信、查询用户信息、修改业务数据等敏感操作。此类设计缺陷在移动端 API 和早期 PHP 应用中大量存在,本质是将认证责任寄托于前端渲染路径而非接口层本身。
目录遍历直接暴露全站备份压缩包:Web 服务器目录列表未关闭,运维人员将全站文件打包后存放在 Web 根目录或其子目录中未做访问限制。攻击者通过自动化目录扫描或直接浏览目录索引发现备份文件,下载后本地解压即可获取完整源码、数据库配置及历史数据,危害与 .git 目录泄露相当,且备份文件往往包含比线上代码更多的调试信息。
SVN 自动更新脚本中明文保存版本库凭证:服务器上用于定期拉取代码更新的 Shell 脚本中,为实现无交互执行而将 SVN 账号密码以明文写入参数,脚本随代码目录一同存储。攻击者获得服务器访问权限后读取该脚本,即可使用相同凭证访问版本控制系统,下载全量代码资产,将单一服务器入口扩展为企业所有代码的泄露。
物联网控制系统(电梯/LED 显示屏)弱口令批量接管:电梯监控、楼宇 LED 显示屏、工程影像采集等物理设施管理系统以通用弱口令部署,管理界面直接通过网络可访问。攻击者登录后可对设备下达控制指令,包括关闭显示屏、修改播放内容或强制设备离线;同型号系统在多个地点批量部署且密码相同,一次登录可同时接管区域内全部同类设备,影响范围从信息泄露扩展至物理设施控制。
Struts2 等框架已知 RCE 漏洞持续利用:使用 Apache Struts2 等框架的应用在公开漏洞发布后长期未升级,攻击者直接套用对应 CVE 的公开 PoC 即可在无任何认证的情况下执行任意系统命令。由于框架版本号通常可从错误页面或响应头推断,批量扫描特定版本实例并自动化利用的成本极低,此类漏洞在未建立补丁跟踪机制的组织中长期作为高效入口存在。
SSO 单点登录打通多系统横向入口:企业内网部署了统一身份认证系统,攻击者在获取一个内部账号后(通过爆破邮件系统或其他弱口令入口),利用 SSO 机制可直接免密登录财务、OA、监控、ERP 等多个核心系统。单点登录本为提升使用效率,但同时意味着任意一处凭证泄露都等同于打开了整个内网的大门,凭证的危害范围不再局限于单一系统。
支付金额在客户端请求中可控:订单提交接口将商品价格作为请求参数直接传递,服务端不进行价格的独立校验,而是直接使用客户端传入的金额发起支付。攻击者截获请求后将金额参数替换为极低值,即可以极低价格完成购买流程。此类缺陷本质是业务逻辑配置错误——未在服务端将请求中的价格与商品实际定价进行比对。
接口直接通过 ID 遍历操作他人资源:资源操作接口(如简历修改、文件下载、订单查询)使用自增整数作为资源唯一标识,且未在服务端验证请求者是否为资源所有者。攻击者登录后将请求中的 ID 参数顺序递增,即可遍历修改或下载系统中全部用户的资源,危害范围与系统用户量正相关,而整个过程不产生任何认证失败日志。
内部管理路径直接暴露完整管理功能:后台 /admin 路径未配置任何认证,访问即直接呈现包含站点全貌、文件上传、用户管理等功能的完整管理界面,而非登录页面。攻击者无需账号凭证,仅凭目录扫描即可发现并使用全部管理功能,站点对安全性的假设完全建立在"攻击者不会访问该路径"之上。
无线控制器弱口令批量控制接入点:无线局域网控制器(AC)使用出厂默认账号密码,管理界面对网络开放。攻击者登录后可枚举并管理其控制的全部接入点,包括读取各 AP 的无线密码、修改 SSID 配置和 VLAN 划分、对指定用户强制下线,以及查看所有当前接入设备的 IP 和 MAC 地址。单个控制器往往管理数千台 AP,一次登录的影响范围覆盖整个区域的无线基础设施。
车辆远程控制系统弱口令允许下发控制指令:车辆追踪与防盗类物联网管理平台以弱口令部署,管理端口对网络开放。攻击者登录后可查询绑定设备的地理位置、车主手机号及车辆标识,并向设备下达远程断电、断油或关闭报警等控制指令;同一平台管理大量设备,批量操控的门槛仅为一次登录。
企业内部邮件明文传输账号密码:运维和开发人员通过企业邮箱发送包含明文账号密码的邮件(如系统交接、账号初始化、密钥分发等场景),邮件内容长期留存于邮箱中。攻击者在获取任一员工邮箱访问权限后,通过关键词搜索即可批量提取邮件历史中的 SVN 账号、服务器密码、第三方平台密钥等凭证,将单一邮箱入口转化为大范围凭证获取渠道。
WAF 双重 URL 编码绕过输入过滤:应用层防火墙或输入过滤规则基于明文字符串匹配,仅识别一次 URL 解码后的内容。攻击者对恶意 payload 进行二次 URL 编码(如将 < 编码为 %253C),过滤层解码一次后得到 %3C 而非 <,判断为合法输入;请求到达应用层时再次解码还原出原始恶意字符,实现绕过。此技巧在 WAF 与应用对 URL 编码的处理层数不一致时稳定有效,属于配置层面的防御盲区而非代码漏洞。
API 接口设计暴露用户枚举能力:用户信息查询或登录验证接口在用户不存在与密码错误时返回不同的响应(状态码、提示文本或响应体差异),使攻击者可通过逐一尝试用户名来确认账号是否注册。在获得有效用户名列表后,攻击者可针对性地发起密码爆破或撞库,将账号枚举能力与外部泄露的密码库组合使用;接口设计的这一差异本属配置或逻辑疏失,而非安全功能缺失。
前端页面 JavaScript 中硬编码管理员凭证:管理界面的登录验证逻辑实现在前端 JavaScript 中,账号与密码以明文或简单编码形式嵌入 JS 代码。攻击者查看页面源码即可直接获取凭证,或通过禁用 JavaScript 跳过验证直接进入管理功能。这类设计将认证完全寄托于客户端,服务端对请求不做任何身份验证,等同于无认证系统。
域控服务器因内网横向漫游被接管:攻击者在获得边界服务器权限后,通过内存凭证抓取工具获取本机账号哈希,结合已知的内网密码规律对其他主机发起批量认证;控制足够数量的主机后,进一步利用收集到的域账号登录域控服务器,将整个 Windows 域纳入控制范围。域控沦陷的根本原因通常不是域控自身的配置缺陷,而是内网其他主机的弱凭证配置为横向移动提供了路径。
交通卡 NFC 扇区出厂密钥未修改:M1 卡等 NFC 卡片的部分扇区沿用出厂全 F 默认密钥,攻击者利用一张同类卡片发起 nested authentication 攻击,可逐步破解所有扇区密钥,进而读取并篡改余额数据。一旦充值后 dump 出原始数据,消费至零后再写入原始镜像即可循环使用,整个过程无需任何网络权限,仅需物理接触读卡器。
密码重置流程收件邮箱可被替换:重置密码请求中包含 email 参数,服务端以请求中的邮箱地址发送重置链接而非验证账号归属。攻击者在重置任意目标账号时拦截请求,将接收邮件的地址替换为自己控制的邮箱,随后使用收到的重置链接设置新密码,整个过程不依赖任何账号凭证,仅需知晓目标用户名。
邮件通知功能用户名字段注入钓鱼内容:行程单、订单确认等平台邮件允许将用户名字段嵌入邮件正文,服务端未对该字段做 HTML 转义。直接注入 < 会触发 WAF 拦截;攻击者对 payload 进行二次 URL 编码(%253C 等),服务端过滤层仅解码一次误判为合法输入,邮件渲染层再次解码还原出原始 HTML 标签,攻击者借此在以平台名义发出的邮件中插入钓鱼内容,收件人无从分辨。
SSL VPN 高管账号使用极简弱口令:企业 SSL VPN 账号(包括 IT 部门高管账号)使用三位数字作为密码,从公开信息推断出账号格式后,以少数候选密码即可登入。VPN 登录后通过内置门户直接免密跳转 OA、工资查询、核心业务等系统,单一凭证的危害范围覆盖企业全部内网入口。
数据库账号密码与业务名完全相同:数据库配置中用于连接业务系统的账号名和密码均使用业务模块名称缩写,如 unemploy/unemploy,属于出厂式命名被直接沿用至生产。攻击者在获取 JDBC 配置文件后,仅凭配置中的账号名即可猜中密码,无需暴力破解,直接完成数据库连接。
App 用户信息接口通过 ID 参数直接暴露账号名:移动应用的用户信息查询接口将用户 ID 映射为账号名等标识,且不校验请求来源。攻击者遍历 ID 参数即可批量获取所有注册账号名,随后以账号名本身或常见弱口令发起撞库,由于大量用户沿用与账号名相同或相近的密码,批量登录成功率远高于通用字典。
邮件服务器爆破后从邮件中获取 VPN 配置:攻击者对企业邮件服务器发起针对性弱口令爆破,成功后在收件箱中检索 VPN 配置文件附件或初始密码通知邮件。获取 VPN 账号后连入内网,借助企业已部署的 SSO 机制直接登录财务、OA、数据中心等核心系统,单一邮箱入口实现全内网横向扩展。
中间件出厂账号密码沿用至生产环境:WebLogic、Tomcat 等中间件在安装部署后,管理账号沿用与产品名相同或极近的出厂密码(如 weblogic/11111111、tomcat/tomcat),从未被修改。攻击者使用管理控制台登录后直接部署 WAR 包获取服务器 shell,随后读取数据库连接配置,将单次中间件入侵扩展为全业务数据的访问权限。
漏洞修复仅针对被举报实例而未全面排查:安全人员提交漏洞后,运维人员仅对报告中指向的特定 IP 或路径进行修复,未检查同一业务线其他部署节点是否存在相同问题。攻击者在原入口被关闭后,对同一网段或同一业务域下的其他实例重复利用同一漏洞,再次取得等效权限。多次出现的"指哪补哪"模式使得原本可以一次性消除的漏洞长期残存于其他节点。
邀请链接或回调 URL 携带身份令牌自动登录:部分平台的邀请链接或合作跳转 URL 中内嵌身份令牌,访问即自动以对应账号的身份完成登录,而不再要求凭证验证。攻击者对链接 ID 参数进行枚举,即可以任意用户身份登入系统,访问其个人信息、订单记录和操作权限,整个过程不产生任何密码错误日志。
FFmpeg 媒体处理组件解析恶意播放列表触发文件读取:云盘或视频平台将用户上传的视频文件直接交由 FFmpeg 处理时,攻击者上传伪装成视频的 HLS 播放列表文件(.m3u8),在其中的 concat: 或分段引用中指向服务器本地文件路径或内网 URL。FFmpeg 在解析播放列表时会主动拉取引用资源,将本地文件内容(如 /etc/passwd)或内网服务响应作为视频分段数据返回给攻击者,实现任意文件读取或 SSRF,整个过程通过平台自身的"正常"媒体处理流程触发,无需任何上传绕过。
MySQL 以跳过授权参数启动暴露全库写入权限:管理员为临时排查权限问题以 --skip-grant-tables 参数重启 MySQL,该参数使任何客户端无需密码即可以任意账号身份登录。攻击者在数据库端口对外可达的情况下直连 MySQL,不仅可读取全部数据库,还可利用 SELECT ... INTO OUTFILE 将 webshell 写入 Web 根目录,从数据库权限直接升级为服务器代码执行。此操作本为临时调试手段,但运维人员常因任务中断而忘记恢复,造成长期高危暴露。
CDN 服务商节点统一配置缺陷批量影响托管客户:CDN 提供商在所有节点上沿用相同的 Nginx 配置模板,管理端口的路径处理存在目录穿越缺陷。攻击者构造特定路径请求即可读取节点宿主机上任意可读文件,包括所有托管站点的 Nginx 配置、SSL 证书私钥及缓存内容。由于缺陷存在于平台层而非单一客户,攻击一次节点即影响其所有托管客户,互联网头部厂商的更新分发域、游戏平台的内容域等均因此暴露,危害随托管规模线性扩大。
CMS 厂商在所有部署实例中保留统一超级管理员账号:软件开发商在向政府、高校等机构交付 CMS 产品时,将厂商自用的维护账号以固定用户名和密码内置到全部部署实例中,且该账号不在前台用户管理界面显示,正常管理员无法发现或删除。攻击者获知该账号后,可批量登录数十乃至数百个已知使用该 CMS 的站点,直接获得管理权限,影响范围与该 CMS 的市场装机量正相关。
堡垒机产品出厂内置无法删除的持久化后门账号:安全运维类产品(堡垒机)在源码中硬编码了厂商维护账号,登录界面对该账号不做展示,系统每次重启时会从隐藏挂载分区的初始化脚本恢复该账号,即使从数据库中手动删除也会在下次重启后还原。后门账号具备管理员权限,可启用调试模式后以内置账号直接 SSH 登录堡垒机本身,进而访问其代理的全部运维目标服务器,且操作日志对后门账号独立存储,对普通管理员不可见。
网络交换机 Telnet 接口以厂商默认密码暴露管理权限:企业网络核心交换机部署后未修改厂商出厂凭证,Telnet 接口对内网或运营商网段开放。攻击者以出厂密码连入后可查看路由表、端口状态、VLAN 划分、DNS 配置等全部网络拓扑信息,为内网横向移动提供精确地图;进一步修改路由规则或访问控制列表,可将流量重定向或拦截,将网络基础设施变为攻击跳板。
GPS 车辆追踪平台以统一默认密码暴露全车队实时位置:车辆安全管理类平台向用户分发带车载号的 GPS 设备后,登录平台的默认密码与车载号强关联且大量用户从未修改。攻击者通过另一个接口枚举车载号后,逐一以默认密码登录对应账号,即可实时查询每辆车的位置坐标、行驶轨迹及车主信息。由于默认密码的可预测性,批量获取大量车辆的定位数据仅需自动化遍历,无需任何代码漏洞。
Shell 历史文件与自动化脚本泄露多系统初始密码:运维团队在部署自动化初始化脚本时将服务器初始密码以明文写入脚本,脚本随部署物料存储在服务器可读路径;服务器的 .bash_history 文件同时记录了大量包含密码参数的历史命令。攻击者在获得任一服务器访问权限后,通过读取脚本文件或 Shell 历史,提取出初始化密码字符串,这类密码往往在同批次部署的多台服务器上通用,由此实现从单点突破扩展为批量服务器接管。
已入侵 webshell 未清理被他人二次利用:系统遭入侵后,攻击者上传的 webshell 未被及时发现和清除,长期保留在 Web 可访问路径。后续其他攻击者通过目录扫描或情报共享发现该路径,直接利用遗留的 webshell 获取服务器权限,跳过了全部初始入侵步骤。受影响组织在应急响应时往往只关注漏洞修补,忽视对已植入后门的全面清查,导致同一入口被反复利用。
工控 SCADA 系统与 Web 管理平台共享同一服务器:天然气主干网调度管理软件与对外开放的 SCADA 平台部署在同一台物理服务器上,两者共用文件系统和网络接口。攻击者通过 Web 层的 IIS 写权限漏洞向 Web 目录写入 webshell,进而在获得服务器操作系统权限后直接访问 SCADA 数据库和调度控制界面,将 Web 安全问题直接转化为工控系统控制权的获取。IT 系统与 OT 系统的物理或逻辑隔离缺失是此类场景的根本成因。
多站点共用同一 Web 服务器上传目录导致跨站污染:虚拟主机或托管平台将多个站点的文件存储路径聚合到同一物理目录,且 Web 服务器的 alias 或虚拟目录配置存在映射错误。攻击者在某一站点获得上传权限后,上传的文件落地路径可被其他站点的 URL 解析执行;或通过访问某子站的上传目录 URL,实际加载了主站或其他子站部署的 webshell。一个低权限站点的文件上传能力因此扩展为整个服务器上所有虚拟主机的代码执行。
安全运维系统日志中记录的凭证成为横向入口:堡垒机或漏洞扫描系统的日志文件中存储了大量明文或低强度混淆的凭证信息,包括扫描任务使用的系统账号密码和目标主机登录凭证。攻击者在获得安全系统的有限权限(如日志查看权限)后,下载并分析历史日志,提取出内网多个系统的有效凭证,将一次安全系统的低权限突破转化为覆盖内网核心资产的凭证集合,安全运维基础设施本身成为凭证信息最集中的暴露点。
SHTML/SSI 文件上传触发服务端包含读取配置:文件上传接口(如头像上传)未限制上传文件扩展名,允许提交以 .shtml 为后缀的文件。IIS 等服务器默认启用 SSI(Server Side Includes)处理 .shtml 文件,攻击者在文件内嵌入 <!--#include file="../web.config" --> 等 SSI 指令后上传,服务端在响应访问请求时直接执行包含命令,将目标文件的原始内容回显在页面中,数据库连接字符串等敏感配置因此泄露,整个过程绕过了对脚本类扩展名的过滤逻辑。
内网文档管理系统对任意访客开放并包含 VPN 配置文件:企业内部用于员工自助服务的文档或 ERP 系统对网络开放且未配置访问控制,系统内存放着向新员工分发的 VPN 客户端配置包和接入说明文档。攻击者无需任何账号即可下载完整 VPN 配置,进而接入内网;结合内网中大量未加固的管理界面和弱口令系统,单次文档下载可转化为完整内网访问权限。
SVN 源码泄露配合数据库端口对外直连:Web 服务器存在 SVN 目录可访问,攻击者还原源码后从配置文件中提取数据库连接地址;进一步扫描发现该数据库端口并非只监听内网,而是对外开放且允许配置中的账号从任意来源连接。攻击者无需通过 Web 层,直接以数据库客户端发起连接,绕过应用层全部鉴权机制,将源码信息泄露与数据库直连两个独立配置疏失叠加,形成完整数据提取路径。
公共网络身份验证仅依赖响应包内容校验:公共场所免费 Wi-Fi 的认证流程将验证结果完整地体现在 HTTP 响应包中,客户端根据响应内容判断是否放行上网请求,服务端不做任何状态验证。攻击者拦截正常认证流程记录成功响应,此后输入任意手机号和验证码后将响应包替换为已捕获的成功响应,即可绕过认证上网,账号体系形同虚设,整个过程不触发任何服务端校验失败。
OEM 手机厂商推送后台无认证可向全量设备静默安装 APK:手机制造商在预装系统中内置了与云端推送服务通信的后台管理功能,包括 APK 静默安装、卸载和激活指令下发;该后台管理界面部署在公网且未配置访问控制。攻击者访问管理页面后可选择推送恶意 APK,设备在收到指令后无需用户确认即自动完成安装,影响范围覆盖全部使用该厂商预装系统的设备,危害从单点服务器入侵扩展为大规模终端控制。
省级交通监控平台无需登录直接访问全域摄像头:交通管理部门的视频监控汇聚平台在部署后未配置任何访问认证,直接访问系统 URL 即可进入主界面,浏览并调阅其管辖范围内全部收费站和监控点的实时影像。攻击者无需账号或密钥,单次访问即可实时监看跨越省内数千个摄像头节点,此类系统与公网直接相连且长期保持可访问状态,安全假设完全建立在"URL 不易被发现"之上。
IIS 虚拟目录路径映射错误导致跨站文件解析:Web 服务器上多个站点通过虚拟目录映射共用同一物理上传路径,但 IIS 的 alias 配置存在指向错误——某站点的后台管理路径与另一站点的 Web 根目录在物理上重叠。攻击者在其中一个站点获得文件上传权限后,上传的 webshell 落地在被映射共享的目录中,通过另一站点的 URL 即可访问并执行该文件,一个站点的上传能力因配置映射错误而扩展为整台服务器上其他虚拟主机的代码执行入口。
数据库错误页面直接回显完整 SQL 语句与表结构:生产环境的 Web 应用未关闭数据库异常的详细输出,触发错误时响应体中直接包含完整的 SQL 语句、表名、字段名及数据库版本信息。攻击者通过构造边界输入触发报错,即可在不依赖盲注的情况下精准获取数据库结构,将后续注入攻击从盲测模式转变为精准枚举,错误信息成为数据库地图的主动来源。
内网密码规律从公开社交信息中逆向推导:运维或技术人员在公开社交平台(贴吧、论坛等)留有与工作邮箱相同的账号名,攻击者从第三方数据泄露库中获取对应密码后,以相同凭证尝试登录企业邮箱成功;进入邮箱后不仅获取了 VPN 配置和内网系统账号,还发现了完整的企业内部通讯录,为后续针对性爆破提供精确的目标账号列表,个人数字身份与企业内网身份未隔离是根本成因。
前端禁用 JavaScript 直接绕过登录验证:管理后台的身份验证逻辑部分依赖 JavaScript 执行——登录按钮的点击校验、页面跳转判断均在客户端脚本中实现,服务端对未经 JavaScript 处理的直接请求不加拦截。攻击者在浏览器中禁用 JavaScript 后直接访问后台功能路径,或通过 URL 直接跳转绕过登录页,即可进入完整管理界面,页面源码中有时同时硬编码了管理员凭证供 JavaScript 校验使用,两处缺陷叠加使攻击路径更为直接。
数据库全量导出接口通过合法账号触发:系统提供给业务方的数据查询接口未对查询范围做约束,参数设计允许无条件查询或设置极大的返回页数。攻击者使用正常注册的业务账号,通过逐步调大分页参数或去除过滤条件,即可将原本的单条查询接口转变为全量数据导出通道,整个过程使用合法凭证发起合法格式的请求,不触发任何认证失败告警,仅靠接口缺乏结果集大小限制这一配置疏失即可完成。
应急响应后遗留 webshell 被攻击者二次复用:系统在遭受入侵后启动了针对被报告漏洞的修补流程,但应急响应仅聚焦于漏洞本身,未对已植入的后门文件进行全面清查。攻击者通过目录扫描或情报共享发现仍存活的 webshell,直接利用遗留后门重新获取服务器权限,跳过全部初始入侵步骤;同一服务器在经过"修复"后再次沦陷,暴露出应急响应流程中遗留物清理环节的系统性缺失。
绕过方式
WAF 规则不完整:针对 ShellShock 的 WAF 规则通常检测 () { 字符串,攻击者可通过在函数体中插入空格、换行或使用不同编码方式绕过。针对路径的 WAF 规则依赖精确匹配,对大小写变体或 URL 编码形式往往失效。
特殊协议绕过:Heartbleed 利用的是 TLS 协议内部的心跳扩展,流量特征与正常 TLS 握手高度相似;WebLogic T3 协议是专有二进制协议,基于 HTTP 流量规则的 WAF 无法解析其内容。
通过 SSRF 间接利用内网服务:内网中存在大量未鉴权的配置不当服务,这些服务不直接对外暴露,但通过外网可触达的 SSRF 漏洞可以将请求转发至内网,绕过边界防火墙,直接访问内网 Redis、Elasticsearch、管理控制台等未加认证的服务。
防御控制点
安全基线管理:参照 CIS Benchmark 等行业基线标准,对操作系统、中间件、数据库的默认配置逐项核查,禁用不必要的功能模块,关闭默认管理账户或修改默认凭证。
补丁管理流程:建立软件资产清单,对每个组件的版本进行持续追踪,在高危 CVE 公开后设定修复时间窗口,将补丁部署纳入变更管理流程而非依赖人工记忆。
定期配置扫描:将配置扫描纳入 CI/CD 流水线或定期自动化任务,使用工具对线上环境做持续配置合规检测,发现漂移及时告警。
关闭不必要功能和接口:上线前执行安全清单,确认调试接口、安装向导、phpinfo 页面、目录列表等开发期功能已全部关闭或删除,而非仅在前端隐藏。具体包括:关闭 JBoss JMX Console 或配置强制认证;生产环境禁用 JDWP 远程调试参数,调试端口不对外暴露;禁用 IIS WebDAV 或严格限制 PUT/MOVE 等写方法;在 Web 服务器层屏蔽对 .svn/.git 目录的访问。
DNS 区域传送限制:DNS 服务器配置 AXFR 请求的白名单,仅允许授权从服务器同步,拒绝任意来源的区域传送请求。
错误信息脱敏:生产环境关闭详细错误输出,统一返回通用错误页面,避免堆栈跟踪、框架版本、服务器路径等信息通过错误响应暴露给攻击者。