渗透测试报告

企业OA系统测试 - https://oa.company.com

安全评估概览
综合风险评分
25
/ 100
1
严重漏洞
3
高危漏洞
7
中危漏洞
15
低危漏洞
89
页面扫描
28
任务完成
26
发现漏洞
100%
覆盖率
漏洞详细列表
严重Cross-Site Request ForgeryCWE-352

CSRF漏洞

/api/user/delete

CVSS评分
8.8

漏洞描述

用户删除接口未验证CSRF Token,攻击者可以构造恶意页面诱导用户删除账号。

复现证据

正常请求: POST /api/user/delete {user_id: 100}
构造恶意页面: <form action='/api/user/delete' method='POST'><input name='user_id' value='100'/></form>
用户点击后账号被删除,未验证CSRF Token

修复建议

实现CSRF Token验证机制,所有状态改变的请求必须携带有效的CSRF Token。

发现时间: 2026/1/22 10:15:00
高危Unrestricted File UploadCWE-434

文件上传漏洞

/api/upload

CVSS评分
8.5

漏洞描述

文件上传接口未验证文件类型,可以上传恶意脚本文件。

复现证据

上传正常图片: upload test.jpg → 成功
上传PHP脚本: upload shell.php → 成功
访问: /uploads/shell.php → 脚本被执行

修复建议

严格验证文件类型和扩展名,使用白名单机制,将上传文件存储在非执行目录。

发现时间: 2026/1/22 11:30:00
高危Server-Side Request ForgeryCWE-918

SSRF漏洞

/api/fetch

CVSS评分
7.5

漏洞描述

远程资源获取接口未验证目标URL,可以访问内网资源。

复现证据

正常请求: POST /api/fetch {url: 'https://example.com'}
SSRF测试: POST /api/fetch {url: 'http://127.0.0.1:3306'}
成功访问内网MySQL服务,返回版本信息

修复建议

验证目标URL的合法性,禁止访问内网IP段,使用URL白名单机制。

发现时间: 2026/1/22 12:45:00
高危XML External EntityCWE-611

XXE漏洞

/api/xml/parse

CVSS评分
7.2

漏洞描述

XML解析接口未禁用外部实体,可以读取服务器文件。

复现证据

正常XML: <?xml version='1.0'?><data>test</data>
XXE攻击: <?xml version='1.0'?><!DOCTYPE foo [<!ENTITY xxe SYSTEM 'file:///etc/passwd'>]><data>&xxe;</data>
成功读取/etc/passwd文件内容

修复建议

禁用XML外部实体解析,使用安全的XML解析器配置。

发现时间: 2026/1/22 13:20:00
中危Weak Password PolicyCWE-521

弱密码策略

/register

CVSS评分
5.3

漏洞描述

注册接口未强制密码复杂度要求,允许使用弱密码。

复现证据

测试密码: 123456 → 注册成功
测试密码: aaa → 注册成功
未要求大小写字母、数字、特殊字符组合

修复建议

强制密码复杂度要求:至少8位,包含大小写字母、数字和特殊字符。

发现时间: 2026/1/22 14:00:00
中危Session FixationCWE-384

会话固定漏洞

/login

CVSS评分
5.9

漏洞描述

登录后未重新生成Session ID,存在会话固定攻击风险。

复现证据

登录前Session ID: abc123
登录后Session ID: abc123(未变化)
攻击者可以预先设置受害者的Session ID

修复建议

登录成功后必须重新生成Session ID,使旧的Session ID失效。

发现时间: 2026/1/22 14:30:00
中危Path TraversalCWE-22

目录遍历漏洞

/api/file/read

CVSS评分
6.5

漏洞描述

文件读取接口未验证路径,可以读取任意文件。

复现证据

正常请求: GET /api/file/read?path=doc/readme.txt
路径遍历: GET /api/file/read?path=../../etc/passwd
成功读取系统文件

修复建议

验证文件路径,禁止..符号,使用白名单限制可访问目录。

发现时间: 2026/1/22 15:00:00
中危HTTP Response SplittingCWE-113

HTTP响应拆分

/redirect

CVSS评分
5.4

漏洞描述

重定向接口未过滤换行符,可以注入HTTP响应头。

复现证据

