网络安全面试通关指南:30道高频面试题深度解析(含答案)

admin 2026-05-27 05:21:10 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 该文档是网络安全领域的面试指南,系统解析了30道高频面试题,涵盖Web安全、渗透测试、密码学、系统安全、网络协议和综合能力六大模块。核心内容包含SQL注入、XSS、CSRF等漏洞原理与防御措施,渗透测试流程、内网渗透技巧,以及TLS握手、ARP欺骗等协议安全分析。文档提供实战场景下的可操作建议,如WAF绕过方法、应急响应步骤和权限配置排查,适用于安全岗位求职者快速掌握核心知识点。 综合评分: 87 文章分类: WEB安全,渗透测试,安全培训,漏洞分析,应急响应


cover_image

网络安全面试通关指南:30道高频面试题深度解析(含答案)

原创

dmd5安全 dmd5安全

dmd5安全

2026年5月25日 11:08 江西

在小说阅读器读本章

去阅读

一、Web 安全(必考!)

1. 讲一下 SQL 注入的原理和防御

【考察点】 最基础的漏洞类型,没得跑。

【答案要点】

原理: 攻击者将恶意 SQL 语句拼接到应用程序的 SQL 查询中,绕过认证、获取敏感数据甚至控制数据库。

举个例子,登录框里这样写:

用户名:admin' OR '1'='1
密码:随意

拼接后的 SQL:

SELECT * FROM users WHERE username='admin'OR'1'='1'AND password=***

'1'='1' 永远为真,直接绕过认证。

防御:

  • 参数化查询(PreparedStatement) — 最有效,从根本上杜绝拼接
  • 输入校验 — 白名单校验,拒绝特殊字符
  • 最小权限原则 — 数据库账号只给必要的权限
  • WAF — 作为辅助防线

2. XSS 有哪几种?如何防御?

【答案要点】

三种类型:

| 类型 | 特点 | 例子 | | — | — | — | | 反射型 | 一次性,需要诱导用户点击恶意链接 | ?q=<script>alert(1)</script> | | 存储型 | 恶意代码存到服务器,所有访问者中招 | 评论区提交 JS 代码 | | DOM 型 | 客户端 JS 动态渲染导致,服务端不知情 | 前端从 URL hash 中取数据直接 innerHTML |

