Web 安全面试题(20 题+深度解析+拓展+连环追问)
第一部分 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. 漏洞利用四要素
-
存在可控上传点
-
校验不严可上传恶意文件
-
文件存放在 Web 可访问目录
-
服务器可解析对应脚本后缀
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 实战中你如何快速打点?
-
优先弱口令/默认口令
-
寻找文件上传点 Getshell
-
留言/评论区测试存储型 XSS
-
XML/SVG 接口测试 XXE
-
突破后内网信息收集与横向
追问:目标 WAF 严格时如何继续突破? 答:转向弱口令、未授权访问、逻辑漏洞、SSRF、解析漏洞、子域名旁站。
3. 无明显高危漏洞时,你从哪些点入手?
答:弱口令、越权访问、未授权访问、信息泄露、中间件漏洞、XSS、XXE、逻辑漏洞。
第四部分 精简背诵版(适合速记)
文件上传
-
核心:可控上传 + 校验不严 + 可执行目录 + 可解析
-
绕过:后缀、MIME、文件头、解析漏洞、条件竞争
-
防御:白名单、随机文件名、存储隔离、不可执行权限
弱口令
-
核心:密码简单、默认口令、撞库
-
防御:锁定、复杂度、验证码、MFA、异地检测
-
地位:HVV 最快速、最稳定打点方式
XSS
-
三类:存储、反射、DOM
-
危害:偷 Cookie、钓鱼、劫持、内网探测
-
防御:输入校验、输出编码、HttpOnly、CSP
XXE
-
原理:XML 外部实体未禁用
-
危害:读文件、SSRF、内网探测、DoS
-
防御:禁用外部实体、禁用 DTD、使用 JSON
使用说明
-
全文可直接复制到 Word,便于大家复习查阅;
-
练习题部分适合基础巩固;
-
深度拓展适合理解原理;
-
面试题+追问适合 HVV/渗透测试面试;
-
最后背诵版适合速记突击;
读者同志按需分配~
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)