XSS和sql注入部分场景测试用例样例
目录
1. SQL 注入测试用例设计
基本 SQL 注入
复杂 SQL 注入
盲注测试
2. XSS 攻击测试用例设计
基本 XSS 攻击
复杂 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
事件。
- 输入: