news 2026/8/29 9:01:22

奇安信2019校招笔试题(三)深度复盘:从安全思维到实战分析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
奇安信2019校招笔试题(三)深度复盘:从安全思维到实战分析

作为一个参加过2019年奇安信校招笔试的人,回头再看这套题,感触还是挺深的。当时我走出考场就觉得,这笔试跟市面上常见的"刷题题库"完全不是一回事。它不太纠结你背了多少漏洞CVE编号,而是更在意你有没有一套完整的安全分析思路。现在很多学弟学妹找我要经验,我都会先把这套"(三)"拿出来讲——因为它是三套题里最综合、最贴近真实安全运营场景的一套。

这套题的名字叫"奇安信2019校招笔试题(三)",是当年校招笔试的第三场,面向的安全工程师、渗透测试工程师、安全运营工程师等岗位。无论是科班出身的网络空间安全专业学生,还是自学转行、想进安全厂商的年轻人,都会在这套题里找到一些值得琢磨的东西。我印象最深的是,它把很多零散的知识点串成了一条完整的分析链路,你光靠死记硬背是过不去的,必须在理解原理的基础上做推理。

这篇文章我不打算逐题报答案,而是把整个试卷拆开,按考点模块复盘,讲清楚每类题目背后的考察意图和作答思路。你如果正在准备安全方向的技术笔试,可以参考这个框架来查漏补缺;如果你已经工作了,也可以看看当年的考题思路和现在实际做安全运营的差距在哪里。

1. 2019年校招笔试的整体印象:这套"(三)"考了什么

先说结论:奇安信这套笔试题的第三场,整体难度中等偏上,但它的难不在于偏题怪题,而在于信息量大、综合性极强。卷面大概分成了四个板块——网络基础、Web安全、密码学,以及系统安全与应急响应,最后的综合分析题还会把几个知识点揉在一起,模拟一个真实的安全事件场景。

当年我拿到卷子时,第一感觉是"怎么没有纯记忆题"。很多公司笔试喜欢考"某某端口对应什么服务"、"某漏洞披露年份"这类题目,但这套卷子从选择题开始就在给场景,比如给你一段混合了HTTP请求和返回包的内容,问你漏洞类型。也就是说,差不多每个知识点都要在具体场景里应用一遍,记性再好,不理解原理也会卡壳。

从考点分布来看,网络基础部分约占25%,Web安全占比最高,接近40%,密码学约占15%,剩下的是系统安全和应急响应类。这其实也反映了奇安信作为老牌安全厂商的人才筛选逻辑——Web安全是当时攻防对抗的核心战场,笔试压重比例在情理之中。另外,2019年正是攻防演习快速普及的节点,整套题里反复出现的"如何在流量中找异常""如何判断主机是否被入侵"这类命题思路,明显带着实战化选拔的痕迹。

还有一点值得注意:这套题是"(三)",意味着它前面还有两套。从第三套的难度和风格来看,它更像是对前三轮知识点的总复习和拔高,很多考点前两轮已经考过基础概念,到第三轮就开始考综合运用。如果你想冲刺这种大厂安全岗笔试,建议把多套卷子放在一起看,不要只闷头刷单套。当时我身边不少同学就是这么干的——第一套过了基础关,第二套练了手感和速度,第三套才真正开始体会"原来安全笔试是这么设计的"。

2. 网络基础题详解:TCP、DNS与HTTP背后的安全思维

2.1 三次握手与TCP状态机的隐藏考点

网络基础部分,有一道关于TCP三次握手的综合分析题让我比较难忘。表面上看,它是一道很标准的流程题:客户端发送SYN,服务端回复SYN+ACK,客户端再回ACK。但题目的第二问直接给了一个异常状态,问如果客户端在第二次握手后就不回应了,服务端会持续处于什么状态,以及这个状态对安全有什么影响。

这就是典型的"从安全视角看网络"的思路。正常的计算机专业考试,问你三次握手的状态名、序号和确认号变化就结束了,但这道题引导你往"半连接队列""SYN Flood攻击原理"这些方向想。作答时需要写出服务端会进入SYN_RCVD状态,并且会重传SYN+ACK,如果一直得不到ACK,连接就会停在半连接队列里,大量这样的连接堆积会耗尽系统资源。

