尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

奇安信安全岗笔试复盘:从SQL注入到XSS,核心考点全解析

奇安信安全岗笔试复盘:从SQL注入到XSS,核心考点全解析 2018年春招季我把奇安信的专业知识题翻来覆去看了好几遍前后也帮不少准备安全岗的学弟学妹做过针对性梳理。这套题放在今天看依然是网络安全方向笔试里很有代表性的“标本”它不考偏门工具、不考某个CVE的具体利用链而是集中考察协议理解、Web攻击原理、操作系统基础和密码学常识。很多同学刷题时容易陷入“背答案”的误区但面试官真正想看的是你面对一个安全问题时能不能说清楚“为什么会这样”和“怎么防住它”。这篇文章我会按照当年复盘的思路把核心考点、答题逻辑和失分点逐块拆给你看适合正在准备安全研发、渗透测试、安全运维方向笔试的读者参考。1. 笔试整体印象这套题到底在考什么1.1 从岗位要求反推命题逻辑奇安信的春招技术岗尤其是安全类岗位笔试通常不会只考某一门课程。2018年这套专业知识题从结构上看其实分成了几个稳定的能力维度网络基础、系统基础、Web安全、密码学基础。这四条线基本就是企业安全岗初筛的主干。为什么这么设计因为安全岗位的工作流本质上就是“在网络传输中找异常、在系统配置里找弱点、在业务代码中找漏洞、在数据传输中保机密”任何一条线薄弱都可能在实际项目中出纰漏。我见过不少简历写得天花乱坠的同学一问TCP半连接队列就露馅一让对比AES和RSA的适用场景就只会说“一个对称一个非对称”。笔试题目实际上是在帮面试官降低筛人成本先确认你有没有“安全从业者的基础语言体系”。如果你连三次握手都描述不清楚后面谈漏洞挖掘、谈应急响应都会变成鸡同鸭讲。所以复习这套题的时候别把它当成一次性的应试任务而是按“查漏补缺清单”来对待把每道题背后牵连的知识树都捋一遍收益会大得多。1.2 题型分布与复习优先级从笔试反馈来看这个内容当年很多复盘笔记里都有不是只有一家之言选择题和简答题各占一半左右选择题覆盖面广但深度有限简答题则更看重逻辑表达。选择题考得最多的几个原点是TCP/IP协议、HTTP状态码语义、DNS解析流程、常见端口号、SQL注入的检测特征、XSS的分类。简答题则喜欢让你描述攻击原理、写出防御方案、对比同类技术差异。这里有一个很多新手容易踩的坑把大量时间花在背端口号表、背状态码表格上觉得“记住就能得分”。但实际笔试中端口号这类记忆性题目占比通常不到15%而且面试官不会因为你背对了443是HTTPS就给你高分。真正的区分度来自那几道“给你一个场景你来分析”的题。比如一个登录接口存在SQL注入你如何确定注入点、如何利用、如何修复这种题没有标准答案背只能靠理解原理后现场组织语言。我的建议是复习优先级这样排Web漏洞原理与防御 网络协议细节 操作系统与命令基础 密码学常识 各种记忆性表格。前两项至少要投入70%的精力因为无论笔试还是后面的业务面试它们都是绝对核心。2. 核心知识模块拆解网络协议与操作系统2.1 TCP三次握手别只背“SYN-ACK”三个字母TCP三次握手几乎是每套安全笔试题的“开门题”奇安信这套也不例外。考查方式通常有两种一种是直接简答“描述三次握手过程”另一种是考“为什么需要三次而不是两次”。前者是送分题后者才是真正的分水岭。三次握手的本质是“双方确认彼此的收发能力都正常”。第一次客户端发送SYN服务端收到后能确认客户端的发送能力正常、自己的接收能力正常。 第二次服务端回复SYNACK客户端收到后能确认自己的发送和接收都正常、服务端的发送和接收也正常。 第三次客户端再发ACK服务端收到后确认自己的发送正常、客户端的接收正常此时双方才真正建立起可靠连接。为什么不能只有两次因为只有两次握手时服务端无法确认客户端的接收能力是否正常。更关键的是如果服务端发出了SYNACK但客户端并没有真正准备好服务端就会白白维持一个半开连接池这恰恰是SYN Flood攻击的起点。2018年那道题如果追问“SYN Flood为什么难防”你要能接住“半连接队列被占满、服务端资源耗尽”这个核心回答而不是笼统说“网络被攻击了”。提示回答这类题时建议用“能力确认”的视角来组织语言会显得你理解得比单纯背书更深一层。这也是面试官很愿意听到的表述角度。2.2 操作系统题常见的命令不只是“记住就行”操作系统类题目在奇安信的笔试题里占比不小很多年后端、运维、安全研发的同学会轻视这部分觉得“ls、ps谁不会”。但实际考题往往不考你“会不会”而考你“能不能用最合适的命令解决具体问题”。常见题目包括如何查看当前系统的所有监听端口答netstat -tunlp 或 ss -tunlp注意-a参数是显示所有连接-l是只显示监听状态很多人会混淆。如何定位占用CPU最高的进程答先用top看PID再用ps -p PID -o %cpu,%mem,cmd确认。如何快速查找系统中大于100MB的文件答find / -type f -size 100M。如何查看一个进程打开的socket或文件句柄答lsof -p PID。笔试对这类题目不会要求你现场敲命令但会在选择题里设置干扰项或者在简答题里让你“描述排查思路”。比如服务器CPU飙高你的排查步骤是什么你需要说出“先top定位进程→再top -H定位线程→再用jstack或gdb结合分析→查看对应业务日志”这个过程体现的是“从现象到根因”的排查思维比背十来个命令参数有说服力得多。从岗位实际来看安全运维和应急响应方向对Linux命令的要求不止停留在“会用”还要理解/proc文件系统的基本逻辑、理解文件权限和SUID位的作用。2018年这套题里出现过关于权限位和进程隐藏的讨论如果平时没有实际操作过光靠看文档记忆很容易漏掉细节。2.3 DNS与HTTPWeb安全的两块基石很多安全知识点最终都要落到DNS和HTTP这两个协议上。比如你判断一个DNS隧道攻击得先理解正常DNS解析流程你分析SSRF漏洞得先知道URL解析逻辑。奇安信这套题里网络协议部分基本绕不开这两个协议。DNS考察重点递归查询和迭代查询的区别、DNS缓存投毒的原理、常见的DNS记录类型。简答题如果问到“DNS劫持如何发生”可以从客户端hosts篡改、本地DNS服务器被入侵、路由层劫持三个层面回答再补充DNSSEC和DoH的防御思路这样答案就有层次感。HTTP考察重点状态码语义401和403的区别、301和302的区别、请求方法的安全含义GET与POST在安全审计中的不同意义、Cookie属性HttpOnly、Secure、SameSite。笔试里经常伪装成“下面哪个HTTP状态码表示服务端错误”这种低级题但真正的进阶题会让你判断“一个返回302跳转的接口可能存在什么安全问题”这就要结合URL重定向漏洞来答了。3. Web安全题型的典型思路注入、跨站与上传3.1 SQL注入判断、利用与修复的完整链条奇安信这套题里SQL注入是雷打不动的核心而且常以简答题形式出现。要答好这道题不能只写“用预编译语句防注入”一句话而应该按“原理→检测→利用→修复”四段式展开。原理层面SQL注入的本质是把用户输入的数据片段通过拼接方式混入了SQL语句结构改变了原有语句的语义。用生活化类比来说就像你让前台帮忙写一句“请把快递放在门口”结果有人在纸条上加了一句“并把钥匙留在窗台”程序以为还在执行原指令实际执行了被篡改后的完整指令。检测层面简单场景可以用单引号、布尔逻辑判断11和12、时间盲注函数来判断是否存在注入点实际工作中更多借助sqlmap等自动化工具但要能看懂工具跑出来的payload含义否则后续无从分析。利用层面为什么要了解因为只有理解攻击者的利用路径才能在自己的系统里做好纵深防御。比如union查询注入可以拖数据、报错注入可以回显信息、时间盲注适用于无回显场景。修复层面核心是三板斧参数化查询PreparedStatement、输入白名单校验、最小化数据库账号权限。我再加一条容易被忽视的对异常SQL日志做监控告警。因为总会有历史接口漏网日志监控是最后一道兜底。注意笔试中如果只写“过滤单引号”这种防御方案会被认为是初级水平。过滤黑名单不仅容易被绕过还会影响业务正常输入。写“参数化查询纵深防御”才会显得有实战经验。3.2 XSS与CSRF别再把这两个搞混XSS跨站脚本和CSRF跨站请求伪造是安全笔试里最容易混淆的一对考点。这里我给你一条非常清晰的区分思路。XSS的核心是“用户的输入被当成代码执行了”攻击者把恶意脚本注入到页面中受害者访问页面时脚本在浏览器中执行。危害是偷Cookie、劫持会话、篡改页面。XSS又分反射型通过URL参数注入、存储型存储在服务端每次访问都触发、DOM型纯前端逻辑触发。三者都要记住尤其DOM型XSS很多人容易漏。CSRF的核心是“借受害者的身份发起请求”攻击者诱导受害者的浏览器向目标网站发送请求由于浏览器会自动带上目标站点的Cookie服务端无法区分这个请求是否是用户主动发起的。危害是改密码、发转账、删订单这类操作型攻击。防御侧记忆也可以对比着记XSS的核心防御是输出编码、输入过滤、设置HttpOnly CookieCSRF的核心防御是CSRF Token校验、SameSite Cookie属性、二次验证。你会发现这两个漏洞的防御重点完全不同把它们放在一起记就能避免混淆。3.3 文件上传漏洞从“检测绕过”看安全对抗思维文件上传漏洞是安全笔试中很能拉开差距的题目。题型通常是一个上传头像的接口前端限制只能传jpg如何绕过并上传webshell这类题表面考对抗技巧实际考你是否理解“服务端校验才是真正的安全边界”。绕过方式按由浅到深大致为改Content-Type为image/jpeg绕前端检测、双写扩展名绕过部分黑名单、%00截断配合老版本中间件、上传.htaccess或.user.ini来改写解析规则、图片马绕过内容头检测最后再结合解析漏洞或竞争条件触发执行。防御思路也要能倒背如流服务端白名单校验扩展名、校验文件头magic bytes、文件重命名不带用户可控后缀、存储目录禁用脚本执行权限、使用对象存储并设置为只读、对上传内容做病毒扫描。我在复盘时会特别注意这道题因为它考察的不只是某个知识点而是攻防双方的动态博弈思维。你能把“每一层检测为什么会被绕过、每一层防御对应的攻击手法是什么”讲清楚面试官对你的评价会明显高于只会背payload的人。4. 密码学与加解密基础这部分很容易被突击但问得并不浅4.1 对称加密与非对称加密别只说“效率高、安全性高”密码学在奇安信2018春招试卷里占比不大但几乎年年都会考到。最简单的选择题就是区分AES、DES、RSA、ECC分别属于哪一类。但简答或论述题如果问到“HTTPS连接过程中如何结合使用对称和非对称加密”就要求你理解两者的分工逻辑了。对称加密AES、DES、SM4的特点是加密解密用同一把密钥速度快适合加密数据主体。问题在于密钥如何安全分发。非对称加密RSA、ECC、SM2的特点是公钥加密私钥解密解决了密钥分发问题但速度慢不适合大量数据加密。HTTPS的经典姿势是先用非对称加密协商出一个临时的会话密钥后续数据通信用对称加密来保护。再加上证书体系负责验证服务器身份这就构成了TLS握手的基本框架。这样回答就把密码学知识和网络安全实战串成了一条线。加分项是提一句“前向保密”。如果协商会话密钥时使用了固定的RSA私钥交换一旦私钥泄露历史上所有通信都被解密。所以现在推荐ECDHE这类临时密钥交换算法即使长期私钥泄露也只能解密新建立的那一条会话历史流量不会被反推。2018年题目如果没直接问到但你的论述中能自然带出前向保密会形成明显的知识优势。4.2 哈希算法与消息认证数字签名、口令存储都靠它哈希算法也是必考项MD5、SHA-1、SHA-256之间的区别和安全性演进是高频题。答题时你需要掌握三个层次。第一层是特性同一输入必然同一输出、不同输入大概率输出不同、不可逆向由输出推输入、防碰撞。第二层是应用口令存储用加盐哈希如bcrypt、scrypt、PBKDF2而不是直接存明文或未加盐的MD5文件完整性校验用SHA-256数字签名本质是“哈希后非对称签署”。第三层是安全性现状MD5和SHA-1已暴露出碰撞攻击不推荐用于安全敏感场景。能把这三层讲出来说明你不只是“知道有哈希”而已。这里值得展开的一个细节是“加盐”的必要性。为什么要加盐因为用户口令通常强度有限攻击者拿到一个常见指纹库彩虹表可以快速逆向出明文口令。盐的作用是让每个用户的口令哈希都带上随机后缀即使两个用户设置相同口令哈希结果也不同彩虹表直接失效。笔试里如果给你一个“存在用户表且口令是MD5明文”的场景问你如何加固你不仅要答“换成bcrypt加盐”还要答“历史存量口令需要先强制重置或迁移不能只改前端”。5. 刷题与答题策略给准备笔试的你几条实在建议5.1 时间分配先做简答还是先做选择我在帮人模拟这套题时发现不少人把大量时间耗在简答题上最后选择题却仓促勾选结果丢了本可以稳拿的分。2018年奇安信这套题如果时间按60分钟算大致可以这样分配前10分钟扫完所有选择题标记出不确定的题中间30-35分钟集中写简答题把自己最有把握的题放前面回答最后10-15分钟回过去推敲选择题并补充简答题细节。为什么先做选择题因为选择题的题干和选项会在潜意识里为你提供一些“信息锚点”。你在一道选择题里看到的某个端口号、某个命令参数可能会触发你回忆起简答题需要的某个细节。这听起来有点玄但考场上有一定实操意义。当然这只是应试技巧真正决定成败的还是你对知识本身的掌握程度。5.2 典型失分点这些坑我见过太多次了第一类失分点是“概念混淆”。最常见的是对称加密与非对称加密适用场景搞反、XSS和CSRF混为一谈、401和403语义说不清。这类错误在选择题里尤其常见因为选项会故意设计成“看起来都对”的干扰项。对策只有一个平时复习时多做对比表把相似概念放在一起记差异。第二类失分点是“只会说结论不会说原因”。比如问“为什么预编译能防SQL注入”不会答的同学只写“因为用了参数化查询”会答的同学会说“因为预编译把SQL语句结构先固定下来参数只作为数据传入不再参与语法解析所以即使包含单引号或AND 11也只会被当作字符串处理”。这两种答案在笔试中的得分差距是明显的。第三类失分点是“答案过于零散没有结构”。简答题如果只写三五个关键词即使关键词都在阅卷者也很难给高分。建议每道简答都按“是什么→为什么→怎么防→还有哪些注意点”的顺序展开哪怕你内容没那么深入结构完整也会显得很专业。5.3 一页纸速记高频知识点的快速复盘表考察点核心要点常见错误三次握手SYN、SYNACK、ACK确认双方收发能力漏掉第三次ACK的原因解释SQL注入防御参数化查询白名单最小权限日志监控只写“过滤单引号”XSS与CSRFXSS是注入脚本CSRF是伪造请求两者防御方案混用文件上传服务端白名单重命名禁执行目录依赖前端JS检测对称/非对称AES加密数据RSA协商密钥说“RSA比AES快”口令存储加盐哈希bcrypt类直接用MD5未加盐Linux排查top定位PIDnetstat/ss看端口混淆-l和-a参数这张表不是让你死记硬背而是考前最后半小时快速过一遍用。每一行背后都要能展开成一段话才算真正掌握。5.4 复盘心态笔试不是终点是摸底准备这类专业知识题最忌讳的是“只为通过笔试”。奇安信2018春招这套题只是初筛后面的面试环节一定会追着你不了解的地方往下挖。我见过有人在笔试卷上写“使用XX工具可绕过WAF”结果面试官让他详细说说WAF的检测逻辑和绕过原理直接卡壳。所以每做完一套题建议多花一倍的时间做“错题归因”这题做错是因为知识点不会、概念混淆、还是审题不清不会的知识点回去补课混淆的概念做对比笔记审题不清的提醒自己下次慢一点读题。三年下来你会发现这个习惯比刷十套题都有用。2018年这套专业知识题之所以值得反复看不是因为它有多难而是它的考点分布和考察角度直到今天依然是安全行业基础能力的一个真实切面。6. 我个人做这套题复盘时的几条延伸体会说回我自己的实操经验。2018年那会我正好在帮一个安全团队看校招简历自己也顺手把那套题从头到尾做了一遍。做完以后的感受是单纯“会做题”和“真正理解安全基础”之间隔着一次完整的实战落地。比如SQL注入题型笔试你能写出参数化查询但真正到项目里你会发现很多老系统的DAO层就是拼接SQL改不动你得设计“网关层拦截数据库防火墙上线前扫描”的组合方案才敢收尾。这个差距只能靠实操补齐。还有一个小技巧分享给正在刷题的朋友每做完一道简答题试着用“给一个完全不懂技术的人讲懂”的标准重新组织一遍语言。你会发现很多你以为自己懂的东西一到用大白话解释的时候还是会卡壳。卡壳的地方就是你复习重点要补的地方。这套题后续如果想继续扩展还可以把当年各个大厂安全岗笔试题放在一起横向对比找出“高频且稳定”的知识点做成一份自己的考点地图。这样不管你投哪家公司手里都有一份属于自己的安全基础能力清单心里就有底很多。
返回列表