第一部分 20 道题完整记录(题目+答案+分析)

一、文件上传漏洞(第 1–5 题)

第 1 题

题目:在 Web 应用中,文件上传漏洞通常是由于什么导致的?

A. 服务器未对上传的文件进行类型检查

B. 用户密码设置过于复杂

C. 数据库连接信息泄露

D. 应用程序使用了最新的安全框架

正确答案:A

错误选项:B、C、D

分析:文件上传漏洞核心成因是服务器未对上传文件做类型、内容、后缀等校验,攻击者可上传恶意脚本。其余选项与上传漏洞无关。

第 2 题

题目:以下哪种文件类型在处理不当的情况下,最有可能导致文件上传漏洞被利用?

A. .txt B. .jpg C. .php D. .pdf

正确答案:C

错误选项:A、B、D

分析:.php 为服务器可执行脚本,上传后可被解析运行,直接构成 Webshell 威胁。

第 3 题

题目:为了防范文件上传漏洞,以下哪种做法是不推荐的?

A. 对上传的文件进行类型检查,只允许特定类型的文件上传

B. 对上传的文件进行大小限制

C. 将上传的文件存储在服务器的根目录下,并允许通过 URL 直接访问

D. 对上传的文件进行病毒扫描

正确答案:C

错误选项:A、B、D

分析:上传文件存放在 Web 根目录并可直接访问,是上传漏洞能被成功利用的关键条件。

第 4 题

题目:以下哪种技术可以用于检测文件上传漏洞中的恶意文件?

A. SQL 注入检测

B. 文件签名验证

C. XSS 攻击检测

D. CSRF 令牌验证

正确答案:B

错误选项:A、C、D

分析:文件签名验证(文件头校验、真实 MIME 检测)可识别伪装成图片的恶意脚本。

第 5 题

题目:在文件上传功能中,以下哪种做法可以增强安全性?

A. 允许用户上传任意类型的文件

B. 对上传的文件名进行随机化处理

C. 不对上传的文件进行任何验证或过滤

D. 将上传的文件存储在公开可访问的目录中

正确答案:B

错误选项:A、C、D 分析:随机文件名可防止路径预测、文件覆盖、直接访问利用,降低攻击成功率。


二、弱口令漏洞(第 6–10 题)

第 6 题

题目:弱口令漏洞主要是由于什么导致的?

A. 用户使用了过于简单的密码

B. 系统未对密码进行加密存储

C. 数据库连接信息泄露

D. 应用程序存在 SQL 注入漏洞

正确答案:A 错误选项

B、C、D 分析:弱口令本质是密码复杂度低、熵值不足,易被猜测、爆破。

第 7 题

题目:以下哪种密码策略有助于防范弱口令漏洞?

A. 要求密码长度至少为 8 个字符

B. 允许用户使用生日或电话号码作为密码

C. 不对用户密码进行任何限制

D. 允许用户在不同系统使用相同的密码

正确答案:A

错误选项:B、C、D 分析:密码长度是基础安全指标,长度越长暴力破解难度越高。

第 8 题

题目:在系统中实施密码复杂度要求的主要目的是什么?

A. 提高系统的处理速度

B. 防范弱口令漏洞

C. 简化用户密码管理

D. 增强系统的美观性

正确答案:B 错误选项:A、C、D

分析:复杂度要求提升密码随机性,防止字典、彩虹表破解。

第 9 题

题目:以下哪种做法有助于用户创建强密码?

A. 提供默认的密码选项

B. 要求用户定期更换密码,但不对新密码的复杂度进行要求

C. 提醒用户避免使用常见密码、个人信息作为密码

D. 允许用户将密码保存在明文形式的便签上

正确答案:C

错误选项:A、B、D 分析:避免个人信息、常见序列可从源头杜绝弱口令。

第 10 题

题目:在检测到弱口令漏洞后,以下哪种措施是首先应该采取的?

A. 立即关闭系统

B. 通知受影响的用户并要求他们更改密码

C. 对系统进行全面的安全审计

D. 增加系统的防火墙规则

正确答案:B

错误选项:A、C、D 分析:弱口令最直接风险是被登录,优先改密可快速阻断攻击路径。


三、XSS 漏洞(第 11–15 题)

第 11 题

题目:XSS 漏洞主要是由于什么导致的?