这里我当时的作答思路是三步:先答标准状态机,再答异常引发的现象,最后落到安全危害和缓解措施。这种"现象—原因—影响—对策"的答题结构,在这套卷子里几乎通用,后面Web安全和应急响应的大题,也都是这个套路。如果你也想准备类似的笔试,我建议复习TCP时不要只看三次握手的"正常剧本",最好连超时重传、半连接、端口扫描的常见特征一起看,这才是安全岗要的深度。

2.2 DNS解析过程:不只是递归和迭代

DNS这部分的考题也很有意思。选择题给了一个场景:企业内网某台终端访问域名时出现间歇性失败,排除了网关和防火墙问题,问你最可能的原因是什么。选项里有本地DNS缓存污染、递归服务器故障、DNS over HTTPS未生效等。

这道题考察的核心是DNS解析的完整链路,同时也在考你"有没有实际排障经验"。正确的分析顺序应该是:终端先查本地hosts文件和浏览器缓存,再查系统DNS缓存,然后才发起递归查询到配置的DNS服务器。间歇性失败通常指向缓存过期、TTL配置不一致,或者上游递归服务器有节点异常,而不是单纯的"断网"。我当时选了与缓存和TTL相关的选项,后来对比网络抓包的结果,发现判断方向是对的。

安全岗学DNS,比起网络工程师,还得多想一层:DNS是攻击面也是检测面。比如DNS隧道、域名恶意解析、DNS劫持,这些概念在这套卷子的选择题里都有涉及。复习的时候不能只背"递归查询和迭代查询的区别",要顺带了解DNS报文结构、常用记录类型、缓存投毒的基本原理,否则容易在偏安全视角的题目上丢分。

2.3 HTTP状态码与请求走私的前奏

HTTP在网络安全笔试里几乎是必考的。这套题对HTTP的考察不算难,给了几个状态码让分析含义,然后有一个关于请求方法的小题。不过细心看会发现,它也埋了伏笔——有一道材料题给出了两个Content-Length不一致的HTTP请求,问可能出现什么安全问题。

这个点在当时看来可能偏前沿,但放到现在就很好理解了——HTTP请求走私。CL.TE、TE.CL这类问题在2019年已经开始被安全研究者重视,奇安信把这种思路放进校招题,其实是想筛选出真正对协议层安全有敏感度的学生。你如果只停留在"GET和POST的区别"这个层面,这道题基本拿不到分。

我的建议是,复习HTTP时至少要掌握三块:常用的状态码及其语义(尤其是301、302、403、404、500)、请求方法的安全语义(GET不应该改状态、PUT/DELETE的滥用风险)、头部字段的解析歧义问题(Content-Length和Transfer-Encoding的冲突)。这三块不光是做笔试题有用,面试聊到协议安全时也是高频话题。

3. Web安全核心题:SQL注入、XSS与CSRF的三层递进

3.1 SQL注入:从"能不能注"到"怎么利用"

Web安全部分占分最高,SQL注入自然是重头戏。这套卷子里的SQL注入没有考老掉牙的"用单引号报错判断注入点",而是给了一段完整的PHP代码和对应的数据库查询逻辑,让你分析注入点可能存在的位置。

我记得代码里有一个搜索功能,把用户输入直接拼到了LIKE子句里,且没有做参数化处理。题目第一问是判断注入点,第二问是写出一种获取当前数据库名称的方式。这里除了基础的union select,还需要知道MySQL的information_schema库,以及group_concat函数的基本用法。

作答时我刻意把步骤写完整:注入点判断、字段数猜测、报错信息获取、union查询、读取元数据。每一步都尽量说明原理,而不是只写一句"存在SQL注入漏洞"。这种大题的评分标准,往往不是看你最终有没有拿到flag,而是看你的利用思路是否闭环。哪怕你只知道原理但没写出完整payload,只要把这个思路梳理清楚了,也能拿到大部分步骤分。这一点对现在备考的人来说特别重要——不要只背payload模板,要理解每个步骤在做什么。

3.2 XSS:反射型、存储型与DOM型的区分

