对于正在准备 安全岗求职或实习的同学们来说,Web 安全面试题几乎是必问项。
尤其是一些经常出现的考点,比如 SQL 注入、XSS、CSRF、反序列化、逻辑漏洞、WAF 绕过等等,不仅需要你知道"是什么",还得能"讲清楚原理、分类、修复和利用"。

这篇文章整理了 42 道高频 Web 安全面试题 ,每一题我都尽量用通俗的语言讲清楚原理+防御+面试应答要点,建议收藏+反复刷,你一定会用得上!
🧠 第一部分:经典漏洞原理篇(原理 + 利用 + 修复)
1. SQL 注入有哪些类型?怎么防?
-
原理:用户输入未做过滤,拼接进 SQL 被执行。
-
类型:字符型、数字型、布尔盲注、报错注入、时间盲注、联合注入、堆叠注入、宽字节注入、XFF注入等。
-
修复:预编译、参数绑定(如PDO)、正则过滤、WAF拦截等。
-
预编译原理:先编译语句模板,再绑定参数,参数永远作为值处理,杜绝拼接注入。
2. XSS 分哪几类?怎么防?
-
类型:
-
存储型:存入数据库,后续自动执行。
-
反射型:构造恶意 URL 链接,骗用户点击。
-
DOM型:前端脚本中拼接了 URL 中的参数。
-
-
区别:DOM型是前端漏洞,其余是服务端漏洞。
-
防御:输入输出 HTML 编码、白名单策略、JS 标签过滤、HttpOnly cookie、WAF 拦截。
3. XSS、CSRF、SSRF 区别?
攻击类型 | 简述 | 利用方式 | 防御措施 |
---|---|---|---|
XSS | 脚本注入 | 利用 HTML 渲染漏洞执行 JS | 输入输出过滤 |
CSRF | 请求伪造 | 利用 Cookie 自动携带身份伪造请求 | Token 校验、Referer 验证 |
SSRF | 服务器发请求 | 利用可控 URL 请求内网或敏感地址 | 限制 IP/协议、添加验证逻辑 |
4. XXE 是什么?
-
XML 外部实体注入漏洞。
-
原因:解析 XML 时没有禁用实体加载。
-
危害:读取文件、打内网、发起 DOS。
-
防御:禁用外部实体,使用安全库解析 XML。
5. PHP / Java 反序列化原理?
-
PHP:反序列化输入数据会执行对象中的魔术方法(
__wakeup
,__destruct
)。 -
Java:利用
readObject()
恢复对象时触发漏洞,尤其是 shiro 框架记住我功能使用默认 AES 密钥。 -
防御:关闭反序列化功能、过滤对象类型、签名校验、升级依赖库。
🛠 第二部分:漏洞利用与绕过技巧篇
6. 常见逻辑漏洞和登录页测试思路
-
逻辑漏洞:越权、支付金额修改、重放攻击、短信验证逻辑异常。
-
登录测试:万能密码、爆破、二次注入、js泄密、session覆盖、模板注入等。
7. CDN 和 DNS 区别?如何绕 CDN?
-
CDN:提高访问速度;
-
DNS:域名解析。
-
绕 CDN:子域名探测、ping工具找源、证书查询、爆破记录、配置错误泄露。
8. 中间件漏洞有哪些?
-
IIS:PUT、短文件猜解、解析漏洞;
-
Apache:路径穿越;
-
Nginx:解析漏洞、CRLF;
-
Tomcat/JBoss/WebLogic:war后门、反序列化、SSRF。
9. WAF 绕过方式?
-
架构绕过:找源站 IP、内部请求跳转。
-
协议绕过:HTTP 分块传输、管道复用。
-
规则绕过:注释混淆、编码、空格替换、符号替换。
10. 命令无回显怎么办?
使用:延时盲测、DNSlog、http请求监听、写入临时文件、反弹连接。
💼 第三部分:实战渗透与提权篇
11. 3389无法连接常见原因?
-
服务未开启
-
端口被修改
-
防火墙阻断
-
用户无权限或连接数已满
12. 常考端口功能?
端口 | 服务 |
---|---|
21 | FTP |
22 | SSH |
80 | HTTP |
443 | HTTPS |
3306 | MySQL |
3389 | Windows远程桌面 |
13. 渗透测试流程?
-
信息收集:CDN识别、旁站扫描、端口探测、CMS识别。
-
漏洞扫描:目录扫描、js信息分析、内部接口测试。
-
漏洞利用:打点+提权+反弹shell。
14. 三种逻辑漏洞 + 修复
-
支付修改(前端价格篡改)→ 校验价格;
-
登录跳过验证 → 后端状态判断;
-
密码找回逻辑不严 → 增加多重验证。
15. 未授权访问例子?
-
Redis 默认未授权;
-
JBoss 特定路径访问管理后台;
-
修复:加认证、限制 IP。
题太多了,就不一一列了,可以在下方评论我发你整理表格文档
🧩 第四部分:其他零碎高频知识点整理
-
Shiro 漏洞发现:rememberMe=deleteMe 特征字段。
-
Fastjson 原理:@type 字段控制类实例化过程。
-
Webshell 无出网处理:用 dns 或 icmp 协议回传。
-
PHP危险函数 :
system
、exec
、shell_exec
等。 -
SQL注入无回显 :配合 DNSlog,MySQL 利用
load_file()
,MSSQL 利用xp_dirtree
。 -
SVN/Git 泄露:可尝试目录访问获取源码。
-
提权技巧:MySQL UDF 插件提权。
-
文件包含利用思路:参考安全客/腾讯云文章链接。
-
XSS 持久控制:植入钓鱼脚本记录后台账号密码。
-
绕过上传限制:文件后缀伪装、改 Content-Type 等。
🎁 最后总结:怎么学?怎么准备?
面试时,被问这些题并不是希望你记住攻击 payload,而是:
-
你能不能讲出漏洞的原理?
-
你是否知道如何防御/修复?
-
如果是你遇到一个站,能不能复现并提取核心要点?
📌 建议方法:
-
每天一道题,试着写出答案+复现;
-
实战题目要动手操作,别只看文字;
-
多刷社区:安全客、Seebug、CVE细节、漏洞平台等;
-
把自己刷过的题整理成知识库,甚至写成面经文章!(比如这篇😉)
免费备考资料分享
为了帮助更多考生高效备考,我根据自己的学习经验,整理了以下几个核心备考资料:
-
考试大纲 :
覆盖HCIE笔试和实验考试的所有重点知识,帮助你精准掌握考试范围,避免盲目学习。
-
培训教材 :
详细的理论知识和案例分析,核心技术的深入解析,是夯实基础的不二之选。
-
实验手册 :
实验考试配置命令速查手册和模拟实验案例集,涵盖关键场景,助你在实验环节高效应对。
获取方式 :
如果你需要这些备考资料,可以在评论区留言或者私信我,我会将资料打包发给你,希望对你的备考有所帮助!