防御三板斧:

  1. 输出编码 — HTML 实体编码(< → &lt;
  2. CSP(Content Security Policy) — 限制脚本来源
  3. HttpOnly Cookie — 让 JS 读不到 Cookie

3. CSRF 是什么?怎么防?

【答案要点】

原理: 用户登录了银行网站,然后被诱导访问了一个恶意页面,那个页面自动发起转账请求——因为是带着你的 Cookie,服务端以为是你的操作。

防御:

  • CSRF Token — 表单里带一个随机 token,服务端校验
  • SameSite Cookie — 设置 SameSite=Strict 或 Lax
  • Referer/Origin 校验 — 检查请求来源
  • 二次验证 — 敏感操作要求输入密码或验证码

4. SSRF 漏洞的原理和利用场景

【答案要点】

原理: 服务端发起了由用户控制的网络请求。攻击者利用这个能力访问内网资源。

利用场景:

  • 访问内网 Redis、MySQL 等未授权服务
  • 读取云服务器元数据(如 AWS 的 169.254.169.254
  • 端口扫描(通过返回时间判断端口开放)

防御:

  • 白名单限制目标 URL 的域名/IP
  • 禁止访问私有 IP 段(127.0.0.1, 10.x.x.x 等)
  • 协议限制,仅允许 HTTP/HTTPS

5. 文件上传漏洞怎么利用和防御?

【答案要点】

利用思路:

  • 上传 WebShell(如 .jsp.php 文件)
  • 上传 .htaccess 重写解析规则
  • 图片马(图片里藏代码 + 文件包含)
  • 绕过前端校验、Content-Type 校验、后缀黑名单

防御:

  • 白名单后缀 + 重命名文件
  • 文件内容检测(检查文件头 magic number)
  • 目录设置为不可执行
  • 使用 OSS 对象存储,和应用服务器隔离

二、渗透测试(考察实战思维)

6. 渗透测试的标准流程

【答案要点】

按照 PTES(渗透测试执行标准)

  1. 信息收集 — 子域名、端口、指纹、GitHub 泄露、Google Hacking
  2. 威胁建模 — 确定攻击面、高价值目标
  3. 漏洞分析 — 自动化扫描 + 手动验证
  4. 漏洞利用 — getshell、提权、横向移动
  5. 后渗透 — 权限维持、痕迹清理
  6. 报告输出 — 漏洞详情 + 修复建议

7. 拿到一个 WebShell 后要做什么?

【答案要点】

核心逻辑:稳 → 提 → 扩 → 清

  1. 维持权限:写不死马、添加后门用户、计划任务
  2. 提权:内核漏洞(脏牛等)、SUID 提权、sudo 配置不当
  3. 横向移动:抓密码、扫内网、代理转发(frp/earthworm)
  4. 信息收集:数据库导出、配置文件捞密码
  5. 痕迹清理:删日志、清 bash_history

8. 说说信息收集,你一般怎么做?

【答案要点】

信息收集决定渗透成功率,重要程度 50%:

  • 域名信息:子域名(OneForAll、Subfinder)、备案信息
  • IP 资产:CDN 真实 IP 查找、端口扫描(Nmap/Masscan)
  • Web 指纹:Wappalyzer、WhatWeb 识别 CMS/框架
  • 目录扫描:dirsearch、gobuster、御剑
  • 搜索引擎:Google Hacking、Shodan、Fofa、Hunter
  • Github 泄露:git泄露、代码仓库泄露凭据
  • 社会工程:邮箱、员工信息、钓鱼入口

9. 内网渗透中拿到一台机器后怎么做?

【答案要点】

  1. 本地信息收集:当前用户权限、网络连接、进程、杀软
  2. 密码抓取:Mimikatz 抓明文、lsass 进程 dump、注册表
  3. 内网探测:ARP 扫描、Ping 扫描、端口扫描
  4. 横向移动:IPC$ 连接、PsExec、WMI、SchTasks、RDP
  5. 域渗透:黄金票据、白银票据、Kerberoasting、AS-REP Roasting
  6. 代理搭建:Socks 代理转发流量到内网

10. 说说你所知道的提权方法

【答案要点】

Linux:

  • 内核漏洞(脏牛 CVE-2016-5195、PwnKit CVE-2021-4034)
  • SUID 提权(find / -perm -4000 2>/dev/null
  • sudo 配置不当(sudo -l 查看)
  • Docker 逃逸(挂载宿主机文件系统)
  • 计划任务提权(可写的脚本被 root 执行)

Windows:

  • 内核漏洞(MS17-010 永恒之蓝、Juicy Potato)
  • 服务漏洞(可写服务路径、服务权限不当)
  • DLL 劫持
  • UAC 绕过
  • Unquoted Service Path

三、密码学(基础但易混)

11. 对称加密和非对称加密的区别

【答案要点】

| 特性 | 对称加密 | 非对称加密 | | — | — | — | | 密钥 | 加解密用同一密钥 | 公钥加密、私钥解密 | | 速度 | 快 | 慢 | | 代表算法 | AES、DES、3DES、SM4 | RSA、ECC、SM2 | | 密钥管理 | 难(需要安全传输密钥) | 简单(公钥公开即可) | | 应用场景 | 大量数据加密 | 密钥交换、数字签名 |

实际中:混合使用,非对称加密协商对称密钥,再用对称加密传输数据(HTTPS 就是这种做法)。

12. HTTPS 握手过程(TLS 1.2)

【答案要点】

  1. Client Hello:浏览器发送支持的 TLS 版本、加密套件列表、随机数
  2. Server Hello:服务端选定版本和加密套件,返回证书 + 随机数
  3. 客户端验证证书(CA 链、域名、有效期)
  4. 密钥交换:客户端生成 Pre-master Secret,用服务端公钥加密发送
  5. 双方用三个随机数生成会话密钥
  6. 切换加密通信(Change Cipher Spec)
  7. 完成握手,后续数据传输全部加密

13. 什么是数字证书和 CA?

【答案要点】

  • 数字证书:把公钥”绑定”到实体身份上的电子凭证,包含公钥、持有者信息、有效期、CA 签名
  • CA(证书颁发机构):可信的第三方,负责签发和管理证书
  • 信任链:根 CA → 中间 CA → 服务器证书,浏览器信任根 CA 即可信任整条链

为什么需要 CA? 防止中间人攻击——没有 CA,攻击者可以伪造公钥。


四、系统安全(Linux/Windows)

14. Linux 常见的权限配置错误

【答案要点】

  • 777 权限的文件/目录
  • SUID/SGID 设置不当
  • 弱口令或默认口令(如 root/root)
  • 不必要的服务对外开放
  • 可写 crontab 脚本
  • /tmp 目录写权限导致提权
  • SELinux 关闭
  • SSH 允许 root 直接登录

15. Windows 应急响应你会怎么做?

【答案要点】

  1. 隔离:断网或拉黑 IP
  2. 进程排查:可疑进程、CPU 高占用、隐藏进程
  3. 启动项:注册表 Run 键、计划任务、服务
  4. 网络连接netstat -ano 找外联 IP
  5. 日志分析:安全日志(Event ID 4625 登录失败、4624 成功登录)、PowerShell 日志
  6. 文件排查:最近修改的文件、可疑 DLL
  7. 持久化清除:删除后门、清理计划任务、替换恶意文件
  8. 溯源:从日志回溯攻击入口

16. 说说常见的端口及其对应的服务

【答案要点】

面试必考基础,要背熟:

| 端口 | 服务 | 安全风险 | | — | — | — | | 21 | FTP | 明文传输、匿名登录 | | 22 | SSH | 暴力破解 | | 23 | Telnet | 明文传输、极不安全 | | 25 | SMTP | 邮件伪造 | | 53 | DNS | DNS 劫持/放大攻击 | | 80/443 | HTTP/HTTPS | Web 漏洞 | | 135 | RPC | 远程调用漏洞 | | 139/445 | SMB | 永恒之蓝、勒索病毒入口 | | 1433 | MSSQL | 弱密码、SA 提权 | | 3306 | MySQL | 弱密码、UDF 提权 | | 3389 | RDP | 爆破、BlueKeep | | 6379 | Redis | 未授权访问、写 SSH 密钥 | | 27017 | MongoDB | 未授权访问 |

17. Linux 系统被入侵了怎么排查?

【答案要点】

# 1. 查看登录记录
last&nbsp;-f&nbsp;/var/log/wtmp
lastb&nbsp;-f&nbsp;/var/log/btmp

# 2. 查看当前在线用户
who&nbsp;/ w

# 3. 查看历史命令
cat&nbsp;~/.bash_history |&nbsp;grep-E"wget|curl|nc|bash|chmod"

# 4. 查看开机启动项
cat&nbsp;/etc/rc.local
chkconfig&nbsp;--list
systemctl list-units&nbsp;--type=service

# 5. 查看计划任务
crontab&nbsp;-l
cat&nbsp;/etc/crontab
ls-la&nbsp;/var/spool/cron/

# 6. 查看可疑进程
ps&nbsp;auxf
netstat&nbsp;-antp
lsof&nbsp;-i

# 7. 查看 SSH 公钥
cat&nbsp;~/.ssh/authorized_keys

五、网络协议(兜底分)

18. TCP 三次握手和四次挥手

【答案要点】

三次握手(建立连接):

  1. SYN — 客户端发送 SYN,seq=x
  2. SYN+ACK — 服务端回复 SYN+ACK,seq=y,ack=x+1
  3. ACK — 客户端发送 ACK,seq=x+1,ack=y+1

四次挥手(断开连接):

  1. FIN — 客户端发 FIN
  2. ACK — 服务端返回 ACK(但可能还有数据要发)
  3. FIN — 服务端发完数据后发 FIN
  4. ACK — 客户端确认,等待 2MSL 后关闭

19. 什么是 SYN Flood?怎么防御?

【答案要点】

原理: 攻击者大量发送 SYN 包但不完成三次握手,占满服务端的半连接队列,导致正常用户无法连接。

防御:

  • SYN Cookie — 不分配资源直接回复 SYN+ACK,收到 ACK 再重建
  • 增大 tcp_max_syn_backlog
  • 减少 SYN+ACK 重试次数(tcp_synack_retries)
  • 限制单位时间 SYN 包数量

20. 从输入 URL 到页面展示发生了什么?

【答案要点】

经典面试题,但能从安全角度答就很有料:

  1. DNS 解析(可能被 DNS 劫持 → 安全检查点)
  2. TCP 三次握手
  3. TLS 握手(证书校验 → 防中间人)
  4. HTTP 请求/响应
  5. 浏览器渲染页面

安全视角关注: HSTS(强制 HTTPS)、证书有效性、CSP 策略、X-Frame-Options 等安全头部是否缺失。

21. ARP 欺骗的原理

【答案要点】

原理: 局域网内,攻击者伪造 ARP 响应包,把目标 IP 映射到自己的 MAC 地址。

后果:

  • 中间人攻击(监听流量)
  • 流量劫持(钓鱼)
  • DoS(告诉网关目标主机已下线)

防御: 静态 ARP 表、DAI(Dynamic ARP Inspection)、使用 HTTPS


六、综合能力(拉分题)

22. 0day、1day、Nday 是什么意思?

【答案要点】

| 类型 | 定义 | 危险程度 | | — | — | — | | 0day | 刚被发现,官方还没出补丁 | 🔴极高 | | 1day | 已经公开但很多人还没打补丁 | 🟡中高 | | Nday | 补丁出来很久了,打补丁就安全 | 🟢较低 |

23. 什么是 WAF?怎么绕过?

【答案要点】

WAF(Web 应用防火墙) 是保护 Web 应用的”看门狗”,检测和拦截恶意请求。

绕过思路:

  • 编码绕过:URL 编码二次编码、Unicode 编码
  • 大小写混合SeLeCt 绕过简单规则
  • 注释拆分sel/**/ect 绕过关键字检测
  • 参数污染?id=1&id=2 不同解析器行为不同
  • 分块传输:将请求体分块绕过 WAF 检查
  • Content-Type 切换:JSON/XML/Form 格式切换
  • 协议违规:利用 HTTP 解析差异

24. 如果让你设计一个安全的登录系统,你会怎么做?

【答案要点】

这题考的是系统设计能力安全意识

  1. 传输安全:强制 HTTPS + HSTS
  2. 密码存储:bcrypt/argon2 哈希,加盐
  3. 防暴力破解:验证码(失败 3 次后)、登录频率限制、账户锁定
  4. 多重认证:支持 TOTP/短信验证码作为 2FA
  5. 登录审计:记录登录 IP、设备、时间,异常登录告警
  6. 会话管理:JWT 定期轮换、HttpOnly Cookie、CSRF Token
  7. 安全响应:登录失败不区分”用户名不存在”和”密码错误”

25. 说一下 OWASP Top 10 2021

【答案要点】

  1. 🔴 A01: 失效的访问控制(BOLA/Broken Object Level Authorization)
  2. 🟠 A02: 加密机制失效
  3. 🟠 A03: 注入(SQL、NoSQL、OS 命令注入)
  4. 🟡 A04: 不安全的设计
  5. 🟡 A05: 安全配置错误
  6. 🟡 A06: 易受攻击和过时的组件
  7. 🟡 A07: 身份识别和认证机制失效
  8. 🟡 A08: 软件和数据完整性失效
  9. 🟢 A09: 安全日志记录和监控失效
  10. 🟢 A10: SSRF

26. 什么是 JWT?有什么安全问题?

【答案要点】

JWT(JSON Web Token)是无状态认证方案,结构为 header.payload.signature

安全问题:

  • 算法混淆:服务端用 RSA 公钥签名,攻击者改算法为 HS256(对称加密),用公钥作为密钥伪造 token
  • 未验证签名:签名设为 none 即可绕过
  • 密钥泄露:HS256 的密钥被拿到可以伪造任意 token
  • 敏感信息泄露:payload 仅 Base64 编码,不是加密!别放密码
  • 过期时间过长:增大 token 泄露后的风险窗口

27. 如何发现一个 Redis 未授权访问漏洞并利用?

【答案要点】

发现:

redis-cli&nbsp;-h192.168.1.100&nbsp;-p6379
# 如果能直接连上,没有密码验证,说明存在未授权

利用方法:

  • 写 SSH 公钥config set dir /root/.ssh → config set dbfilename authorized_keys → 写入公钥 → SSH 登录
  • 写 Cron 定时任务(Linux)
  • 写 WebShell:如果知道 web 路径
  • 主从复制 RCE:利用恶意模块加载

28. 什么是中间人攻击(MITM)?怎么防御?

【答案要点】

原理: 攻击者在通信双方之间拦截、篡改数据,双方还以为在直接通信。

实施手段: ARP 欺骗、DNS 欺骗、伪造 Wi-Fi 热点、SSL stripping

防御:

  • 客户端:HSTS 强制 HTTPS、验证证书、不连公共 Wi-Fi 做敏感操作
  • 服务端:证书固定(Certificate Pinning)、DNS over HTTPS

29. 说一下你印象最深的渗透测试案例

【答案要点】

这个问题考察的是实际经验。回答框架:

背景 → 思路 → 关键发现 → 利用过程 → 修复建议

即使实战经验不多,也可以这样讲:

  • 某个 CTF 或 SRC 上挖到的漏洞
  • 某个众测项目的关键突破
  • 红蓝对抗中的技巧

重点是:讲出你当时的思考过程,而不是结果。

30. 你未来的学习规划是什么?

【答案要点】

面试官在考察你的成长性目标感

可以参考的方向:

  • 深度:二进制安全、IOT 安全、移动安全、云原生安全
  • 广度:从渗透测试转到安全架构、安全运营
  • 认证:OSCP、CISSP、CISP-PTE

举个例子:

“未来一年我计划主攻云原生安全方向。现在容器和 K8s 越来越普及,云上安全配置错误是最常见的安全风险之一。我现在正在学习 K8s 安全最佳实践和容器逃逸技术,目标是年底拿到 CKS 认证。”


💡 面试加分小贴士

  1. 主动延伸:问到 SQL 注入,顺便提一下参数化查询和预编译的区别,展示深度
  2. 动手演示:能现场用 Postman 或 Burp 展示漏洞利用,比说一万句都管用
  3. 有自己的博客/GitHub:记录平时挖洞和学习的笔记,这是实打实的加分项
  4. 关注前沿:知道最近的热门漏洞(重大 CVE)、新的攻击手法,证明你在持续学习
  5. 安全意识:面试中要体现出”先防御再进攻”的思维,安全人要有责任感

免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:dmd5安全 dmd5安全 dmd5安全《网络安全面试通关指南:30道高频面试题深度解析(含答案)》

评论:0   参与:  0