前言
随着国家政策的扶持,网络安全行业日益受到重视,相关岗位需求持续增长。求职者除了掌握扎实的安全知识外,还需具备应对企业面试的能力。本文整理了一份涵盖 Web 安全、内网安全及等级保护测评的面试题集,结合常见考点与实战经验进行解析,旨在帮助读者系统梳理知识体系,提升面试通过率。
注:部分题目基于实际面试场景总结,安全体系庞大,以下内容为核心知识点梳理。
一、Web 安全岗面试题
1.1 什么是 SQL 注入攻击?如何防止?
SQL 注入是指攻击者通过在 Web 表单输入或 URL 参数中插入恶意 SQL 代码,欺骗后端数据库执行非授权操作。这可能导致数据泄露、篡改或删除。 防御措施:
- 使用参数化查询(预编译语句):这是最有效的防御手段。例如在 Java 中使用 PreparedStatement,在 Python 中使用
cursor.execute("SELECT * FROM users WHERE id = ?", (user_id,))。 - 输入验证:对输入数据进行严格的类型检查和长度限制,拒绝包含特殊字符(如单引号、分号)的输入。
- 最小权限原则:数据库账户仅授予必要的权限,避免使用 root 或 sa 账户连接应用。
- WAF 防护:部署 Web 应用防火墙拦截常见的 SQL 注入特征。
1.2 什么是跨站点脚本攻击(XSS)?如何防止?
XSS 是指攻击者在网页中嵌入恶意脚本,当其他用户浏览该页面时,脚本会在其浏览器端执行,从而窃取 Cookie、会话令牌或重定向到钓鱼网站。 防御措施:
- 输出编码:根据上下文(HTML 实体、JavaScript、URL)对用户输入进行转义。
- 内容安全策略(CSP):通过 HTTP 头
Content-Security-Policy限制可加载的资源来源,禁止执行内联脚本。 - HttpOnly Cookie:设置 Cookie 为 HttpOnly,防止 JavaScript 读取敏感信息。
- 输入过滤:使用白名单机制过滤 HTML 标签。
1.3 什么是跨站请求伪造(CSRF)攻击?如何防止?
CSRF 利用用户已登录的身份,诱导用户在不知情的情况下向目标网站发送请求,执行非预期操作(如转账、修改密码)。 防御措施:
- 同步令牌模式:在表单中添加随机生成的 Token,服务器验证 Token 是否匹配。
- SameSite Cookie 属性:设置 Cookie 为
SameSite=Strict或Lax,限制跨站携带 Cookie。 - Referer 检查:验证请求来源域名是否合法。
1.4 什么是点击劫持攻击?如何防止?
点击劫持是将恶意透明层覆盖在合法页面上,诱使用户点击看似无害的元素,实则触发危险操作。 防御措施:
- X-Frame-Options 头:设置
DENY或SAMEORIGIN,禁止页面被 iframe 嵌入。 - Content-Security-Policy:使用
frame-ancestors指令控制允许嵌入的源。
1.5 什么是会话劫持攻击?如何防止?
攻击者获取用户的 Session ID 后冒充用户身份访问系统。 防御措施:
- 安全的 Cookie 设置:启用 Secure 和 HttpOnly 标志。