XSS考察题给了三个不同的场景:一个是在URL参数里直接弹出alert,一个是评论区的payload在刷新后仍然存在,还有一个是前端JavaScript代码从location.hash取值后插入到innerHTML。题目让你判断分别属于哪种XSS类型,并写出检测方法。

这道题说难不难,但区分度很好,因为它考察的是你有没有真正理解XSS的触发位置和存储位置。反射型的核心是参数值直接出现在响应里;存储型的核心是payload被持久化到服务端,任何用户访问都会触发;DOM型的核心是纯前端DOM操作导致的,服务端响应里根本看不到payload。这三个特征如果混淆,做题就会做错。

我还记得卷子里有一小问问到"HttpOnly能不能防御所有XSS",答案是不能,因为HttpOnly只限制document.cookie的读取,对利用fetch发请求、键盘记录、页面篡改这类攻击路径并没有直接作用。这种题目看似在考单个知识点,实际上是在考你对XSS危害链的整体理解。

3.3 CSRF:Token与SameSite的边界讨论

CSRF在2019年的校招题库里不算少见,但这套题的角度有点新意。题目描述了一个含转账功能的站点,转账请求是GET方式,且没有Token校验,然后问你如果改成POST能不能解决CSRF,以及加上Referer校验能不能彻底防住。

这题的考点其实是"你理解CSRF的本质吗"。改成POST只是提高了攻击者构造请求的门槛,但攻击者完全可以自己写一个表单用POST提交;Referer校验也是个经典坑,因为有些浏览器在某些场景下不会发送完整Referer,甚至可能被绕过。真正的防线是CSRF Token、SameSite Cookie属性、以及关键操作的二次校验。

我当时答卷的思路,是先把CSRF的触发链路画出来:用户已登录、会话未过期、目标站点无Token校验、攻击页面发起跨站请求。然后再对每个方案做评判。这种从"链路"视角切入的答题方式,在做安全分析题时特别好用,后面应急响应大题我也用了同样的框架。

4. 密码学与认证体系:不只是记住AES和RSA的区别

4.1 哈希算法:MD5为什么不该用于口令存储

密码学板块的题量不大,但每道题都在引导你去想"这东西在实战中怎么用"。第一道题给了三个哈希值,分别是MD5、SHA-1和SHA-256对同一段数据计算的结果(题目不会直接告诉你算法名,而是给摘要长度和特征),问你分别对应哪种算法,以及哪些已经不适合用于口令存储。

这道题对熟悉哈希长度的人基本是送分题——MD5是128位摘要、32位十六进制,SHA-1是160位、40位,SHA-256是256位、64位。但第二问更重要:为什么MD5和SHA-1不再推荐用于口令存储?答案不只是因为碰撞攻击,更关键的在于它们速度太快、容易被暴力破解,再加上彩虹表和字典攻击的配合,弱口令几乎秒破。正确的口令存储方案是加盐慢哈希,比如bcrypt、scrypt、PBKDF2。

当年我看到这道题时,还联想起一些行业里遗留的老系统仍然用MD5存口令,这从笔试角度来说是个很好的延伸话题,能在面试时主动聊出来,会让面试官觉得你有真实项目感知,而不只是会考试。

4.2 对称加密与非对称加密:用在哪里的问题

对称加密与非对称加密那道题,倒是很典型,问AES和RSA各自的应用场景以及二者如何配合。但第二问有深度:在HTTPS握手过程中,ECDHE密钥交换和RSA密钥交换有什么区别?为什么前向保密性更受重视?

说实话,这道题对很多只背概念的人是个打击。因为能说出"HTTPS用对称加密传输数据,用非对称加密交换密钥"只是第一层;理解TLS握手里的临时密钥、会话密钥派生、前向保密,才是安全岗需要达到的层次。关键是,要回应CDHE在每次握手时都会生成临时密钥对,即使服务端长期私钥泄露,历史通信内容也无法被解密;而RSA密钥交换如果服务端私钥泄露,攻击者可以解出之前的预主密钥。

