软件安全缺陷查找实训报告
1. 基本信息
名称 : | 软件安全缺陷查找 |
---|---|
时间 : | 3 月 13 日 |
测试人: | XXX |
学号: | xxxxxxxxx |
年级专业班级: | XX 级 XX 专业 X 班 |
目标 : | 了解常见的软件漏洞类型及其危害。 掌握软件漏洞检测、分析和修复的方法。 提高测试设计能力和缺陷分析能力以及安全意识。 |
2. 测试内容
1. 测试思路及测试环境
测试思路:
本次测试通过手动输入特定的测试用例来验证目标系统是否存在安全缺陷,重点关注 SQL 注入、XSS(跨站脚本攻击)、CSRF(跨站请求伪造)等常见漏洞类型。测试过程中对输入数据进行构造和变形,观察系统是否对非法输入进行有效防护。
测试环境:
- 操作系统:Windows 10
- 测试工具:Burp Suite、浏览器开发者工具
- 目标系统:教务管理系统(http://10.1.1.149)
- 数据库:MySQL 5.7
2. 缺陷列表
缺陷编号 | 缺陷标题 | 所属模块 | 缺陷描述 | 严重程度 | 优先级 |
---|---|---|---|---|---|
DEF-SEC01 | 密码 SQL 注入 | 用户模块 | 输入精心构造的密码后可绕过密码检测 | 严重 | 高 |
DEF-SEC02 | XSS 注入漏洞 | 公告模块 | 输入恶意脚本后可在页面中执行 | 中等 | 中 |
DEF-SEC03 | CSRF 攻击漏洞 | 成绩查询模块 | 未验证来源的请求可被伪造提交 | 中等 | 中 |
3. 缺陷详细描述
缺陷编号:DEF-SEC01
缺陷标题:密码 SQL 注入
测试对象:教务管理系统(http://10.1.1.149)
缺陷描述:输入精心构造的密码后可绕过密码检测
操作步骤:
- 访问登录页面(http://10.1.1.149/login)。
- 在用户名输入框中输入
admin
。 - 在密码输入框中输入
' OR '1'='1
。 - 点击“登录”按钮。
预期结果: 系统应提示“用户名或密码错误”。
实际结果: 成功登录系统,进入用户主页。
严重程度:严重
优先级:高
发现时间:2025-03-10
缺陷编号:DEF-SEC02
缺陷标题:XSS 注入漏洞
测试对象:教务管理系统(http://10.1.1.149)
缺陷描述:输入恶意脚本后可在页面中执行
操作步骤:
- 进入公告发布页面。
- 在公告内容框中输入
<script>alert('XSS')</script>
。 - 提交公告并查看公告详情页面。
预期结果: 系统应对输入内容进行过滤,避免脚本执行。
实际结果: 页面弹出警告框显示XSS
,恶意脚本被执行。
严重程度:中等
优先级:中
发现时间:2025-03-10
缺陷编号:DEF-SEC03
缺陷标题:CSRF 攻击漏洞
测试对象:教务管理系统(http://10.1.1.149)
缺陷描述:未验证来源的请求可被伪造提交
操作步骤:
- 登录系统后,访问成绩修改页面。
- 构造一个包含恶意代码的 HTML 文件,内容如下:
<img src="http://10.1.1.149/score?student_id=123&score=100" />
- 将该文件发送给其他用户,诱导其访问。
预期结果: 系统应对所有请求进行来源验证,防止恶意操作。
实际结果: 成绩被成功修改为 100 分,且无任何验证提示。
严重程度:中等
优先级:中
发现时间:2025-03-10
3. 测试分析
在本次测试中,我们发现教务管理系统存在多个安全缺陷,主要集中在以下方面:
- SQL 注入漏洞:由于系统未对用户输入进行有效过滤和参数化处理,导致攻击者可通过构造特殊输入绕过身份验证。建议使用预编译语句(Prepared Statements)和参数绑定来防范此类漏洞。
- XSS 注入漏洞:系统未对用户输入的内容进行严格的过滤和转义,导致恶意脚本可以被执行。建议在输出到页面前对特殊字符(如
<
,>
,&
等)进行 HTML 转义处理。 - CSRF 攻击漏洞:系统未对敏感操作请求进行来源验证,容易受到伪造请求攻击。建议引入 CSRF Token 机制,确保每个请求的合法性。
通过本次测试,我们不仅掌握了常见漏洞的检测方法,还深刻认识到软件安全的重要性。未来在开发过程中,应加强输入验证、输出编码和权限控制,以提升系统的整体安全性。