Files
examination/topics/cybersecurity/web-security/short_answer.json
T
wonder 70e368e235
Deploy Examination / deploy (push) Successful in 7s
feat: add cybersecurity topic with 6 subtopics (204 questions)
New topic group: 网络安全专题 (cybersecurity)
Subtopics:
- web-security: Web 安全基础 (34 questions)
- crypto-basics: 密码学基础 (34 questions)
- buffer-overflow: 缓冲区溢出与漏洞利用 (34 questions)
- os-security: 操作系统安全 (34 questions)
- network-attack: 网络攻防 (34 questions)
- secure-coding: 安全编程实践 (34 questions)

Question types per subtopic:
- single_choice × 20
- true_false × 10
- short_answer × 3
- code_reading × 1

Difficulty range: 1-3 (基础)
2026-09-17 13:33:04 +08:00

92 lines
5.6 KiB
JSON

{
"topic": "web-security",
"type": "short_answer",
"schema_version": "1.0.0",
"generated": "2026-09-17T00:00:00+08:00",
"questions": [
{
"id": "sa-001",
"type": "short_answer",
"difficulty": 2,
"tags": [
"web安全",
"xss"
],
"question": "请简述 XSS 攻击的三种主要类型(存储型、反射型、DOM 型),并分别说明其攻击流程和典型场景。",
"answer": "1. 存储型 XSS(持久型):攻击者将恶意脚本提交并存储到服务器端(如论坛帖子、评论区),当其他用户访问包含该内容的页面时,恶意脚本从服务器返回并在浏览器中执行。典型场景:论坛评论、用户资料、站内消息。\n\n2. 反射型 XSS(非持久型):攻击者构造包含恶意脚本的 URL,诱导用户点击后,服务器将恶意脚本作为参数值「反射」回 HTML 响应中执行。典型场景:搜索结果页显示搜索关键词、错误消息显示用户输入。\n\n3. DOM 型 XSS:攻击者构造的 URL 中包含恶意数据,前端 JavaScript 直接从 URL(如 location.hash、document.referrer)读取数据并写入 DOM(如 innerHTML),不经过服务器处理。典型场景:单页应用(SPA)、前端路由处理。",
"source": null,
"related": [],
"keywords": [
"存储型",
"反射型",
"DOM型",
"恶意脚本",
"服务器存储",
"URL参数",
"DOM操作",
"innerHTML",
"浏览器执行"
],
"scoring_rubric": "满分标准:正确列出三种类型(各1分),每种类型需说明攻击流程(各2分)和至少一个典型场景(各1分)。总分9分。若仅列出类型名称但无流程和场景,最高得3分。",
"explanation": ""
},
{
"id": "sa-002",
"type": "short_answer",
"difficulty": 2,
"tags": [
"web安全",
"sql注入",
"csrf"
],
"question": "对比 SQL 注入和 CSRF 两种攻击方式,从攻击目标、利用条件和防御策略三个方面进行分析。",
"answer": "攻击目标:\n- SQL 注入:针对后端数据库,通过篡改 SQL 查询语义来窃取、修改或删除数据库数据,甚至执行系统命令。\n- CSRF:针对已认证用户的会话,利用浏览器自动携带凭据的特性,以用户身份执行非预期的操作(如转账、改密码)。\n\n利用条件:\n- SQL 注入:需要应用程序存在将用户输入直接拼接至 SQL 语句的代码缺陷,攻击者构造恶意输入即可触发,不需要用户登录。\n- CSRF:需要用户已登录目标站点且浏览器保存了有效的会话凭证,同时目标站点的状态更改请求缺少有效的来源验证。\n\n防御策略:\n- SQL 注入:使用参数化查询/预编译语句、输入验证与过滤、最小权限原则、使用 ORM 框架。\n- CSRF:使用 CSRF Token 验证、SameSite Cookie 属性、验证 Referer/Origin 头、关键操作要求二次确认。",
"source": null,
"related": [],
"keywords": [
"SQL注入",
"CSRF",
"数据库",
"会话",
"参数化查询",
"CSRF Token",
"SameSite",
"输入验证",
"拼接",
"自动携带Cookie"
],
"scoring_rubric": "满分标准:三个维度(攻击目标、利用条件、防御策略)各占3分,每个维度中两种攻击的对比各1.5分。回答需体现关键差异,表述准确完整。总分9分。仅对比一个维度或泛泛而谈,酌情扣分。",
"explanation": ""
},
{
"id": "sa-003",
"type": "short_answer",
"difficulty": 2,
"tags": [
"web安全",
"文件上传",
"ssrf"
],
"question": "请分别描述防御文件上传漏洞和 SSRF 漏洞的最佳实践(至少各列出三点)。",
"answer": "文件上传防御最佳实践:\n1. 服务端验证文件类型:检查文件扩展名白名单、MIME 类型和文件头签名(Magic Number),不依赖前端验证。\n2. 重命名上传文件:使用随机名称(如 UUID)替换原始文件名,避免路径遍历和文件名解析漏洞。\n3. 隔离存储:将上传文件存储在 Web 根目录之外,或使用独立的文件存储服务(如对象存储)。\n4. 禁用执行权限:确保上传目录不可执行脚本。\n5. 限制文件大小:防止 DoS 攻击。\n\nSSRF 防御最佳实践:\n1. URL 白名单:只允许访问预定义的可信域名和 IP 范围。\n2. 协议限制:只允许 http:// 和 https:// 协议,禁止 file://、gopher://、dict:// 等危险协议。\n3. IP 地址校验:解析域名为 IP 后检查是否为内网地址(127.0.0.0/8、10.0.0.0/8、172.16.0.0/12、169.254.0.0/16 等),防止 DNS 重绑定。\n4. 响应处理:限制响应大小和类型,避免将完整响应返回给客户端。\n5. 禁用不必要的 URL 重定向跟随。",
"source": null,
"related": [],
"keywords": [
"文件类型验证",
"白名单",
"重命名",
"UUID",
"隔离存储",
"执行权限",
"Magic Number",
"协议限制",
"内网地址",
"DNS重绑定",
"URL白名单",
"IP校验"
],
"scoring_rubric": "满分标准:文件上传防御列出至少3点(每点1.5分,共4.5分),SSRF防御列出至少3点(每点1.5分,共4.5分)。每点需表述清楚且正确。总分9分。少于3点或表述错误酌情扣分。",
"explanation": ""
}
]
}