正常重定向: /redirect?url=https://example.com
注入测试: /redirect?url=https://example.com%0d%0aSet-Cookie:admin=true
成功注入Set-Cookie响应头

修复建议

过滤URL参数中的换行符( ),使用URL编码验证。

发现时间: 2026/1/22 15:30:00
中危ClickjackingCWE-1021

点击劫持漏洞

/

CVSS评分
4.3

漏洞描述

网站未设置X-Frame-Options响应头,可以被嵌入iframe进行点击劫持。

复现证据

检查响应头: 缺少X-Frame-Options
测试嵌入: <iframe src='https://oa.company.com'></iframe>
成功嵌入,可以进行点击劫持攻击

修复建议

设置X-Frame-Options: DENY或SAMEORIGIN响应头,或使用CSP的frame-ancestors指令。

发现时间: 2026/1/22 16:00:00
中危CORS MisconfigurationCWE-942

CORS配置错误

/api/*

CVSS评分
5

漏洞描述

CORS配置过于宽松,允许任意域名跨域访问。

复现证据

请求头: Origin: https://evil.com
响应头: Access-Control-Allow-Origin: *
允许任意域名访问敏感API

修复建议

限制CORS允许的域名,使用白名单机制,敏感接口禁止跨域访问。

发现时间: 2026/1/22 16:30:00
低危Missing Security HeadersCWE-16

缺少安全响应头

/

CVSS评分
3.7

漏洞描述

网站缺少多个安全相关的HTTP响应头。

复现证据

缺少: X-Content-Type-Options
缺少: X-XSS-Protection
缺少: Strict-Transport-Security
缺少: Content-Security-Policy

修复建议

添加安全响应头:X-Content-Type-Options: nosniff, X-XSS-Protection: 1; mode=block, Strict-Transport-Security: max-age=31536000, Content-Security-Policy。

发现时间: 2026/1/22 17:00:00
低危Insecure CookieCWE-614

Cookie安全属性缺失

/login

CVSS评分
3.1

漏洞描述

Session Cookie缺少Secure和HttpOnly属性。

复现证据

Set-Cookie: JSESSIONID=abc123; Path=/
缺少Secure属性(可通过HTTP传输)
缺少HttpOnly属性(可被JavaScript访问)

修复建议

为Session Cookie添加Secure和HttpOnly属性:Set-Cookie: JSESSIONID=abc123; Path=/; Secure; HttpOnly; SameSite=Strict。

发现时间: 2026/1/22 17:15:00
低危Information DisclosureCWE-200

版本信息泄露

/

CVSS评分
2.7

漏洞描述

HTTP响应头泄露服务器版本信息。

复现证据

Server: Apache/2.4.41 (Ubuntu)
X-Powered-By: PHP/7.4.3
泄露服务器和语言版本信息

修复建议

隐藏或移除Server和X-Powered-By响应头,避免泄露版本信息。

发现时间: 2026/1/22 17:30:00
低危Directory ListingCWE-548

目录列表开启

/uploads/

CVSS评分
3.5

漏洞描述

上传目录开启了目录列表功能,可以浏览所有上传文件。

复现证据

访问: /uploads/
显示目录列表,可以看到所有上传的文件名
可能泄露敏感文件

修复建议

禁用Web服务器的目录列表功能(Apache: Options -Indexes, Nginx: autoindex off)。

发现时间: 2026/1/22 17:45:00
低危Missing Rate LimitingCWE-307

缺少速率限制

/api/login

CVSS评分
3.7

漏洞描述

登录接口缺少速率限制,可以进行暴力破解。

复现证据

连续发送1000次登录请求
全部成功响应,未被限制
可以进行密码爆破攻击

修复建议

实现速率限制:同一IP每分钟最多尝试5次登录,失败3次后需要验证码。

发现时间: 2026/1/22 18:00:00
低危Information DisclosureCWE-209

错误信息泄露

/api/user

CVSS评分
2.7

漏洞描述

错误响应包含详细的堆栈跟踪信息。

复现证据

触发错误: GET /api/user?id=abc
响应包含完整的Java堆栈跟踪
泄露代码路径和框架版本

修复建议

在生产环境禁用详细错误信息,只返回通用错误提示,详细日志记录到服务器。

发现时间: 2026/1/22 18:15:00
低危Insufficient LoggingCWE-778

缺少日志记录

/api/*

CVSS评分
3.1

漏洞描述

系统缺少安全事件日志记录。

复现证据

测试多次登录失败
测试越权访问
未发现相关安全日志记录

修复建议

记录所有安全相关事件:登录失败、权限拒绝、异常访问等,便于安全审计和事件响应。

发现时间: 2026/1/22 18:30:00
低危Improper Input ValidationCWE-20

缺少输入长度限制

/api/comment

CVSS评分
3.3

漏洞描述

评论接口未限制输入长度,可能导致存储溢出或DoS。

复现证据

发送10MB的评论内容
服务器接受并存储
可能导致存储资源耗尽

修复建议

限制所有用户输入的长度,评论内容建议限制在10KB以内。

发现时间: 2026/1/22 18:40:00
低危Cleartext TransmissionCWE-319

缺少HTTPS强制跳转

http://oa.company.com

CVSS评分
3.7

漏洞描述

HTTP访问未强制跳转到HTTPS,可能导致中间人攻击。

复现证据

访问: http://oa.company.com
未跳转到HTTPS
敏感数据可能通过HTTP明文传输

修复建议

配置HTTP到HTTPS的301永久重定向,并设置HSTS响应头。

发现时间: 2026/1/22 18:45:00
低危Missing CAPTCHACWE-804

缺少验证码保护

/register

CVSS评分
3.1

漏洞描述

注册接口缺少验证码保护,可以批量注册账号。

复现证据

编写脚本批量注册100个账号
全部成功,未被限制
可能被用于垃圾注册攻击

修复建议

在注册、登录等敏感操作中添加验证码(如reCAPTCHA),防止自动化攻击。

发现时间: 2026/1/22 18:50:00
低危Improper Input ValidationCWE-434

缺少内容类型验证

/api/upload

CVSS评分
3.5

漏洞描述

文件上传只验证扩展名,未验证文件实际内容类型。

复现证据

将PHP脚本重命名为test.jpg
上传成功(只检查了扩展名)
可以绕过简单的扩展名验证

修复建议

验证文件的实际MIME类型和文件头魔数,不能仅依赖扩展名。

发现时间: 2026/1/22 18:55:00
低危Weak Password PolicyCWE-262

缺少密码历史记录

/api/user/password

CVSS评分
2.7

漏洞描述

修改密码时未检查历史密码,可以重复使用旧密码。

复现证据

修改密码: password123 → newpass456
再次修改: newpass456 → password123
成功,未限制重复使用旧密码

修复建议

记录用户最近5次密码的哈希值,修改密码时禁止使用历史密码。

发现时间: 2026/1/22 19:00:00
低危Weak Password PolicyCWE-262

缺少密码过期策略

/login

CVSS评分
2.6

漏洞描述

系统未强制用户定期修改密码。

复现证据

查看账号创建时间: 2025-01-01
密码从未修改过
系统未提示或强制修改密码

修复建议

实施密码过期策略:要求用户每90天修改一次密码,过期后强制修改。

发现时间: 2026/1/22 19:10:00
低危Improper AuthenticationCWE-307

缺少账号锁定机制

/api/login

CVSS评分
3.7

漏洞描述

多次登录失败后未锁定账号,可以无限尝试。

复现证据

连续输入错误密码100次
账号未被锁定
可以继续尝试登录

修复建议

实施账号锁定机制:连续5次登录失败后锁定账号15分钟,或要求邮箱验证解锁。

发现时间: 2026/1/22 19:20:00
低危Session ManagementCWE-613

缺少会话超时

/login

CVSS评分
3.1

漏洞描述

Session永不过期,存在安全风险。

复现证据

登录后获取Session ID
7天后Session仍然有效
未设置Session超时时间

修复建议

设置合理的Session超时时间:闲置30分钟后自动登出,绝对超时时间24小时。

发现时间: 2026/1/22 19:30:00
低危Session ManagementCWE-384

缺少并发会话控制

/login

CVSS评分
2.6

漏洞描述

同一账号可以在多个设备同时登录,未限制并发会话。

复现证据

设备A登录账号
设备B使用相同账号登录
两个设备同时在线,未被踢出

修复建议

限制同一账号的并发会话数:新设备登录时,旧设备Session失效,或提示用户选择。

发现时间: 2026/1/22 19:40:00