A. 应用程序未对用户输入进行充分的验证和过滤

B. 服务器未对上传的文件进行类型检查

C. 数据库连接信息泄露

D. 应用程序使用了最新的安全框架

正确答案:A

错误选项:B、C、D

分析:XSS 源于用户输入未过滤,恶意脚本被拼接到页面执行。

第 12 题

题目:以下哪种类型的 XSS 攻击最难以防御?

A. 存储型 XSS

B. 反射型 XSS

C. 基于 DOM 的 XSS

D. 持久型 XSS

正确答案:C 错误选项:A、B、D

分析:DOM XSS 仅在前端浏览器执行,不经过服务器,后端过滤与 WAF 易失效。

第 13 题

题目:为了防范 XSS 漏洞,以下哪种做法是不推荐的?

A. 对用户输入进行严格的验证和过滤

B. 使用 HTML 实体编码来转义用户输入中的特殊字符

C. 允许用户输入 JavaScript 代码,但只在服务器端执行

D. 定期更新和修补 Web 应用程序及所使用的库和框架

正确答案:C 错误选项:A、B、D

分析:任何情况下都不应允许用户可控的 JS 代码被执行。

第 14 题

题目:以下哪种技术可以用于检测和防御 XSS 攻击?

A. 输入验证

B. SQL 注入检测

C. 文件签名验证

D. 防火墙规则

正确答案:A

错误选项:B、C、D

分析:输入白名单校验是从源头拦截 XSS 注入的核心手段。

第 15 题

题目:在 Web 应用程序中,以下哪种做法有助于减少 XSS 漏洞的风险?

A. 使用 GET 请求代替 POST 请求

B. 在用户输入中插入 JavaScript 代码以增强交互性

C. 对所有用户输入进行输出编码

D. 允许用户上传任意类型的文件到服务器

正确答案:C

错误选项:A、B、D

分析:输出编码将特殊字符转为实体,浏览器不会解析为脚本。


四、XXE 漏洞(第 16–20 题)

第 16 题

题目:XXE 漏洞主要是由于什么导致的?

A. 应用程序未对用户输入的 XML 数据进行充分的验证和过滤

B. 服务器未对上传的文件进行类型检查

C. 数据库连接信息未加密存储

D. 应用程序使用了不兼容的 XML 解析器

正确答案:A

错误选项:B、C、D

分析:XXE 因 XML 解析器未禁用外部实体,且用户可控 XML 内容导致。

第 17 题

题目:以下哪种类型的 XML 解析器配置最容易导致 XXE 漏洞?

A. 禁用外部实体解析的解析器

B. 启用外部实体解析且未进行安全配置的解析器

C. 使用默认配置的解析器(假设默认配置是安全的)

D. 专门设计用于处理受限 XML 数据的解析器

正确答案:B

错误选项:A、C、D

分析:开启外部实体且无安全限制,是 XXE 漏洞产生的核心条件。

第 18 题

题目:为了防范 XXE 漏洞,以下哪种做法是不推荐的?

A. 禁用 XML 外部实体解析

B. 对用户输入的 XML 数据进行严格的验证和过滤

C. 使用白名单来限制允许的外部实体类型

D. 允许用户输入任意的 XML 数据,但只在服务器端解析

正确答案:D

错误选项:A、B、C

分析:任意 XML 输入可被构造恶意实体,直接触发 XXE 攻击。

第 19 题

题目:以下哪种技术可以用于检测和防御 XXE 攻击?

A. 输入验证

B. SQL 注入检测

C. 文件签名验证

D. XML 安全配置和解析器设置

正确答案:D

错误选项:A、B、C

分析:XXE 防御核心在于解析器安全配置,而非通用输入过滤。

第 20 题

题目:在 Web 应用程序中,以下哪种做法有助于减少 XXE 漏洞的风险?

A. 使用 GET 请求代替 POST 请求

B. 在用户输入中插入 XML 声明以增强交互性

C. 对所有用户输入的 XML 数据进行输出编码

D. 配置 XML 解析器以禁用外部实体解析

正确答案:D 错误选项:A、B、C

分析:禁用外部实体解析可从根源杜绝 XXE 利用。


第二部分 深度技术拓展(拓宽广度与深度)

ps:这段内容比较多,所以只提供思路,具体操作可单独查询;

一、文件上传漏洞深度拓展

