漏洞测试
未经资产所有者书面许可,私自执行上述全流程渗透测试,属于非法入侵计算机系统,需承担民事赔偿 + 刑事责任,仅可在企业授权的等保测评、安全验收项目中合法使用。
一、十大漏洞
1. 失效的访问控制(越权漏洞:水平越权 + 垂直越权)
权限校验在客户端 / 参数可控,用户越权操作
plaintext
GET /api/user/profile?id=1001 →自己
GET /api/user/profile?id=1002 →别人数据(漏洞)
同角色,改 ID 查看其他用户数据
- 垂直越权(低权限越高级权限) 普通用户路径
/user/add 改成 /admin/add,实现管理员操作
2. 加密机制失效(不安全加密 / 明文传输)
- 传输:使用 HTTP 明文,抓包窃取账号密码
- 存储:密码简单 MD5、无加盐弱哈希、SHA1 老旧算法,可彩虹表爆破
- 场景:敏感数据明文存库、Cookie 无加密
3. 注入漏洞
- SQL 注入:参数拼接 SQL,查 / 删数据库
- XSS 跨站脚本:前端注入 JS,盗取 Cookie
- 命令注入:可控参数拼系统命令(
ping;whoami)
4. 不安全的设计(设计缺陷)
业务逻辑天生漏洞:优惠券无限领用、越权下单、验证码复用、支付逻辑漏洞。
5. 安全配置错误
- 默认账号密码不改(
admin/admin、root/root)
- 调试模式开启、报错详情泄露路径 / 数据库信息
- 目录遍历、不必要端口开放、多余功能开启
6. 老旧 / 有漏洞第三方组件
组件漏洞未升级:
- SMB 协议漏洞 →永恒之蓝(MS17-010)
- Spring4Shell、Log4j、Fastjson 等开源组件漏洞
7. 身份认证失效
- 弱口令:123456、生日密码
- 密码明文存储、弱哈希无盐
- 会话固定、Cookie 复用、验证码可爆破
8. 软件和数据完整性失效
未做校验:文件上传篡改、依赖包被投毒、文件校验缺失导致恶意代码执行。
9. 安全日志 & 监控失效
攻击无日志记录、日志不全、无告警,入侵后无法溯源排查。
10. SSRF 服务端请求伪造
服务端可控参数访问任意地址:内网端口探测、访问内网数据库、读取本地文件。
二、安全基础三模块
一、CIA 三元组(信息安全核心三要素)
表格
| 名词 |
全称 |
释义 |
破坏示例 |
| C |
机密性 Confidentiality |
数据只给授权人看,严防泄露 |
越权查用户数据、拖库、明文抓包 |
| I |
完整性 Integrity |
数据传输 / 存储不能被篡改 |
文件上传篡改、数据包劫持改金额 |
| A |
可用性 Availability |
系统随时正常对外提供服务 |
DDoS、勒索病毒锁文件、删库宕机 |
口诀:保秘密、防篡改、保能用。
二、AAA 访问控制模型(权限三要素)
- 认证 Authentication(你是谁):核验身份,登录、密码、验证码、密钥
- 授权 Authorization(你能干啥):分配权限,普通用户 / 管理员权限(对应垂直 / 水平越权)
- 审计 Accounting(干了什么):记录日志,操作留痕,事后溯源(对应 OWASP 日志失效)
流程:先认证→再授权→全程审计
三、DDoS:破坏可用性 (A)
分布式拒绝服务,海量请求耗尽服务器带宽 / CPU,系统无法正常访问。
分类:流量型 DDOS、应用层 CC 攻击。
四、纵深防御(多层防御思想)
多层防护,一层破了还有下一层兜底
分层从外到内:
审计层:日志 + 监控告警
网络层:防火墙、WAF、ACL、防 DDoS
主机层:系统补丁、关闭高危端口、杀毒
应用层:代码审计、防注入、权限管控
数据层:加密存储、备份、访问管控
三、测试种类
1. 黑盒测试(功能测试)
不看源码、不关心内部实现,只测输入输出
- 视角:把程序当成密封黑箱子
- 关注点:功能对不对、需求是否达标
- 不用懂开发,不用看代码逻辑
- 常用方法:等价类、边界值、场景法
- 举例:APP 点按钮、填表单看页面结果
优点:简单高效、贴近用户;缺点:代码分支覆盖不全,漏测隐藏 BUG
2. 白盒测试(结构测试)
打开盒子,查看源代码、内部逻辑、代码路径
- 视角:看清代码、分支、循环、变量、接口
- 关注点:代码逻辑、路径、语句是否异常
- 需要看得懂编程语言
- 常用:语句覆盖、判定覆盖、路径覆盖
- 举例:查看 if 分支、循环边界、内存泄漏、代码异常
优点:深度找代码级缺陷;缺点:成本高、耗时长
3. 灰盒测试(折中,工程最常用)
部分看代码,不完整研读全量源码
举例:调用接口传参,查看数据库入库数据
既测外部功能,又查看接口、数据库、日志
不用逐行啃代码,但能抓接口参数、SQL、报文
介于黑白之间,接口测试、自动化大多是灰盒
四、渗透测试标准七阶段梳理(合规渗透流程,仅用于授权安全测试)
说明:所有渗透操作必须获得目标资产书面授权,无授权测试涉嫌违法,触犯《网络安全法》《刑法》非法侵入计算机信息系统罪。
1. 前期交互
- 甲乙双方确认书面授权委托书、测试范围、测试周期、禁用操作清单(禁止删库、删业务、破坏生产、窃取用户隐私数据);
- 明确测试类型:黑盒 / 白盒 / 灰盒,划定 IP、域名、业务系统边界;
- 约定紧急止损联络人、应急终止触发条件,避免误影响业务。
2. 信息收集(被动收集 + 主动收集)
① 被动信息收集(不触碰目标服务器,无访问行为)
- 域名:WHOIS 备案、DNS 解析、子域名、历史解析记录
- 搜索引擎:FOFA、Censys、Google Hacking、备案信息、企业工商
- 第三方平台:代码托管平台(Github/Gitee 泄露源码、配置文件)、网盘、历史爬虫快照、招聘网站(服务器架构、中间件版本)
② 主动信息收集(直接发包访问目标,会留下访问日志)
- 端口探测:Nmap 扫描开放端口、服务版本(nginx/apache/tomcat/ 数据库)
- 目录爆破、指纹识别:CMS 版本、操作系统、脚本语言、第三方组件
- 爬虫爬取站点目录、接口、表单、cookie 规则
3. 威胁建模
- 划分资产优先级:核心业务系统、数据库、后台管理、用户登录模块;
- 梳理攻击面:前端输入点、文件上传、接口参数、权限控制、第三方依赖;
- 预判潜在威胁:越权、SQL 注入、XSS、命令执行、弱口令、未授权访问,规划后续漏洞探查方向。
4. 漏洞分析
- 对照漏洞库(CVE、CNVD)匹配组件 / 版本已知漏洞;
- 手工黑盒验证:参数传参、文件上传、URL 跳转、权限绕过;
- 工具辅助扫描(AWVS、Xray 等),工具漏洞仅做参考,必须人工复现确认,剔除误报;
- 记录漏洞成因、触发条件、影响范围,区分高危 / 中危 / 低危 / 信息泄露。
5. 漏洞利用(五大测试约束原则,合规核心)
实战渗透必须严格遵守 5 项原则,防止破坏生产环境:
- 最少影响原则:利用 Payload 精简,禁止大流量发包、DOS、拖库、写入恶意木马;仅做漏洞有效性验证。
- 证据充分原则:截图 + 数据包 + 操作步骤完整留存,证明漏洞可复现,避免误判漏洞。
- 可控原则:所有操作随时可回滚,拿到权限后不修改系统配置、不新增账号、不篡改业务数据。
- 记录完整原则:全程日志、操作时间、Payload、返回结果逐条存档。
- 及时沟通原则:高危漏洞触发异常、业务卡顿,第一时间联络甲方对接人,必要时立刻终止测试。
6. 后渗透
漏洞拿到权限后的纵深探测(仍受授权与五项原则约束)
- 内网横向移动:探测内网网段、主机、数据库集群,梳理内网资产风险;
- 权限提升:从普通权限提权至管理员,确认权限边界;
- 禁止行为:窃取账号密码、导出业务数据、植入后门长期驻留、篡改服务器数据;
- 收尾:测试结束后清理测试过程产生的临时文件、测试账号、临时后门,不留遗留风险。
7. 报告撰写
- 概述:项目信息、授权范围、测试时间、测试环境;
- 漏洞详情:漏洞编号、风险等级、漏洞位置、漏洞原理、复现步骤、配图证据、修复建议;
- 总结:整体安全评级、整体整改方案、短期 / 长期加固建议(补丁更新、权限优化、WAF 配置、代码审计)。
评论(0)
暂无评论