目录
[1. SQL 注入测试用例设计](#1. SQL 注入测试用例设计)
[基本 SQL 注入](#基本 SQL 注入)
[复杂 SQL 注入](#复杂 SQL 注入)
[2. XSS 攻击测试用例设计](#2. XSS 攻击测试用例设计)
[基本 XSS 攻击](#基本 XSS 攻击)
[复杂 XSS 攻击](#复杂 XSS 攻击)
[DOM-based XSS](#DOM-based XSS)
1. SQL 注入测试用例设计
SQL 注入攻击通常通过在输入字段中插入恶意 SQL 代码,试图操纵数据库查询。设计这些测试用例时,需要涵盖各种常见的 SQL 注入技术。
基本 SQL 注入
-
用例 1: 使用单引号:
- 输入 :
' OR '1'='1
- 预期结果: 应拒绝输入并返回错误消息,不应允许用户登录或执行其他操作。
- 输入 :
-
用例 2: 使用 SQL 注释:
- 输入 :
admin'--
- 预期结果: 应拒绝输入,并返回错误消息,后续的 SQL 代码不应执行。
- 输入 :
复杂 SQL 注入
-
用例 3: 带有多条 SQL 语句:
- 输入 :
'; DROP TABLE users;--
- 预期结果: 应拒绝输入并返回错误消息,不应执行任何 SQL 语句。
- 输入 :
-
用例 4: 带有逻辑操作:
- 输入 :
' OR '1'='1' AND '2'='2
- 预期结果: 应拒绝输入并返回错误消息,不应通过验证。
- 输入 :
盲注测试
- 用例 5: 使用时间盲注 :
- 输入 :
'; IF (SELECT COUNT(*) FROM users) > 0 WAITFOR DELAY '00:00:10'--
- 预期结果: 应拒绝输入并返回错误消息,服务器响应时间不应延长。
- 输入 :
2. XSS 攻击测试用例设计
XSS 攻击通常是通过输入字段插入恶意的 JavaScript 代码,试图执行客户端脚本。设计这些测试用例时,需要涵盖常见的 XSS 攻击手段。
基本 XSS 攻击
-
用例 1: 简单的脚本注入:
- 输入 :
<script>alert('XSS')</script>
- 预期结果: 应拒绝输入或将其转义,不应弹出警告框。
- 输入 :
-
用例 2: 带有 HTML 标签的脚本注入:
- 输入 :
<img src="x" onerror="alert('XSS')">
- 预期结果 : 应拒绝输入或转义代码,不应执行
onerror
事件。
- 输入 :
复杂 XSS 攻击
-
用例 3: URL 中的 XSS:
- 输入 :
javascript:alert('XSS')
- 预期结果 : 应拒绝输入,不应允许
javascript:
协议。
- 输入 :
-
用例 4: 混淆代码注入:
- 输入 :
<scr<script>ipt>alert('XSS')</scr<script>ipt>
- 预期结果: 应拒绝输入或转义,代码不应被执行。
- 输入 :
DOM-based XSS
- 用例 5: 修改 DOM 元素 :
- 输入 :
<input type="text" value="XSS" onfocus="alert('XSS')">
- 预期结果 : 应拒绝输入或将其转义,前端代码不应执行
onfocus
事件。
- 输入 :