1. 漏洞利用四要素

  1. 存在可控上传点

  2. 校验不严可上传恶意文件

  3. 文件存放在 Web 可访问目录

  4. 服务器可解析对应脚本后缀

2. 实战常见绕过方式

  • 后缀绕过:php5、phtml、pHp、.php.、asp;jpg

  • MIME 绕过:修改 Content-Type 为 image/jpeg

  • 文件头绕过:添加 GIF89a、FF D8 FF 伪装图片

  • 解析漏洞:Nginx /test.jpg/.php、Apache 多后缀解析

  • .htaccess 绕过:自定义解析规则,将图片当作 PHP 执行

  • 条件竞争:上传瞬间访问文件,绕过检测

3. 企业级防御方案

  • 后缀使用白名单,严禁黑名单

  • 文件头+内容二次校验,图片二次渲染

  • 上传目录移出 Web 根目录,设置不可执行权限

  • 文件名随机重命名(MD5/时间戳)

  • WAF+杀毒引擎+行为检测


二、弱口令漏洞深度拓展

1. 弱口令常见类型

  • 简单序列:123456、admin123、root@123

  • 个人信息:生日、手机号、姓名拼音

  • 默认口令:admin/admin、root/123456、admin/password

  • 撞库复用:其他平台泄露密码批量尝试

2. 攻击方式

  • 暴力破解、字典攻击

  • 彩虹表破解哈希

  • 撞库攻击

  • 社工猜测

3. 完整防御体系

  • 密码长度≥12 位,包含大小写+数字+符号

  • 登录失败锁定(5 次错误锁定 15 分钟)

  • 图形/行为验证码

  • 异地登录检测与提醒

  • MFA 双因素认证

  • 密码 bcrypt/Argon2 加盐存储


三、XSS 漏洞深度拓展

1. 三类 XSS 对比

  • 存储型:存入数据库,全员触发,危害最高

  • 反射型:URL 参数触发,需诱导点击

  • DOM 型:前端 JS 处理,不进后端,最难防御

2. XSS 攻击能力

  • 窃取 Cookie 实现会话劫持

  • 伪造登录页面钓鱼

  • 篡改页面内容

  • 内网 IP 探测

  • 结合 CSRF 执行未授权操作

3. 防御体系

  • 输入白名单校验

  • 输出 HTML/JS/URL 编码

  • Cookie 设置 HttpOnly、Secure、SameSite

  • 开启 CSP(内容安全策略)

  • 避免使用 innerHTML、document.write、eval


四、XXE 漏洞深度拓展

1. 攻击利用场景

  • 读取系统文件:/etc/passwd、C:\Windows\System32\drivers\etc\hosts

  • SSRF 内网探测、端口扫描

  • XML 炸弹 DoS 攻击

  • 无回显 OOB 外带数据攻击

2. 高危触发点

  • XML 格式接口、SOAP 服务

  • SVG 图片上传

  • Office 文档解析(docx/xlsx)

  • WebDAV、配置导入功能

3. 最有效防御

  • 禁用外部实体解析

  • 禁用 DTD

  • 优先使用 JSON 替代 XML

  • 使用安全升级后的 XML 解析库


第三部分 高频面试题 + 连环深度追问(HVV 必考)

ps:一个合格的面试官,一定是会追问的

一、文件上传漏洞面试题

1. 什么是文件上传漏洞?危害有多大?

:应用对上传文件校验不足,导致攻击者上传恶意脚本并执行,可直接 Getshell、控制服务器、窃取数据、内网漫游。

追问 1:上传漏洞利用的四个必要条件是什么? 答:可控上传点、校验不严、可访问目录、可被服务器解析。

追问 2:白名单后缀就一定安全吗? 答:不一定。可能存在解析漏洞、.htaccess、条件竞争、二次渲染绕过等问题。

追问 3:图片马如何才能执行? 答:需配合文件包含、服务器解析漏洞、.htaccess、条件竞争等。

追问 4:如何对抗针对上传漏洞的 WAF? 答:变形脚本、分块上传、垃圾数据填充、特殊后缀绕过、解析漏洞绕过。


二、弱口令面试题

1. 弱口令为什么在 HVV 中优先级最高?

:成本最低、成功率高、隐蔽性强,大量设备/后台存在默认口令,是最快打点方式。