复习密码学,我的经验是不要死记算法的年份和密钥长度,而是抓住"这套机制解决什么问题、如果不这么做会怎样"。TLS1.3放弃RSA密钥交换改为强制前向保密,就是一个非常好的话题切入点,既能当笔试题,又能当面试聊天话题。

4.3 数字签名与证书链:信任模型的建立

数字签名与证书链的题目,主要给了"数字签名用来保证什么"的选项,以及一道关于CA信任链的分析题。题干是:一个浏览器访问站点时提示证书不受信任,可能的原因有哪些,让你判断哪些说法合理。

这道题的考察点有两个层次。第一层是基础概念:数字签名保证的是完整性和不可否认性,不负责保密性。第二层是实际场景:证书不受信任可能是证书由自建CA签发、证书链不完整、服务器没有正确配置中间证书,也可能是系统根证书库过旧。如果只背"证书就是加密的"这种概念,看到这道题就懵了。

我当时扩展写了一段关于证书验证顺序的内容:先验证证书有效期,再验证签名链是否能追溯到受信任的根证书,然后检查域名是否匹配,最后再看是否被吊销。这样写自己心里也很踏实,因为哪怕选项里有细微的干扰项,我能按链条把每个环节对一遍,不容易被带偏。

5. 系统安全与日志分析题:应急响应的实战推演

5.1 Linux文件权限:suid、属主与异常提权

系统安全部分给我印象最深的一道题,是关于Linux文件权限的。它给出了一个find / -perm -4000的排查背景,问为什么安全人员要关注SUID文件。原因是SUID权限会让普通用户以文件属主身份执行程序,如果某个SUID程序存在漏洞,就可能被用来提权。

这道题还有一个小的陷阱选项,写的是"SUID文件只能由root用户执行"——这是错的。SUID的作用是改变执行时的有效用户ID,并不是限制执行者身份。这就提醒我们,准备安全笔试时不要按普通运维的思路去理解权限,要按"攻击者如何使用这个权限"的思路去想。一个常见的排障技巧就是定期审计SUID文件的变动:先通过find / -perm -4000 -type f建立基线,再定期对比文件列表和哈希值,出现新增项就重点排查。

5.2 日志分析:从/var/log/secure里揪出暴力破解

日志分析题占比不高,但方向很明确,结合了日常安全运营的真实工作。题干描述:某台Linux服务器的/var/log/secure日志里出现大量Failed password for root记录,并且来自同一IP,问你应该怎么处理。

这题的精髓在于,回答时不能只说"封IP、改密码",而是要分出紧急处置和根因分析两个阶段。紧急处置包括:临时iptables或firewalld屏蔽来源IP、禁用root远程登录、检查是否已有其他入侵痕迹。根因分析则要回看日志时间线,判断暴力破解是否成功过一次,同时检查/var/log/wtmplast命令输出,确认有没有异常登录会话。

如果你有实际运维经验,还能补充一点:不要只盯着SSH日志,看看auth.log、shell history、计划任务、启动项有没有被改动。这套题虽然不会把每个文件都列出,但你在答案里体现出这种"多点排查"的意识,得分观感会明显好很多。

5.3 Web服务器日志:从访问日志还原攻击路径

Web日志分析那道题,给了一段Apache访问日志,里面有大量包含union select../etc/passwd<script>的请求。题目问:这次攻击最可能是哪种类型,攻击者有没有成功,以及你还需要结合什么证据来下结论。

它实际上考的是从攻击者视角还原攻击链的能力,而非单纯判断某条请求是不是恶意。作答时我按时间线把日志里的请求分成了几个阶段:侦察阶段(大量目录扫描)、漏洞探测阶段(SQL注入payload试探)、利用阶段(出现into outfile写文件的请求)。然后我指出,仅凭现在的Web日志,只能证明攻击者发送了攻击请求,不能证明请求是否真正到达了数据库层,还需要数据库查询日志、应用报错日志和文件系统里有没有新增文件来印证。

这种思路在笔试里非常加分,因为它展现的不只是单项技能,而是一套"事件分析方法论"。这类大题往往没有标准答案,评卷人看的就是你有没有形成完整的分析闭环。

6. 综合分析题:模拟一次企业内网入侵事件的作答框架

6.1 题干给的核心线索

这套笔试题的最后是一道综合大题,占分最高。题干大概描述了一个企业内网场景:安全巡检发现某台Web服务器对外连接异常,请求了一个外部域名,且本地计划任务里多了一个脚本,脚本内容会向远程IP发起连接。题目还附了这样几样信息:一段Web访问日志的节选、一份系统计划任务列表、一个可疑脚本片段。

它不直接告诉你"这是中了什么马"或者"这是哪种攻击",而是要求你作为安全工程师,给出事件的分析思路和处置建议。这种出题风格,其实就是在模拟真实的安全运营工作——你面对的不是一个被贴好标签的样本,而是散落各处的线索,需要你自己把它们串起来。

6.2 我是怎么组织答案的

我当时把答案拆成了四块:事件定性、传播路径猜测、处置步骤、加固建议。

事件定性方面,我结合计划任务里的脚本和外部连接行为,判断这是一条典型的"命令控制回连"特征。Web服务器作为入口点失陷后,攻击者通过写计划任务实现持久化,再主动回连外部C2地址。这个判断要说理充分,不能一上来就说"中了木马"。

传播路径方面,我回看了Web访问日志,找到了一条可疑的上传请求,从时间线上看正好在计划任务脚本创建之前。我写的是"初步判断攻击者通过Web应用漏洞上传了WebShell,再用WebShell执行命令写入计划任务"。用"初步判断"这样的措辞,既表明你有推断能力,又体现你理解证据链还不完整,需要继续验证。

处置步骤方面,我写了:先断开服务器外网连接或限制回连IP,避免进一步数据外泄和横向扩散;然后保留现场并镜像内存、复制日志;再清除计划任务和WebShell,排查是否有其他后门账号、SSH密钥、启动项;最后对Web应用漏洞打补丁或加固配置。

加固建议方面,从Web应用层、主机层、网络层三个维度展开:Web应用层做参数校验和上传文件类型白名单;主机层禁用不必要的计划任务写权限、配置主机入侵检测、基线核查;网络层限制服务器出方向白名单,对异常域名和IP做可疑情报检测。

这种结构的好处是,每一块都是一个独立得分点,哪怕你分析定性不够精确,但处置流程和加固建议写到位了,整道大题也不会太难看。现在回想,我当时能在整套笔试里拿到不错的分数,这道的框架功不可没。

6.3 为什么说这题是在模拟真实安全运营

你要把这题放在2019年的行业背景下看。那几年攻防演习越来越强调"以战代练",企业安全部门最缺的不是只会用扫描器的人,而是拿到一个告警能做出判断、能按流程处置的人。奇安信把这种实战场景搬进笔试题,某种程度上就是在筛选"不需要太长时间培训、上手就能参与值班和应急响应"的人。

如果你平时完全没有接触过应急响应,可能会觉得这道题信息量太大、不知道从哪下手。我建议在笔试前至少完整看一遍常见入侵事件的分析报告,挂马、勒索、挖矿、数据窃取各看一两篇,重点关注别人是怎么从一条告警或一段日志里抽丝剥茧的。看多了以后,就算遇到没见过的场景,也能按"入口—执行—持久化—回连—横向—数据"这个通用攻击链来组织思路。

7. 备考奇安信笔试的一些复盘经验和常见误区

7.1 别只刷题,要建立"场景—原理—对策"的映射

很多人准备安全笔试的误区,是买一堆题库从头刷到尾,混个眼熟。但奇安信这种偏实战风格的考卷,靠刷题很难覆盖,因为它的题目是场景化的,同样的知识点换个壳,你如果只背答案就会抓瞎。

我更推荐用"场景—原理—对策"这个结构来复习。比如SQL注入,你先想清楚它是什么场景(用户输入拼进SQL语句),再说清楚原理(违反数据和代码分离原则),最后想对策(参数化查询、输入校验、最小权限数据库账号)。这种三层映射一旦形成,不管题目怎么换场景,你都能从容应对。

7.2 注意时间分配,综合分析题一定要留足时间

这套卷子的综合题比前面所有题都花时间,因为它既要求分析又要求书写,还要组织语言。建议拿到卷子先把所有题快速扫一遍,给综合分析题预留至少30到40分钟。选择题和填空题遇到拿不准的,先做个标记,不要卡太久,因为后面的大题才是拉开差距的地方。

另外,写分析题时一定要分条、分点,尽量用"第一,第二,第三"的格式,让阅卷人一眼看到你的思考层次。晦涩的叙述一大段,哪怕内容对了也容易被忽略。分条写,也是在强迫自己把思路理清楚。

7.3 把自己当成"安全运营工程师"而不是"考生"

最后一点,是我后来入职后回忆这套题才想明白的。笔试的很多题,表面是技术题,实际是态度题和思维题。比如日志分析那道题,如果只回答"这是扫描攻击"就没意思了;再追问一句"扫描之后呢?有没有成功?有没有其他痕迹?"——这个追问的过程,才真正体现你跟普通人的区别。

所以在准备时,我推荐多问自己"然后呢"。看到一条攻击日志,不要停在判断攻击类型,要继续想它的来源、目标、影响面、处置方法。这套"然后呢"的思维习惯,对笔试、面试和实际工作都特别有用。

7.4 版本与工具意识:做安全题要落地

还有一点,在校生容易忽略的是"版本意识"。比如提到MySQL注入,你得知道自己说的是MySQL 5.x还是8.x,information_schema在不同版本里访问权限是否一样;提到Linux日志,你最好知道systemd和SysV的服务管理方式不同,对应的日志查询命令也不同。这套考题里没有直接要求你写某个版本的具体命令,但你答题时表现出这种落地的版本意识,会明显加强你的可信度。

我当时备考时,会在虚拟机快速搭一个LNMP环境,把SQL注入和XSS的题目场景各复现一遍。复现的过程不只是验证答案,更是帮我把书上那些概念变成了实实在在的操作动作。哪怕不全面,这种"手上过一遍"的经验,在笔试时碰到场景题会觉得特别有底气。

回头来看,这套"奇安信2019校招笔试题(三)"最让我收益的一点,是它把安全这个领域那种"既要懂原理,又要有实战手感"的特质体现得淋漓尽致。如果你正走在安全方向的求职路上,与其满网找标准答案,不如把精力花在建立自己的分析框架上。把这套题的思路吃透了,后面不管遇到哪家安全厂商的笔试题,你都大概知道该怎么下手。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/29 9:01:09

Caddy ECH 配置教程:两步隐藏 TLS 握手里的真实域名

Caddy ECH 配置教程&#xff1a;两步隐藏 TLS 握手里的真实域名 【免费下载链接】caddy Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS 项目地址: https://gitcode.com/GitHub_Trending/ca/caddy 读完这篇&#xff0c;你能给自己的 C…

作者头像 李华
网站建设 2026/8/29 9:01:00

136 门精选课程的 CS 自学指南:如何 3 年从零基础走到全栈

136 门精选课程的 CS 自学指南&#xff1a;如何 3 年从零基础走到全栈 【免费下载链接】cs-self-learning 计算机自学指南 项目地址: https://gitcode.com/GitHub_Trending/cs/cs-self-learning 我也曾把上百 G 的资源加进收藏夹&#xff0c;却连一门课都没学完。问题不…

作者头像 李华
网站建设 2026/8/29 8:57:23

Django排课系统开发实战:从数据库设计到自动排课算法

简介&#xff1a;教务管理系统中&#xff0c;排课一直是复杂度最高的模块之一&#xff0c;其本质是一个多资源约束分配问题&#xff0c;涉及教师、班级、教室、时间等多维度的冲突规避。借助Python生态中成熟的Django框架&#xff0c;可以高效地搭建一套通用排课系统。本文从基…

作者头像 李华
网站建设 2026/8/29 8:55:20

AI企业第一品牌顶层设计:从认知站到行业定义

从世界人工智能大会WAIC出来后&#xff0c;我脑子里最挥之不去的问题不是“哪家技术最强”&#xff0c;而是“为什么有些AI企业能成为第一品牌&#xff0c;有些企业只能成为背景板”。这个问题直接决定了一家AI企业的资源配置方向。技术最强的企业不一定成为第一品牌&#xff0…

作者头像 李华