应届生想进网络安全这行,最难受的不是不会挖洞,而是打开招聘软件发现岗位名称五花八门,什么安全运营、渗透测试、安全开发、合规审计,光看职位描述就看花了眼,更别说搞清楚哪个方向适合自己、该往哪个方向使劲了。我当年校招的时候也是这么过来的,那时候网安还没有现在这么热,信息比现在更少,全靠自己去各种论坛和招聘网站一点点扒,走了不少弯路。这行现在确实缺人,但缺的是来了就能干活的人,不是只会背几个漏洞概念的小白。所以这篇文章就基于我这些年搞安全、也参与过校招面试的经验,把入门级的岗位好好拆一拆,岗位到底做什么、薪资大概什么范围、需要会什么,都和你说清楚,方便你对号入座,找好自己的定位。
1. 三类入门岗位的定位与真实工作内容
要说清楚薪资和技能,得先搞清楚这些岗位在公司里到底是干什么的。很多同学看了招聘JD以为是“黑客岗”,进来发现天天写报告,心态容易崩。所以这一部分先把岗位的真实画像说清楚。
1.1 安全运维/安全运营工程师:企业安全的守门员
这个岗位在不同公司叫法不太一样,有的叫安全运维工程师,有的叫安全运营工程师,还有的叫蓝队助理或者安全分析师。但本质上干的活都是围绕企业现有的安全设备和安全系统,去做日常的监控、维护和告警处置。
具体工作内容大概有这么几块:首先是安全设备的日常运维,比如防火墙、入侵检测系统(IDS/IPS)、Web应用防火墙(WAF)、堡垒机、终端安全软件,你得会看设备的日志、会处理误报、会更新策略规则。这部分有点像网工和安全的交叉区域,不需要你多精通网络,但网络基础太差也不行。其次是安全监控和告警分析,企业里天天都有成千上万条告警,其中大部分是误报或噪音,你要做的是把真正有风险的事件挑出来,判断是不是真的攻击,影响范围有多大,然后按照应急预案去处置。最后是漏洞和补丁管理,定期扫描内网资产漏洞,推动业务方去修,修完再验证。别小看这个活,沟通成本往往比技术成本高很多。
对校招生来说,这个岗位是最好进的,因为需求量最大。几乎任何稍微有点规模的公司都需要有人盯着安全设备。但也要泼盆冷水,这个岗位做久了容易变成“工具人”,每天就是看告警、封IP、写日报,所以入门之后要有意识地往威胁检测、安全分析方向深挖,不然三五年后竞争力会下降得比较明显。
1.2 渗透测试/安全服务工程师:准入门槛最直观的技术岗
渗透测试工程师,圈里叫“渗透仔”,是校招里最受关注、竞争也最激烈的一类岗位。它的本质就是站在攻击者的角度去测试业务系统,发现漏洞并输出报告,推动开发修复。除了纯渗透测试,现在很多公司会把渗透测试和等保测评、风险评估、应急响应打包成安全服务,所以面试的时候会看到“安全服务工程师”这种更综合的头衔,但核心技能还是渗透测试那套。
日常工作可以拆成这么几块:接到一个测试目标后,先做信息收集,包括子域名、端口、指纹、目录、GitHub泄露代码、网盘敏感文件等;然后根据收集到的信息分析系统用了什么框架和中间件,寻找可能存在漏洞的点,比如老版本的Struts2、FastJSON、Log4j2或者各种登录框的逻辑漏洞;接着是验证漏洞,利用漏洞拿到数据或权限后需要适可而止,记录证据即可。最后输出一份漏洞报告,要写清楚漏洞的原理、复现步骤、影响范围、危害等级和修复建议。
这个岗位最大的特点是成果看得见摸得着。你交的报告质量如何、挖到的漏洞是高中危还是低危,直接决定了你的绩效。所以这行相对公平,能者上。但代价是技术更新压力大,因为业务系统在变,攻击手法在变,防守也在变,你必须不停学习。对校招生来说,这岗位的面试是最难的,因为没有实战经验很难讲出有深度的东西。靠刷题背面试题能过一面,但二面三面问几个场景题就容易露馅。
1.3 安全开发工程师:懂安全的程序员
安全开发这个方向很多同学会忽略,实际上它是三類岗位里薪资天花板相对高、而且内卷程度不那么夸张的方向。这个岗位有两个细分倾向:一个是做安全产品和工具的,比如WAF规则引擎、SIEM平台、SOAR编排、漏洞扫描器、自适应安全架构;另一个是在业务研发团队里做SDL(安全开发流程)的落地,比如代码审计平台、组件风险分析、上线前安全扫描的自动化接入。
日常工作主要就是写代码,所以对编程能力的要求是三类里最高的。后端语言以Go、Java、Python为主,尤其是Go,现在很多安全产品都偏好用Go重写,因为并发能力强、部署方便、静态编译对免杀和性能都有帮助。你需要不光能写业务功能,还得懂底层网络协议,比如HTTP/2、TLS握手、DNS解析,因为这些往往是安全产品处理数据的基础。同时你得了解常见的Web攻击原理,才能在设计产品的时候知道要检测什么、拦截什么,比如写一个WAF,总得知道SQL注入有哪些编码绕过的姿势,才能设计好解码和检测的链路。
这个岗位的好处是它本质上是开发岗,就业面更宽。就算以后不想干安全了,转普通后端开发也不算太困难。而且因为懂安全又懂开发的复合型人才少,薪资往往比普通开发高一头。坏处是它对开发能力的要求是硬性的,代码写不明白什么都白搭。所以如果大学阶段有比较多的项目和代码积累,这个方向是很值得考虑的。
2. 薪资水平与城市差异的理性认知
接下来聊最现实的薪资问题。我必须先说明一点:网上的招聘信息统计常常有幸存者偏差,晒offer的都是拿到高薪的人,拿得一般的不会特意发帖。所以下面给的是一个相对客观的参考区间,具体还是要看城市、公司规模和个人能力。
2.1 2024-2025届校招薪资大盘点
这里的数据综合了我所在城市社群和同行交流的信息,不能代表个别大厂SP(Special Offer)的情况,但对大多数人来说参考价值比较大。按一二线城市和三类岗位大致拉一张表:
| 岗位类型 | 一线城市年薪范围 | 二线城市年薪范围 | 备注 |
|---|---|---|---|
| 安全运维/运营 | 12-20万 | 8-13万 | 大厂安全运营可达20万+ |
| 渗透测试/安全服务 | 15-28万 | 10-18万 | 能力突出者可谈SP |
| 安全开发 | 18-32万 | 13-20万 | 对标后端开发薪资,略高 |
先说明一下为什么安全运维薪资看着比渗透测试低。因为安全运营的替代性相对高,门槛低,供给量大,而且很多工作是流程性、重复性的,对企业来说没必要付那么高的溢价。而渗透测试需要持续学习和实战能力,能为企业直接发现风险,价值更容易被量化。安全开发本质是程序员,薪资锚定的是整个软件开发市场,而安全方向人才供给明显小于普通后端,所以企业愿意多付一点溢价来锁定人才。
二线城市和一线城市的差距主要在哪?我分析下来最大的差距不是基本工资,而是年终奖和股票期权。一线大厂的年终奖和股票是大头,二线城市互联网公司可能就发个13薪或14薪,其他福利也差不少。另外一线城市的安全岗位类型更丰富,可以去研究型的安全实验室、做底层安全研究的公司、做威胁情报的团队,而二线城市更多是安全服务类的岗位,基本上就是跟着项目跑,做等保测评和渗透测试外包为主。所以职业早期如果想接触更前沿的东西,我还是建议有机会就去一线城市待几年,把技术底子打扎实了再考虑回去发展。
2.2 影响薪资的核心因素
岗位只是定了一个基础级别,同样是渗透测试工程师,有人12万年薪有人25万,差异从哪来?我说几个真正拉开差距的东西。
第一是实战经历。你提交过的SRC漏洞、你在CTF比赛里的成绩、你在实习中做过的真实项目,这些是最有说服力的。特别是SRC,如果你在漏洞盒子或补天这类平台提交过一些有质量的漏洞,面试官会很感兴趣,因为这说明你有自我驱动的学习和实战能力。我面过一些同学,学历学校和岗位JD完全匹配,但问到他最近挖过什么有意思的漏洞时,只能支支吾吾说没有。从HR和面试官的角度来看,安全这行本质上是实践学科,有真实产出的人才招进来才能快速产生价值。
第二是技术深度。很多人简历上都写着熟悉OWASP Top 10,但如果面试官追问,比如“SQL注入的绕过思路有哪些?在什么场景下会用到宽字节注入?”就答不上来,这种属于基础概念没吃透。薪资想往上谈,起码要做到:对一个核心领域理解到攻击原理和底层机制的程度,而不是停留在会用什么工具。比如你走Web安全方向,应该能解释为什么要用各种编码去绕WAF规则,WAF的检测逻辑是什么,哪些地方是它覆盖不到的。
第三是软技能。这个很多应届生容易忽略。安全行业尤其强调沟通和文档能力,因为无论是渗透测试还是安全运营,你都需要跟开发、运维、业务部门沟通,把专业的安全问题讲得让对方听得懂。报告写得好不好,直接影响你对漏洞价值的呈现。我见过不少技术不错但报告写得一塌糊涂的人,漏洞明明很严重,写出来像感冒一样轻描淡写,这就很吃亏。
第四是证书。这个放在后面详细聊,但先说明一点:证书是锦上添花,不是雪中送炭。没有实战经历的证书只是一张纸,有实战经历加证书才是王炸。
2.3 如果你还没拿到offer,可以关注哪些子方向
在薪资和岗位之间还有一个值得注意的趋势:近两年除了上面说的三类岗位,还冒出了一些细分的衍生方向,比如安全合规与隐私保护。随着数据安全法和个人信息保护法落地,企业合规需求暴增,合规岗位的薪资已经悄悄涨上来了。这类岗位不要求很强的渗透能力,而是要求你能理解法规标准、能做差距分析、能写整改报告,适合沟通能力强、细心有条理的同学。
另外云安全方向也值得关注。几乎所有企业都在上云,传统物理安全设备渐渐不管用了,云上安全产品的配置、云原生安全的防护、容器和K8s集群的安全,这些人才缺口非常大。但是云安全对基础要求更高,一般需要先懂传统安全再转云安全,纯校招直接做云安全核心工作的还比较少,更多是从安全运维入手慢慢积累。应届生如果对这个方向感兴趣,可以先学Docker和K8s的基础,再结合云厂商的安全产品文档去了解,作为加分项写在简历里。
3. 技能要求详解:从工具到原理,建立核心竞争力
说完岗位和薪资,该聊具体技能了。这一块很多网上的学习路线都写得太宽泛,什么Linux、Python、计算机网络、数据库全列一遍,初学者看完更不知道从哪开始。我的思路是按照实际工作场景倒推,看看干活的时候到底要用到哪些东西。
3.1 基础通用能力:网络、Linux、编程与数据库
先泼一盆冷水。无论你走上面三个方向的哪个,计算机网络基础都是绕不开的坎。我面试的时候必问TCP三次握手,而且不是让你背状态码,我会追问:如果客户端故意不回复第三次握手会发生什么?这种半连接会对服务器造成什么影响?如果面试者有做过SYN Flood攻击的实验,或者用Wireshark抓过包,聊起来就会顺很多。因为无论是看防火墙日志、分析攻击流量,还是写漏洞利用脚本,没有网络基础你就连数据包都看不懂,一切都无从谈起。
Linux基础同等重要。安全这行几乎所有的工具都是跑在Linux上的,服务器绝大多数也是Linux。你需要做到不假思索地使用常用命令,包括但不限于:文件操作、权限管理、进程管理、网络状态查询、日志分析。grep、awk、sed、find这几个命令要滚瓜烂熟。我特别建议在校生自己装一个虚拟机,把日常环境切到Linux上,强迫自己用命令行去完成平时的文件操作,这样根本不需要专门背命令,一个月下来自然就熟了。
编程方面,Python基本是安全从业者的必备技能,因为很多POC脚本、自动化工具都是Python写的。你至少要能独立写脚本完成一个信息收集自动化或日志分析的小需求。如果你走安全开发方向,还要额外掌握Go或Java。对走渗透测试路线的同学,我建议不要只停留在“会用Python跑别人脚本”的阶段,要能读懂开源POC代码的每一个逻辑,理解它为什么要分几步来发送数据包,这对后续自己写利用脚本是很好的积累。
数据库知识往往被忽略,但对安全来说数据库不只是存数据的地方,还是攻击的主要目标之一。你得会MySQL和Redis的基础操作,理解SQL执行原理,不然连SQL注入的“注入”发生在哪个环节都说不清楚。更进一步要理解数据库的日志机制、主从同步,这在应急响应和溯源的时候经常需要用到。
3.2 三大方向核心技能拆解
安全运维/运营方向的技能树核心是:熟悉主流安全设备的操作和策略配置。市面上主流的设备品牌有深信服、奇安信、华为、H3C、飞塔,你需要至少熟悉一家的操作界面和常见策略逻辑。同时要有基础的日志分析能力,看到一条告警要能判断是真的攻击还是误报。建议从ELK或者Splunk这类日志平台的查询语法入手,能自己搭建一套简单的日志收集分析环境会很有优势。
渗透测试方向的技能树核心是:Web安全攻击原理和手工测试能力。OWASP Top 10不是背下来就完事的,每个类别都要能讲出攻击原理、常见绕过方式、修复方案。我建议的学习路径是这样的:先在靶场环境里反复练习,把每个漏洞类型都试到能自己复现为止,然后去SRC平台找真实目标练手。注意SRC平台的规则是“授权测试”,找正规大厂的漏洞响应中心提交,不要对非授权目标动手,这是安全从业者的底线。面试的时候聊你在SRC平台提交的漏洞比什么都管用。
安全开发方向的技能树核心是:扎实的开发功底加上安全知识。如果你投的是安全产品开发岗,面试官主要考察的还是你的编码能力和系统设计能力,安全知识考得相对浅。但如果是做SDL相关的工作,就需要对代码审计有一定了解,能看懂常见的危险函数、判断输入是否过滤、数据流是否可控。建议先学会用静态代码扫描工具如Fortify、SonarQube辅助发现问题,再学手动确认,这样效率会高很多。
3.3 实战环境与工具链:从靶场到SRC平台
工具这块是安全学习中最让人眼花缭乱的,随便一个帖子就能列出上百个工具,新手的误区在于疯狂收集工具然后每个都只点开看看就关了。我的建议是工具贵精不贵多,把最核心的一套工具用到极致,比什么都用过但什么都不精通要强得多。
核心工具链我总结成一张表,按使用场景分类,方便你对照着练:
| 使用场景 | 推荐工具 | 需要掌握到什么程度 |
|---|---|---|
| 信息收集 | oneforall、subfinder、httpx、nuclei | 会配置API、能读懂输出结果中的关键信息 |
| 端口扫描 | nmap、masscan | 熟练使用nmap常见参数,能通过指纹识别系统和服务 |
| 抓包分析 | Burp Suite、Wireshark、Fiddler | Burp必须熟练掌握代理、重放、Intruder;Wireshark能看懂TCP握手和三色HTTP状态码 |
| 漏洞利用 | Metasploit、sqlmap、Beef | Metasploit会用基础模块;sqlmap必须理解UML和Tamper参数 |
| 目录扫描 | dirsearch、ffuf、gobuster | 会设置字典和过滤条件,理解误报原因 |
| 指纹识别 | whatweb、ehole、fofax | 能通过响应头、页面特征判断CMS和框架 |
靶场练习是重中之重,推荐这么几个:DVWA适合纯新手入门,每个漏洞级别从low到impossible梯度设计得非常合理;Pikachu是中文靶场,漏洞类型比DVWA丰富很多;sqli-labs专注SQL注入场景,想把这个方向打扎实值得一练;upload-labs是文件上传漏洞专项;Vulhub则是一套基于Docker的漏洞环境集合,可以一键复现很多历史上的高危漏洞,比如FastJSON反序列化、Log4j2等。
靶场练到一定程度后,就该去SRC平台接触真实目标了。国内主流的SRC平台包括漏洞盒子、补天、火线安全,还有一些企业自建的漏洞响应中心。这里要说清楚,在SRC平台上挖掘的是已经获得授权的企业资产,这与对非授权系统的攻击有本质区别,一定要在合规的前提下做技术练习。一开始肯定挖不到什么高危漏洞,这时候别灰心,先把那些低危的信息泄露、弱口令、逻辑小问题提交上去练手。等你提交的漏洞质量稳定了,自然会有企业私信你邀请加入专属SRC项目,这是一个正向循环。
4. 从零到入门的三阶段学习路线
写到这里,我得给完全零基础的同学一条可以照着走的路。网上的学习路线五花八门,但核心逻辑是一致的:先打基础,再练攻防,最后在实战中检验自己。我把这条路拆成三个明确的阶段,每个阶段做完了要对自己有一次检验,确认过关了再进入下一个阶段。
4.1 第一阶段:打好地基,建立安全知识体系
这个阶段的目标是理解网络世界里数据是怎么流动的,系统是怎么组织的,程序是怎么跑起来的。说白了,安全漏洞的本质就是数据和代码在流动过程中被恶意操纵。不理解正常的流动过程,就没法理解哪里可以被操纵。
第一阶段的学习安排大致是三个月到五个月,学三块内容:计算机网络、Linux操作、Web基础。计算机网络重点放在TCP/IP协议栈、HTTP/HTTPS协议、DNS解析过程。不求你记住报文里每一个字段的偏移量,但三次握手四次挥手、HTTP请求和响应结构、常见的状态码含义这些必须信手拈来。推荐看《图解HTTP》搭配《计算机网络:自顶向下方法》,前者轻松入门,后者建立完整的协议栈认知。Linux学习重点放在命令行操作、权限体系、进程文件系统、网络配置。推荐《鸟哥的Linux私房菜》,虽然老但经典,基础部分并不过时。Web基础的核心是理解前后端交互过程,需要知道浏览器发出一个HTTP请求后,经过DNS解析、TCP连接、反向代理转发、Web容器处理、后端逻辑执行、数据库查询再到响应返回的完整链路。推荐在本地装个LNMP或LAMP环境,用原生PHP或Python写一个简单的登录注册页面,亲手把这条链路走通。
我为什么强调本地动手搭环境?因为很多同学学基础是纯看书看视频,看完感觉懂了但脑子是空的。学网络就抓包看看真实的三次握手;学Web就把自己写的页面用Burp拦截下来,看看HTTP请求长什么样。这样学到的知识跟实际场景绑定了,后面学攻击手法的时候才能举一反三。
4.2 第二阶段:核心漏洞专项训练,吃透OWASP Top 10
基础打牢之后,正式进入Web安全攻击原理的学习。核心脉络是OWASP Top 10,但很多同学只是去背榜单,不知道这几个字其实是一张学习地图。这个阶段你可以选择系统学习市面上的培训课程,比如360智榜样这类面向从业者的网络安全体系课,也可以自己按下面这个顺序啃。关键在于每学一个漏洞类别,都要做到三件事:搞懂攻击原理、亲手在靶场复现一次、尝试总结这个漏洞为什么会出现以及怎么修复。
我建议按这样的优先级和顺序来推进。
第一优先级:SQL注入。这是Web安全中最古老也最经典的漏洞类型,学它你能真正理解“数据与代码混淆”这个漏洞的本质。要掌握联合查询注入、布尔盲注、时间盲注、报错注入、堆叠注入等手法,明白参数化查询为什么能防御注入。靶场建议用sqli-labs,一共几十关,每关亲自手注一遍,不要开sqlmap一把梭。
第二优先级:XSS跨站脚本。学XSS的要点不是会弹个alert框就完了,而要去理解它如何窃取Cookie、如何配合CSRF完成攻击链路、各种绕过WAF的编码技巧。建议在本地搭一个简单的留言板,自己写payload验证存储型XSS的完整利用链。
第三优先级:文件上传与文件包含漏洞、命令执行、反序列化。这三个漏洞都是高危类型,一旦存在,基本意味着可以直接拿服务器权限。理解这一类漏洞有个窍门:把握住“不可信的外部输入最终流入了敏感操作函数”这条主线。靶场推荐upload-labs和Vulhub中的现成环境,重点关注不同语言各自的利用姿势和绕过过滤的技巧。
第四优先级:SSRF、CSRF、越权、逻辑漏洞。这几个是SRC平台上最容易挖到的类型。越权和逻辑漏洞尤其值得关注,因为它们不依赖复杂的攻击载荷,只靠正常的业务功能“按套路出牌”就能产生危害。理解这类漏洞你要有一个“业务视角”,把整个系统里各个模块的角色区分搞清楚,比如用户A能不能操作到用户B的资源、验证码是不是可以复用、金额能不能被篡改。
4.3 第三阶段:实战能力进阶与项目积累
基础漏洞类型过完一遍后,关键来了——把知识转化为面试能讲的实战经历。这一步很多人卡住了,因为不知道怎么找实战目标。我的建议是组建自己的实战矩阵:从简单到复杂,从虚拟到真实,至少摸过三层。
第一层是校内实验环境和自建靶场。学校如果有网络安全实验室,尽量申请去用;没有就自己用VMware搭一个内网环境,把DVWA、Vulhub都部署上,模拟从一个入口突破到内网横向的过程。第二层是CTF比赛。CTF和渗透测试其实是两种不同的思维模式,前者偏向代码审计和漏洞利用,后者偏向信息收集和链路利用,但对于应届生来说,CTF成绩是简历上很硬的指标,至少说明你有很好的技术敏感度和解决问题的能力。推荐参加各大CTF平台如Bugku、BUUCTF的线上赛,每周挑一两道Web方向或Reverse方向的题目练手,能坚持半年以上收获会很大。第三层就是SRC平台,去挖真实应用的漏洞。
这一阶段还有一个容易被忽视的点:把过程记录下来。面试官不会只看你简历上写着“熟悉渗透测试流程”,他想知道你对一个目标有没有完整的思维链。有人问我面试时怎么把挖洞经验讲出彩,我给的技巧是“叙事反转式”:描述一个目标系统,说明你原本以为它很安全,后来通过什么细节找到突破口,最后拿到了什么数据。这样讲既有技术含量又有故事性,比干巴巴地罗列漏洞名称生动得多。
实战积累期差不多需要三到四个月,过程中写过的漏洞报告、整理过的笔记、做的项目总结都好好存起来,后续做简历时这些就是素材。
5. 面试准备与简历优化实战
技能是里子,简历和面试是面子。很多技术不错的同学挂在面试环节,原因不是能力不行,而是不知道怎么把自己“卖”出去。这一章专门讲面试准备的关键打法。
5.1 简历这样写,通过率翻倍
安全岗的简历有一个通病:技术名词堆了一大堆,但缺乏可验证的细节。招人方一天看几百份简历,套路化的形容词早就审美疲劳了。真正抓眼球的简历写法是“数字化、场景化、结果导向”。
对比一下两种写法:写法A写“熟悉渗透测试流程,了解OWASP Top 10,熟悉Burp Suite、nmap等工具”;写法B写“独立对XX大学门户系统完成渗透测试,发现存储型XSS + 越权组合漏洞,可横向访问全校学生基础信息,已提交报告并推动修复”。同样一份简历,写法B直接把能力说明白了。
我给校招生简历总结了三个模块模板,可以直接套用。
项目经历模块,最好有两个项目,一个是偏攻的“独立完成XX系统渗透测试/CTF解题”类,一个是偏守的“监控告警分析/应急响应/安全运维排障”类。每个项目写上:目标是什么、我负责了什么、用了什么工具和技术、发现了什么问题、造成了什么影响、最后结果怎样。哪怕项目是在本地靶场做的,只要你能把分析过程讲得足够深入,也是一种能力证明。
技能清单模块只写能扛住追问的东西。有几个写几个,不要贪多。你要是只会用nmap扫端口,就写“熟悉nmap常见参数使用”,别写“精通”;你要是只会用sqlmap跑一把,别写“精通SQL注入”。相信我,面试官特别爱问简历上没有写但有相关性的内容,而会对你简历上写的每一条进行压力测试。与其被问穿帮,不如用“熟悉-了解-掌握-精通”的分级给自己留出合适的解读空间。
SRC和CTF模块如果曾经在平台提交过漏洞或者比赛中获过奖,一定单列出来。这个可以弥补学校和实习经历的不足,是目前安全校招中少有的、应届生能靠自身努力拉平起跑线的亮点。
5.2 面试必考题与答题思路示例
安全校招面试大致分三大类:基础知识题、场景分析题、实际动手题或HR面。基础知识题考概念和原理,重点复习网络协议和Web漏洞原理;场景分析题是考察安全思维的核心;动手题往往是浏览器打开一个靶场,当场测试,说思路。
我把面试中出现频率最高的一些知识点整理一下,方便你自查基础是否牢固:
| 面试题型 | 高频问题示例 | 关键回答方向 |
|---|---|---|
| 网络基础 | TCP三次握手全过程,SYN Flood原理 | 能画出状态流转,能联系实际场景 |
| Web安全 | SQL注入如何判断注入点?类型如何区分? | 演示判断方法,说明字符型与数字型区别 |
| Web安全 | XSS如何从发现到利用拿到Cookie?HttpOnly如何绕过? | 梳理利用链,说明HttpOnly的限制被绕过的条件 |
| 逻辑安全 | 一个修改密码接口存在什么可能的逻辑漏洞? | 从IDOR、旧密码验证缺失、短信验证码爆破角度展开 |
| 渗透思维 | 给你一个授权站点,从哪开始? | 体现信息收集优先,按流程推进,有先后逻辑 |
| 应急响应 | 网站被上传了WebShell,你如何排查? | 找文件创建时间、访问日志、残留后门、修复漏洞、溯源 |
| 安全开发 | 如何设计一个安全的登录接口? | 防爆破、验证码、加盐哈希、限流、日志监控 |
| 新技术 | 了解云原生安全吗?K8s常见的风险有哪些? | 至少说出几个真实风险点并说明防护思路 |
答题时有几个雷区一定不要踩。
第一,不要背概念。面试官说SQL注入,你要是从“什么是SQL注入”开始背,他已经不想听了。建议回答直接切入环节,比如:“我先在参数后加单引号观察报错情况,判断注入点类型,然后考虑使用报错注入还是布尔盲注获取数据,同时注意某些环境可能有WAF过滤,需要尝试编码绕过。修复建议是使用参数化查询。”这样一讲,你的判断思路就展示出来了。
第二,不要只讲工具不讲原理。如果你说用sqlmap,面试官大概率会追问“sqlmap的--level参数是什么意思”“--risk参数是做什么的”“如果目标存在WAF,sqlmap有哪些绕过参数”。回答不上的话前面的好感都会消耗掉。基本原则是:面试时提到的每个工具,都要能说出它的运行机制和核心参数。
第三,不要忽略修复方案。面试官问一个漏洞,你不仅要说怎么攻击,还要能说出怎么修复。这个点考察你对安全的理解是否全面,是区分“会打”和“懂安全”的重要标尺。
5.3 证书:考什么、什么时候考、有没有用
证书问题几乎每次都会被问到,尤其学生特别在意。我的建议表达得直接一点:安全类证书对校招是加分项,但不是必备项,更不是保过项。企业最看重的是实战能力,证书只是对你能力的一种外部佐证。
目前行业认可度排名靠前的几类证书,我可以拉出来聊一下。CISP(注册信息安全专业人员)在国内企业投标和合规中认可度较高,但报考条件要求有工作经验,在校生可能不太符合,如果急用可以看看CISP-PTE,它比较侧重渗透测试实操,对找渗透岗有帮助。OSCP(Offensive Security Certified Professional)在国际上认可度极高,考试要求24小时内对多台靶机完成渗透拿到权限。这个证书对技术能力的提升很有帮助,但培训和考试费用较贵,大概要一两万。NISP(国家信息安全水平考试)分为一级和二级,一级偏基础适合大一了解行业,二级很多学校可以加学分或者算技能证书,对校招的加成有限,更多是让你在简历里比“无证人员”多一点印象分。至于CISSP这类高级证书,校招阶段不用考虑,那是给有经验的人准备的。
我的推荐策略是这样的:如果预算有限,优先考虑通过NISP二级这类性价比高的证书作为敲门砖,把省下来的钱和时间花在靶场练习和SRC实战上。如果预算充足且英语能力不错,OSCP是值得挑战的,它对你系统性地提升渗透测试能力有非常大的帮助。
6. 校招避坑指南与实用建议
现在我以一个过来人的角度聊聊求职认知上的坑。安全圈有个不太好的风气,就是喜欢把技术说得玄而又玄,让新人觉得这行门槛特别高,自己不是那块料。其实我观察下来,网络安全的大部分基础岗位并不比普通软件开发难入门,它需要的是持续学习的习惯和动手实践的精神,而不是什么天赋异禀。
第一个坑是不重视实习。校招时候有安全相关实习经历的人和没有实习经历的人,拿到的offer质量完全不是一个量级。实习让你在简历上有真实的项目可写,还能让你提前确认自己适不适合这个方向、喜欢哪类工作。如果你现在还有时间,不要把眼光只盯在安全公司,互联网公司、金融机构、大型企业的安全部都有安全实习岗位,这些地方能让你接触到甲方的安全体系,视野会很不一样。哪怕实习工资不高甚至没有工资,只要时间允许,这个机会都值得去。
第二个坑是只学不练、只看不写。很多同学从网上找了一堆学习资料,网盘里存了十几个G的PDF和视频,结果三个月后还停留在第一个视频的第三集。破解方法是把目标改成“做项目”而不是“学知识”:这周必须在本地搭建一个DVWA靶场,下周必须在sqli-labs上完成前面十关。不要追求完美,先跑起来再迭代。实战能力并不是看会的,是踩坑踩出来的。
第三个坑是忽略沟通和文档能力。安全从业者需要写渗透测试报告、安全通告、应急响应报告,每一份文档都是你的“技术名片”。有些同学测试做得不错,但写出来的报告逻辑混乱,漏洞描述含糊,导致价值大打折扣,给面试官印象也不好。建议日常练习时有意识地按正式报告的格式写结果,包括概述、范围、风险等级、漏洞详情、复现步骤、修复建议,这种规范化的书面表达在校招笔试和面试中会很加分。
第四个坑是麻木海投。网络安全这个领域的岗位差异极大,安全运营、渗透测试、安全开发看起来都是“安全”两个字,实际工作内容和要求完全不同。海投的结果往往是简历被系统过滤掉,或者即使过了面试,入职后才发现岗位和预期不符,干三个月就离职。建议先对照我前面描述的三类岗位,结合自己目前的技能储备和性格偏好,锁定一到两个目标方向,然后针对性地准备简历和项目经历。这比漫无目的地投一百份简历有效得多。
拿我自己带过的实习生举例。有一个孩子来实习的时候连Burp Suite都不太会用,但人踏实肯学。我让他从安全运营的告警分析做起,刚开始的几周他每天都把日志里的告警类型归类统计,还主动总结了一份误报规则列表。干了半年,他已经能独立处置一些入侵事件了。他的校招没有投特别多公司,但面一家过一个,原因很简单,他能把做的每件事讲出细节、讲出思考。后来他拿了一家头部安全厂商的安全运营offer,薪资超出他预期不少。这是很典型的经验:把一个领域做扎实了,比什么都浅尝辄止要值钱得多。
最后关于学习社区和圈子,可以多逛逛FreeBuf、Rabbit安全、先知社区这些平台看看别人怎么分析漏洞、怎么写文章,有条件的参加一些本地的安全沙龙或者线上分享会,安全行业整体比较开放,资深从业者大多愿意给新人分享经验。但一定要保持自己的判断力,网上博眼球的“黑客教程”很多,真正系统性的知识还是来源于动手实践和对底层原理的琢磨。
如果你的目标是应届找到网络安全相关的工作,现在开始准备,路径是清晰的。先把基础网络和Web知识吃透,然后是漏洞原理到靶场复现,再到SRC实战和CTF,这中间不要跳过任何一个环节。安全行业的门槛其实不在知识和技能本身,而在于你有没有一种持续跟踪和动手验证的习惯。技术更新迭代很快,但主动学习的思考方式才是这个行业的安身立命之本。
我个人的经验是面试时技术问题答不上来不可怕,可怕的是不会就说“不知道”然后停下,更可怕的是为了掩饰而胡说。碰到不会的问题坦诚说“这块我还没深入,不过我理解的相邻的知识点是这样的”,然后把你懂的那部分讲清楚,面试官反而会给你加分。这行没有全知全能的人,但大家都喜欢诚实、好学、逻辑清楚的人。
大胆往前走吧,这行的路是越走越宽的。