追问 1:什么是撞库?如何防御? 答:利用泄露密码批量登录。防御:强密码、MFA、禁止复用、异地检测。

追问 2:只加验证码能防暴力破解吗? 答:不能。需配合账号锁定、IP 策略、异常检测、MFA。

追问 3:数据库密码加盐 Hash 就安全吗? 答:弱口令依然可被字典破解,必须强密码+慢哈希算法+MFA。

追问 4:HVV 中常见弱口令突破口有哪些? 答:Tomcat、Jenkins、路由器、摄像头、OA、后台管理员、数据库。


三、XSS 面试题

1. XSS 分为哪几类?区别是什么?

:存储型、反射型、DOM 型。DOM 型不经过后端,最难防御。

追问 1:DOM XSS 为什么 WAF 很难防御? 答:Payload 只在浏览器 DOM 中处理,不进入服务器,WAF 无法检测。

追问 2:XSS 如何窃取 Cookie?如何防御? 答:通过 document.cookie 发送到攻击者服务器。防御:HttpOnly、绑定 UA/IP。

追问 3:CSP 是什么?能完全防御 XSS 吗? 答:内容安全策略,限制资源加载。不能 100% 防御,只能大幅降低风险。

追问 4:Vue/React 为什么能减少 XSS?什么情况仍会出现 XSS? 答:框架默认转义。误用 v-html、dangerouslySetInnerHTML、innerHTML 仍会产生 XSS。


四、XXE 面试题

1. XXE 是什么?原理是什么?

:XML 外部实体注入,解析器未禁用外部实体,导致读取文件、SSRF 等攻击。

追问 1:XXE 可以直接 RCE 吗? 答:一般不能,但可通过伪协议、文件包含、密钥泄露间接 RCE。

追问 2:无回显 XXE 如何利用? 答:使用 OOB 外带攻击,通过 HTTP/FTP 将数据带出到攻击者服务器。

追问 3:哪些业务场景容易出现 XXE? 答:SVG 上传、Word 文档导入、SOAP 接口、XML 配置上传。

追问 4:防御 XXE 最根本的方法是什么? 答:禁用外部实体、禁用 DTD、尽量使用 JSON 替代 XML。


五、综合面试题(压轴必问)

1. 这四类漏洞的共同本质是什么?

:用户可控输入未被严格校验、过滤或编码,被系统信任并执行,导致恶意操作。

追问:防御所有 Web 漏洞的核心思想是什么? 答:所有外部输入不可信、最小权限、纵深防御、白名单机制、安全编码。

2. HVV 实战中你如何快速打点?

  1. 优先弱口令/默认口令

  2. 寻找文件上传点 Getshell

  3. 留言/评论区测试存储型 XSS

  4. XML/SVG 接口测试 XXE

  5. 突破后内网信息收集与横向

追问:目标 WAF 严格时如何继续突破? 答:转向弱口令、未授权访问、逻辑漏洞、SSRF、解析漏洞、子域名旁站。

3. 无明显高危漏洞时,你从哪些点入手?

:弱口令、越权访问、未授权访问、信息泄露、中间件漏洞、XSS、XXE、逻辑漏洞。


第四部分 精简背诵版(适合速记)

文件上传

  • 核心:可控上传 + 校验不严 + 可执行目录 + 可解析

  • 绕过:后缀、MIME、文件头、解析漏洞、条件竞争

  • 防御:白名单、随机文件名、存储隔离、不可执行权限

弱口令

  • 核心:密码简单、默认口令、撞库

  • 防御:锁定、复杂度、验证码、MFA、异地检测

  • 地位:HVV 最快速、最稳定打点方式

XSS

  • 三类:存储、反射、DOM

  • 危害:偷 Cookie、钓鱼、劫持、内网探测

  • 防御:输入校验、输出编码、HttpOnly、CSP

XXE

  • 原理:XML 外部实体未禁用

  • 危害:读文件、SSRF、内网探测、DoS

  • 防御:禁用外部实体、禁用 DTD、使用 JSON


使用说明

  1. 全文可直接复制到 Word,便于大家复习查阅;

  2. 练习题部分适合基础巩固;

  3. 深度拓展适合理解原理;

  4. 面试题+追问适合 HVV/渗透测试面试;

  5. 最后背诵版适合速记突击;

读者同志按需分配~

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