1. 架构形态与战术调整 (Architecture Mode)
战术指导:在输入 URL 后的第一反应,必须判断目标的“骨架”是什么。
- 核心问题:这是一个动态网站、纯静态页,还是基于 API 的前后端分离应用?
- 实战意义:不同的架构决定了漏洞的高发区是完全不同的(例如静态页面就不存在 SQL注入)。
1.1 应用交互模式
明确 Web 应用与用户交互的方式,直接决定了测试重点:
-
套用模版型 (SaaS/CMS)
-
前后端分离 (Frontend-Backend Separation)
-
纯静态页面 (Static)
- 例子:纯 HTML + CSS + JS 组成的宣传页。
- 安全测试思路:
无后端交互,因此不存在常规 Web 漏洞(如 SQLi, RCE, 上传)。
- 找线索:立即停止 Web 攻击,转为 资产发现 (OSINT),寻找同一域名下的其他子域、API 接口或后台管理入口。
2. 部署环境与权限边界 (Deployment Env)
战术指导:应用跑在什么载体上?
- 核心问题:是集成环境、原生系统还是容器?
- 实战意义:决定了获取 Shell 后的权限级别(Root/System 还是受限用户)以及防御体系的强度。
2.1 基础设施环境
-
集成软件包
-
自主/云镜像环境
- 例子:云服务器自行搭建或使用厂商公共镜像。
- 安全测试思路: 重点在于管理员的人为配置失误。防护体系很大程度上取决于云厂商的 安全组 策略。
-
容器化部署
3. 源码形态与审计难度 (Source Code Form)
战术指导:当你有机会接触到源码(开源下载或泄露)时,源码的形态决定了审计的成本与工具。
- 核心问题:代码是人能看懂的,还是机器编译过的?
- 实战意义:决定了是直接白盒审计,还是需要反编译/解密。
3.1 可读源码 (Whitebox Ready)
可以直接阅读逻辑,适合 白盒审计:
-
单纯简易源码 结构简单,逻辑直白,容易出现“面条代码”,易读易挖。
-
MVC 框架源码 引入了 MVC (Model-View-Controller) 结构。
- 难点:需要先理清 路由 (Route) 关系,找到 URL 对应的 Controller 文件,否则无法定位漏洞点。
-
前后端分离源码
3.2 难读/黑盒源码 (Blackbox/Reverse)
无法直接阅读逻辑,需要反编译或解密工具: