2020奇安信秋招安全方向试卷全解析:考点、能力模型与答题思路

发布时间:2026/8/29 14:35:22
2020奇安信秋招安全方向试卷全解析:考点、能力模型与答题思路 并不是所有笔试都值得逐题复盘但2020年奇安信秋招安全方向试卷1是个例外。这份卷子在当年秋招群里流传得非常广有人把它当“安全岗入门必刷题”有人做完直接怀疑自己适不适合干安全。我后来和几位上岸的同事对过答案又结合自己在安全方向做过的项目把这套试卷的考查逻辑、核心考点、答题思路完整梳理了一遍。如果你正在准备安全方向的校招或者刚入行想检验自己的知识体系这份拆解应该能帮你省下不少自己摸索的时间。这份试卷真正有意思的地方在于它不只是在考“你知道哪些漏洞”而是在考“你面对真实安全问题时会怎么思考”。很多题目看似是基础概念题但答案的好坏完全取决于你对攻击链路、修复方案和安全设计有多深的理解。下面按几个核心主题来拆。1. 这份卷子的真实意图安全岗位需要什么样的能力模型1.1 从试卷结构反推岗位画像奇安信秋招安全方向覆盖的岗位其实很宽渗透测试、安全开发、安全运营、安全研究、安全咨询都有。一份试卷想同时筛出适合不同方向的人就必须在题目设计上做出层次感。从试卷内容看它明显分成几个能力层级第一层是安全基础包括常见漏洞原理、网络协议、加密算法、操作系统安全基础。这一层考察的是你有没有安全领域的基本功科班出身的学生靠课程内容就能覆盖大半。第二层是攻防实战能力比如漏洞利用思路、攻击链构造、日志分析、应急响应流程。这一层开始拉开差距只有真正动手做过靶机、打过CTF、分析过真实攻击样本的人才能答好。第三层是工程化思维比如安全编码、安全需求分析、安全方案设计。这一层刷掉的是“只会玩漏洞”但不理解企业安全建设的人。岗位不同侧重点确实不一样。渗透岗可能更看重第二层安全开发岗更看重第三层。但无论投哪个方向三层能力都不能有明显短板这也是试卷把三层内容混在一起出的原因。1.2 安全岗位和普通开发岗笔试的本质区别普通开发岗笔试重点考察数据结构和算法因为需要判断候选人能否写出高效可靠的代码。安全岗笔试则完全不同它更看重三个东西攻击者思维、系统理解能力和修复落地能力。攻击者思维决定了你能不能找到别人找不到的问题。系统理解能力决定了你在一个陌生的系统里能不能快速定位风险点。修复落地能力则决定了你发现的问题能不能真正解决而不只是停留在“报个漏洞”的层面。所以你在答题时要注意面试官其实并不在意你是否背下了某条漏洞的准确定义而在意你能不能讲清楚这个漏洞“为什么存在、怎么触发、如何利用、怎么修复”。这四条线完整才算一个合格的答案。1.3 “奇安信”产品矩阵在试卷中的影子有心的同学会发现试卷里很多考点和奇安信自身的业务方向高度相关。比如考终端安全相关问题对应的是终端安全产品线考代码审计、安全开发流程对应的是代码卫士这类产品考安全运营、日志分析对应的是态势感知与安全服务平台考AI安全对应的是公司在AI安全方向的研究布局。这不是巧合安全公司的笔试题一定会和自身业务结合。去任何一家安全公司面试前了解这家公司的主要产品线和对应的技术方向是标配动作。你可以不看具体的产品手册但至少要知道这个公司做的是终端安全、网络安全还是数据安全这样才能在答题时把自己的思路往对方关心的方向靠。2. Web安全核心考点这几类漏洞几乎必考2.1 SQL注入不只是“把单引号塞进去”SQL注入是安全笔试的常青树几乎每一份安全试卷都会出现。但2020年这份卷子里的SQL注入题目考查的深度比一般试卷要高。基础层面你需要掌握联合查询注入、报错注入、布尔盲注、时间盲注、堆叠注入等常见手法知道information_schema库的作用能识别不同数据库MySQL、Oracle、SQL Server、PostgreSQL在注入语法上的差异。但想拿高分还要能回答这些问题如果目标站点存在WAF你会怎么绕过如果SQL语句经过预编译是不是就绝对安全如果过滤了空格和关键字有哪些替代方式这些都是在真实渗透测试中必定会遇到的场景。一个容易忽略的知识点是SQL注入不只在参数里HTTP头User-Agent、Referer、X-Forwarded-For、Cookie、文件上传的文件名都可能成为注入点。我在实际项目里就遇到过请求头注入的情况因为开发只对请求参数做了过滤完全没考虑请求头也能进入SQL语句。2.2 XSS与CSRF类型辨析和利用链XSS题目通常会让你区分反射型、存储型、DOM型并且给出实际场景来判断属于哪一种。除了基础概念建议你准备一下XSS的利用链存储型XSS打到管理员Cookie之后怎么进一步提权、怎么结合CSRF改管理员密码、怎么用XSS利用平台进行打cookie操作。CSRF核心考点是“为什么Token能防CSRF”以及“SameSite Cookie属性对CSRF的影响”。这两个问题能看出你是真理解原理还是在背概念。Token防CSRF的本质是攻击者无法在跨域请求中获取到目标站点的Token值所以构造的请求缺少有效凭证。SameSite属性则限制了第三方请求是否携带CookieLax模式下大多数跨站POST请求不会自动带Cookie防护效果很明显。答题时如果能补充一个完整的攻击场景描述比如“用户在已登录状态下访问了恶意站点恶意站点通过构造form表单自动提交触发修改密码接口”会显得更有实战感。2.3 SSRF与路径遍历边界信任引发的安全问题SSRF服务端请求伪造是近几年安全笔试的热门考点。它核心的问题是服务器对用户传入的URL过于信任导致攻击者可以借助服务器发起内网请求访问原本无法直接访问的内网资源。这类漏洞的经典利用包括读取云元数据比如云服务器的临时凭证、探测内网端口、配合其他漏洞攻击内网应用。回答SSRF题目时建议从三个角度展开攻击者能做什么探内网、读文件、打云元数据、怎么利用改协议、改IP表示方式、用重定向绕过、怎么修复校验URL协议和域名、禁用内网IP段、限制重定向、统一出口网关。路径遍历目录穿越相对基础但热词里频繁出现说明企业实际环境中仍然高发。它的本质是服务器对文件路径拼接缺乏校验攻击者通过构造../序列跳出限制目录读取任意文件。修复方式很简单拼接前规范化路径并校验最终路径是否在允许的根目录内。答题时给出具体代码示例会加分。2.4 Web安全题答题示例以文件上传为例文件上传是一道综合题经常和WebShell、解析漏洞一起考。一个完整的文件上传漏洞回答应该包含漏洞原理层面服务端未对上传文件的类型、内容、后缀做严格校验导致攻击者上传可执行脚本。利用方式层面不同中间件的解析特性例如Apache多后缀解析、Nginx配置不当导致的解析漏洞、IIS分号截断都可以配合使用。如果能补充图片马配合包含漏洞本地文件包含、远程文件包含的利用方式说明你是真的做过相关的题目。修复层面至少要说清楚采用白名单而不是黑名单校验文件后缀用MIME类型加文件头内容双重校验上传目录设置为不可执行随机化文件名且保留原始后缀白名单文件访问单独走静态资源域名。这类题目答得好不只是因为你知道一个点而是能串成一条完整的知识链路。3. 安全开发与代码审计从代码层面发现问题的能力3.1 代码审计题在考什么安全开发方向的题目不会让你直接写一个防火墙而是给你一段有问题的代码让你找出漏洞并给出修复方案。这和奇安信代码卫士这类工具做的事情本质上是一样的在软件开发生命周期中尽早发现安全缺陷。代码审计题目涉及的典型问题包括SQL注入字符串拼接查询、命令注入拼接系统命令、路径遍历用户输入拼接文件路径、反序列化漏洞、XXEXML外部实体注入、硬编码密钥、不安全的随机数等。我在复盘试卷时注意到题目倾向于选择真实业务中高频出现的问题而不是冷门漏洞。这意味着你不需要把CWE列表全背下来但需要把OWASP Top 10里面的每一类都搞清楚。3.2 一段典型的不安全代码命令注入假设试卷给了你这样一段Java代码public void executeCommand(String userInput) { String cmd ping -c 4 userInput; Process process Runtime.getRuntime().exec(cmd); // ... }看起来人畜无害但如果userInput是用户可控的攻击者传入127.0.0.1; cat /etc/passwd在Linux下就会执行两条命令。这就是命令注入。修复方案有两个层次。第一层是修复本身使用参数列表方式而不是拼接字符串方式执行命令例如Java里的ProcessBuilder或Python的subprocess.run([...])避免进入Shell解释器。第二层是加固整体对用户输入做白名单校验比如IP地址场景就严格控制只允许IP和域名格式并且不要直接拼接用户输入。这种“修复代码加固整体”的双层回答是面试官最想看到的。3.3 安全编码的正确姿势从源头消灭漏洞代码审计的最高境界不是“发现漏洞后修复”而是在编码阶段就不产生漏洞。试卷里如果有安全编码相关的题目考察点通常集中在参数化查询是SQL注入的根治方案所有动态SQL都必须使用预编译加参数绑定而不是字符串拼接。输出编码是XSS的根治方案根据输出上下文HTML标签内、属性内、JavaScript内、URL内选择对应的编码策略。最小权限原则要求进程、数据库账号、系统用户都只授予完成任务所需的最小权限避免漏洞利用后权限过大。安全配置管理要求配置文件、密钥不能硬编码在代码仓库里要使用专门的密钥管理系统。答这类题时不要泛泛地说“使用参数化查询”可以补充一个对比拼接SQL时用户在用户名框输入 OR 11会怎样预编译后这个输入只会被当作字符串字面量数据库层根本不会把它解释为SQL语法。这样回答就把原理讲透了。3.4 代码审计题的通用答题模板结合我自己的经验代码审计题目可以按照下面这个步骤来组织答案不仅清晰也不容易漏项第一步确认输入源。找到用户可控的数据入口是HTTP参数、请求头、上传文件还是配置文件输入源决定了漏洞的可达性。第二步追踪数据流。看输入数据经过了哪些函数处理有没有过滤、转义、类型转换最终流向了什么敏感操作。第三步判断漏洞类型。根据数据流的终点判断是SQL注入、命令注入、路径遍历还是其他问题。第四步验证可利用性。说明需要满足什么条件才能触发需要什么权限利用后能达到什么效果。第五步给出修复建议。直接针对根因给出具体代码级别的修复方案并补充防御纵深建议。这个模板用在面试答题里非常好用哪怕是没见过的新代码按这个思路走一遍也能找到八九成的问题。4. 终端安全与安全产品题理解企业安全建设的基础4.1 终端安全产品的核心功能模块终端安全是奇安信的重点方向之一试卷里出现终端安全相关题目并不意外。终端安全产品EDR、EPP类通常包含几个核心模块病毒查杀引擎负责恶意文件静态检测常见技术有特征码查杀、启发式分析、沙箱动态行为分析。入侵防御系统关注系统层面的攻击行为比如恶意进程注入、注册表异常修改、敏感文件操作。主机防火墙控制网络访问策略阻止恶意流量出入。终端管控负责软件清单、外设管控、补丁管理等合规性要求。回答相关题目时如果能结合“攻防对抗”视角来解释这些模块存在的意义会显得更有深度。比如攻击者入侵一台终端后通常需要持久化常见手法是写入启动项、注册表RUN键、计划任务、服务劫持。终端安全产品针对这些持久化位置做重点监控本质上是在和攻击者抢时间。4.2 Agent与EDR的工作原理从性能到安全性的平衡除了终端安全产品的常见功能试卷里可能还会扩展到Agent本身的安全设计例如Agent升级机制、通信认证、日志本地存储的安全保护等。这类题目更偏向安全开发方向但渗透方向的同学也应该了解因为目标机器上装了哪些Agent、Agent会不会拦截你的操作直接影响渗透方案。真实环境中的Agent性能影响是一个经常被讨论的话题。杀毒引擎扫描时的CPU占用率文件实时监控对文件操作延迟的影响全盘扫描时内存的占用都是企业选型时的重要指标。这也是为什么现代EDR产品普遍采用“轻量Agent云端分析”的架构把耗时的大规模静态分析放到云端终端上只做轻量采集和紧急阻断。试卷如果问到Agent的安全设计思路你需要答出以下几个关键点Agent与服务器的双向认证防止被恶意仿冒或中间人劫持升级包的数字签名校验防止升级链路被投毒Agent自身运行环境的完整性校验防止被杀软自身成为攻击目标采集数据的加密传输和本地最小化存储防止敏感信息泄露。4.3 从“本网站使用安全服务防护恶意自动程序”看验证机制热词里反复出现“本网站使用安全服务防护恶意自动程序。在验证您不是自动程序期间将显示此页面。”这说明很多人在日常工作生活中遇到安全验证页面却不理解它背后做了什么。从安全产品设计角度看这种“在线验证页面”就是Web应用防火墙或Bot防护系统在拦截自动化程序时的一种应答机制。它的工作过程通常是用户请求到达站点后安全网关检测到请求特征可疑比如高频访问、无Cookie、无JavaScript执行能力、IP信誉差于是返回验证页面要求浏览器执行JavaScript计算或完成拖动滑块、识别验证码等操作如果客户端在限定时间内通过了验证网关放行并把会话标记为信任状态。这类验证机制在设计时有一个矛盾验证太严正常用户会被误伤验证太松自动化攻击又能轻松绕过。优秀的验证方案会在“首次访问校验”“二次访问放行”“异常行为重新验证”之间做动态调整。安全笔试如果考到这种场景考察的就是你对“可用性和安全性平衡”的理解而不只是技术原理。4.4 安全产品的整体架构思路如果试卷出一道开放题让你设计一个企业终端安全防护方案你会怎么答一个合格的回答至少要包括四个层面终端层部署安全Agent覆盖病毒查杀、入侵防护、基线检查、外设管控。网络层部署安全网关、防火墙、入侵检测系统对终端流量进行检测和阻断。数据层建设日志收集分析平台汇聚终端日志、网络日志、应用日志做关联分析。管理层制定安全策略、补丁管理、漏洞管理、应急响应预案并定期做攻防演练。很多只做过单点技术的人面对这种题目容易慌但其实面试官考察的不是你设计出来的方案有多完美而是你脑子里有没有一个完整的企业安全框架。从单点技术向整体架构延伸是安全从业者成长过程中必须迈过的坎。5. 安全运营与应急响应题从告警到闭环的完整链路5.1 告警分析一条SQL注入告警的排查思路安全运营方向通常会有日志分析或告警分析题。给你一条日志让你判断是不是攻击、是什么攻击、该怎么处理。这类题目非常贴近实际工作。举个例子如果告警系统提示某台Web服务器出现了SQL注入尝试你会怎么处理很多新人会直接去看攻击IP然后封掉了事这是典型的“治标不治本”。正确的排查链路应该包括确认攻击是否成功在Web日志中搜索对应的URL和参数回溯数据库查询日志确认是否存在异常查询记录。确认影响范围如果被注入成功需要排查数据是否被读取或篡改检查是否写入了一句话木马或其他后门文件。分析攻击路径还原攻击者的完整请求序列看是一击即中还是长期探测。处置与加固对漏洞点做修复、添加WAF规则、封禁攻击源、修改受影响账号密码并对服务器做全面排查。复盘改进更新检测规则、完善日志记录、推动开发团队修复同类问题。每一步都有对应的实际工作内容不是空喊口号。答题时如果能把这个过程完整写出来说明你有实际的安全运营经验。5.2 从热词“安全风控策略该次请求被拒绝”看业务风控“登录哔哩哔哩显示触发安全风控策略该次请求被拒绝”是一个很多人遇到过但不太懂的提示。这背后其实是业务风控系统在起作用。业务风控和传统Web安全防护不同它更关注的是业务逻辑层面的风险比如撞库、扫号、批量注册、薅羊毛、爬虫、刷单等。风控系统会收集设备指纹、IP风险分、账号行为序列、操作频率等信息通过规则引擎和机器学习模型综合判断当前请求是真实用户还是恶意程序。如果试卷中出这类场景题你可以从几个方面展开数据层采集埋点、设备指纹、行为日志决策层规则引擎加模型评分输出“放行、验证、阻断”三级决策处置层弹验证码、短信二次验证、限制操作、临时封禁反馈层把处置结果反馈给模型持续优化误判率和漏判率。这类题目的价值在于提醒你安全不只是挖漏洞、打CTF更重要的还是保护业务。5.3 答题中如何体现应急响应的流程化思维应急响应题目是安全笔试中最容易写散的题目。很多同学的答案能列出十几条措施但是东一句西一句没有逻辑主线。一个高质量的应急响应答案通常会沿着“时间线”来组织第一阶段止损第一时间隔离受影响主机、阻断攻击源IP、暂停受影响服务防止损失扩大。第二阶段取证需要保存内存、进程列表、网络连接、登录日志、敏感文件的操作记录注意保护证据的完整性。第三阶段分析确认攻击入口、攻击方式、攻击时间线、影响范围找到根因。第四阶段清除删除恶意文件、后门账号、计划任务修复漏洞。第五阶段恢复在确认系统干净后恢复正常业务并加强监控。第六阶段复盘输出应急响应报告、更新检测规则、制定预防措施。这样组织答案的好处是它体现出你对“控制事态”和“找出根因”两个目标的优先级有清晰认知而不会一上来就满脑子都是技术细节。6. AI安全与前沿方向2020年试卷里的新变量6.1 AI安全题为什么会出现2020年奇安信秋招安全方向试卷里出现AI安全题目其实是一个强烈的信号安全行业对AI安全的关注已经从实验室走向了应用和招聘。AI安全目前大致包含两个方向。一个方向是做“AI for Security”用AI技术来解决安全检测问题比如恶意流量识别、恶意文件分类、用户行为异常检测、钓鱼邮件识别。另一个方向是“Security for AI”保护AI系统本身的安全比如对抗样本攻击、模型窃取、训练数据投毒、模型后门。试卷里出现AI安全题目通常是想判断你对这个方向有没有基本认知以及你能否把AI技术放在安全场景中理解。6.2 对抗样本AI安全里最常考点对抗样本是AI安全方向最经典的概念。攻击者在原始输入上添加微小的、人眼难以察觉的扰动让AI模型以高置信度输出错误分类结果。经典的例子是在一张熊猫图片上叠加少量噪声模型就会以99.9%的置信度把它识别为长臂猿。对抗样本为什么能成功从模型角度看深度学习模型学习到的决策边界在很多区域都处于“高度自信但脆弱的平衡”状态微小的输入变化就足以把样本推到错误一侧。从安全角度看如果攻击者能对自动驾驶系统的路牌识别模型做对抗扰动就会造成严重的安全事故。安全笔试考对抗样本主要关注三个层面概念理解、攻击方法白盒攻击、黑盒攻击、迁移性攻击、防御方法对抗训练、输入预处理、模型鲁棒性评估。你不需要会写攻击代码但能把原理和防御思路说清楚已经能超出大多数候选人的水平。6.3 安全多方计算与隐私保护数据安全的新热点热词里还有“安全多方计算”这个词。它也是安全方向笔试中会出现的概念因为它关系到数据安全和隐私保护这一大块业务。安全多方计算解决的核心问题是多个参与方在不泄露各自私有数据的前提下共同完成某个计算任务。举例来说几个机构想联合统计数据分布但谁都不愿意把自己的原始数据交给对方安全多方计算就能让它们在不交换原始数据的情况下算出统计结果。这个概念要答到什么程度我的建议是至少理解三个核心思路秘密共享把数据拆分成多份分给不同参与方、混淆电路用加密电路模拟计算过程、同态加密在密文上直接计算得到加密结果。不需要懂复杂数学推导但能说出“它在解决什么问题”并且结合数据安全法背景谈一下应用前景就已经是一个很好的回答了。6.4 如何准备这类开放式新方向题目AI安全等方向题目属于“新方向、无标准答案”的开放题最让候选人头疼。我的建议是不要试图押题而是搭建一个理解框架。你要知道这个领域的基本概念和技术分类能做到“听到名字不陌生”。你要能说出真实的应用场景比如“人脸识别模型被绕过”“垃圾邮件过滤器被对抗样本攻击”这类案例。你要了解当前的主流防御思路。你最好能有一个自己的观点比如“AI安全最大的挑战不是技术而是评测体系缺失”之类。面试官真正想看到的是你在面对一个未知问题时能不能快速建立认知框架、判断关键问题、形成自己的思路。这种能力比背一百个“标准知识点”更有价值。7. 笔试过程中的实战策略时间分配与答题彩蛋7.1 拿到试卷后先做“信息扫描”我复盘这份试卷时最大的感受是题量不大但每一道题都需要组织语言纯靠即兴发挥很容易时间不够。所以拿到试卷后建议先花2到3分钟快速浏览全部题目做三件事第一标注题型权重看是选择题、填空题、简答题还是分析题各占多少分。第二识别自己最擅长的题目优先保证把拿分题做对。第三找出可能的“压轴题”这类题通常分值高、写起来耗时间要预留足够的作答时间。我当年参加笔试时吃过亏在一道代码审计题上死磕了太久导致后面的应急响应方案题时间不够只能草草写了几个关键词。后来复盘发现那道应急响应题只要把流程框架摆出来得分率其实很高。7.2 文字题如何写得有层次感安全方向的笔试题目大部分是文字题比如“请描述XX攻击原理”“请给出XX修复方案”。很多同学的文字答案写得像名词解释这非常吃亏。更有效的写法是“概念原理场景修复”四段式。先一句话说清楚是什么再用两三句话讲清底层原理接着补充一个具体场景或案例最后给出可落地的修复或防护措施。如果题目问“请描述SQL注入攻击及防御”就可以说“SQL注入是通过在输入参数中插入恶意SQL语句使服务端拼接SQL时改变原有语义的一种攻击手段。其原理在于数据库查询使用了字符串拼接且未做参数化处理。例如在登录框输入 OR 11即可绕过认证。防御上应使用参数化查询同时加Web应用防火墙过滤异常请求。”这样写出来一段话包含的信息量足够支撑面试官给你高分。记住一个原则安全岗位的答案一定要体现“能落地”而不是“背过这个概念”。7.3 遇到完全陌生的题怎么办考场上一定会遇到一两道完全没见过、或者根本不知道答案的题目。这个时候千万别空着也别瞎编。我的做法是拆解问题结构把关键词拆开逐个套用自己已有的知识框架。比如题目问“如何设计一个安全的SDK通信方案”你可以把“SDK通信”拆解为“客户端身份认证”加“数据传输加密”加“防重放”加“服务端验签”这四个子问题都是你学过的安全知识点组合起来就是一份不错的方案。即使完全不会也要写首先对该问题进行分析其次从XX角度给出思路最后说明需要进行验证。这表明你具备结构化思考能力远比写一句“不会”要强。7.4 复盘自己每次笔试的结果不管笔试结果如何考完一定要复盘。我最常做的一件事是把每一道错题或者没有把握的题目记下来标注“是知识点盲区还是表达不到位还是时间不够”。然后用一周时间集中补掉这些盲区。笔试本质上是一种“输入”和“输出”之间的匹配过程。你学过的所有安全知识是输入试卷答题是输出。很多人输入很多但输出不行原因是他们从来没有做“输出训练”。建议在准备秋招期间每周找一套安全方向的真题限时两小时手写或者键盘敲出完整答案再对照标准答案或者找前辈点评。坚持一个月答题能力提升的速度会非常明显。我个人的体验是一份试卷刷三遍比刷十份不同的试卷更有效。第一遍找知识点盲区第二遍练答题结构和时间控制第三遍模拟“面试官视角”审视自己的答案。如果能把这份2020年的试卷做到这个程度那你的收获其实已经超过了它本身作为一份面试题的价值。