公司动态
深信服校招安全攻防B卷考点解析:从漏洞原理到实战分析,一篇讲透笔试备考
深信服校招安全攻防B卷这份题网上讨论的人不少但真正把每一类题型掰开揉碎讲的并不多。我因为工作原因接触过不少校招笔试复盘自己也带过新人对这类厂商安全岗位的考察逻辑还算熟悉。今天就把B卷里常见的能力模型、高频考点、实操思路和踩坑点一次说清楚帮准备投安全岗的学弟学妹少走弯路。先说这套卷子给我的整体印象它不追求让你写出多高级的0day利用而是更看重你有没有“安全从业者”的基础素养——协议细节清不清楚、漏洞原理懂不懂、拿到一台机器/一段流量/一份日志时会不会分析。很多题目看着基础但想拿满分靠背题不行得真理解。1. 拿到试卷后我先看懂了整张卷子的出题逻辑1.1 题型分布与分值结构深信服校招安全攻防B卷通常整套题会在60到90分钟内完成满分100分。题型大致分为四块单选题约20道每题1到2分覆盖网络基础、操作系统、Web安全基础、密码学常识。多选题约5到10道每题2到3分多选、少选、错选都不得分这块最拉分。判断题约10道每题1分主要考察容易混淆的概念边界。简答和实操场景题约3到5道分值10到20分不等包含日志分析、流量分析、命令注入思路、渗透测试流程设计等。当然不同批次的卷面结构会有微调但整体“基础选择场景简答实操分析”的框架很稳定。B卷相比A卷通常不会考太偏门的漏洞利用链更侧重把基础题做深、做细。1.2 出题人想考察的能力模型很多同学复习时喜欢背“漏洞列表”比如SQL注入有哪几种类型、XSS有哪几种类型。这当然要背但B卷更想看到的是三件事第一对网络交互过程的理解。比如看到题目描述“客户端访问服务端时客户端发送一个SYN包服务端回SYNACK”你得知道下一步是什么。这类题不是考记忆而是考你有没有真正调试过网络请求。第二对漏洞原理的安全闭环思维。给你一个场景说“某网站登录框存在注入”不止要答出“可以用万能密码绕过”还得能说出根因是参数未过滤、数据库执行了拼接SQL、修复方案是参数化查询和最小权限数据库账号。第三对安全运营流程的熟悉度。比如给一份日志问攻击者做了什么、下一步怎么溯源。这类题没有标准答案但答得好不好一眼能看出你只是会背名词还是有真实分析经验。B卷在我看来是在筛选“后续能培养成安全工程师”的人而不是筛选“看过很多漏洞文章”的人。2. 知识点拆解选择题和判断题里的高频考点2.1 网络基础与协议不是死记硬背要理解交互过程网络基础几乎是B卷必考而且很少直接问“TCP三次握手是哪三次”而是给你一个场景让你判断状态。常见考察点有TCP三次握手与四次挥手。重点理解为什么挥手要四次、TIME_WAIT状态出现在哪一端、端口处于LISTEN表示什么。HTTP状态码含义。常见的有200、301、302、403、404、500、502、503。这里容易混淆的是301和302的作用一个是永久重定向一个是临时重定向对应到安全场景里就有钓鱼跳转和SSRF绕过的区别。Cookie与Session机制。Session ID存放在哪里、HttpOnly属性防的是什么、SameSite属性防的是什么。我建议复习时不要只看概念。真正高效的办法是自己本地启动一个简单的Web服务用浏览器的开发者工具观察请求头、响应头、Cookie的传递过程。把这些交互细节过一遍选择题基本不会翻车。2.2 密码学基础对称与非对称的取舍密码学这块B卷不会让你手写加密算法但会考几个核心概念对称加密与非对称加密的优缺点对比。AES、DES属于对称加密RSA、ECC属于非对称加密。对称加密快但密钥分发难非对称加密慢但解决了密钥分发问题。HTTPS握手过程就是两者结合先用非对称加密协商出一个对称密钥后续数据用对称加密传输。常见编码与哈希的区别。Base64是编码不是加密MD5、SHA-1、SHA-256是哈希哈希不可逆。这里常设陷阱题目问“以下哪种算法可以用于数据完整性校验”答案应为哈希算法而不是加密算法。数字签名与加密的区别。数字签名用私钥签名、公钥验签目的是防篡改和防抵赖加密用公钥加密、私钥解密目的是保密。两者用的密钥方向是相反的这是判断题的高频考点。复习建议把“加密、签名、哈希、编码”四个概念放在一起对比自己画一张表把用途、是否可逆、典型算法列出来。笔试时看到任何一个算法名词先判断它在考哪一类答案基本就出来了。2.3 Web漏洞基础注入、跨站、上传三类必考B卷的选择题和判断题中Web安全占比很高。考察范围不算偏集中在三类基础漏洞SQL注入。要理解字符型注入和数字型注入的区别知道注释符的作用知道参数化查询为什么能防注入。还会考到注入点的判断方法比如“输入单引号页面报错输入两个单引号正常”说明可能存在注入。XSS跨站脚本。重点区分反射型、存储型、DOM型。反射型是一次性请求中反射回来存储型是恶意脚本存到了服务端DOM型是前端JavaScript直接操作DOM导致的。要理解HttpOnly可以降低XSS带来的危害因为攻击者拿不到Cookie。文件上传。常见考点是服务端对文件类型校验不严导致getshell防护手段包括白名单校验、文件内容头校验、上传目录禁用脚本执行权限等。判断“漏洞能否成立”的思路也很重要。举个例子题目说“网站输入框长度限制了20个字符是否还能XSS”如果前端限制只是长度限制后端没有过滤通过绕过前端限制或直接构造请求仍然可以。这类题考的是你是否理解前端限制和后端校验的区别。2.4 云安全基础从“虚拟机安全”到“云上攻防”近年来的B卷里“云安全”相关的题目明显变多了这和行业趋势有关。以前安全攻防多围绕传统IDC环境现在越来越多业务上云攻防视角也随之迁移到云环境。这一块通常会考云主机与对象存储的访问控制。比如对象存储桶的权限配置不当导致数据公开读写这是一个很典型的云上风险点。安全组与防火墙的区别。安全组是云平台提供的虚拟防火墙基于白名单策略默认拒绝所有入站流量需要显式放行端口。云环境下的元数据服务。在云主机上访问特定地址可以获取实例元数据如果Web应用存在SSRF漏洞攻击者可能通过SSRF读取元数据进一步获取临时凭据。容器安全基础。比如容器以root权限运行的风险、镜像漏洞扫描、容器逃逸的概念性理解。这一部分不建议死记硬背“某个云厂商的控制台按钮”而是理解云上资源的信任边界。你把云环境想象成一栋大楼传统安全是给每个房间装防盗门云安全则还多了一层“物业管理中心”——如果一个房间能拿到物业总钥匙问题就大了。3. 简答题与场景题这类题怎么拿全分3.1 渗透测试流程题的答题框架B卷的简答题经常会让你描述一次完整的渗透测试流程或者给你一个授权测试任务问你会怎么做。很多同学答题时只会写“信息收集、漏洞扫描、漏洞利用”这样很难拿高分。我建议把流程拆成六步每一步写上关键动作和常用工具信息收集。包括域名、IP、端口、服务版本、目录结构、指纹识别。工具可以是nmap、fscan目录扫描可以用dirsearch。漏洞发现。根据指纹信息匹配已知漏洞比如中间件版本是否存在解析漏洞、反序列化漏洞。同时做基础测试比如登录框是否存在弱口令、注入、越权。漏洞验证。对疑似漏洞做无害化验证比如注入点执行select version()确定数据库类型和当前用户权限但不要做破坏性操作。利用与提权。如果目标是模拟真实攻击则尝试利用漏洞获取权限。在授权范围内可以提权、读取敏感文件但所有操作要有记录。权限维持。部分测试需要模拟真实攻击者是否会留下后门但常规授权测试一般不做这一步或者只做概念性验证。输出报告。说明漏洞位置、风险等级、复现步骤、修复建议。答题时还有个细节一定不要忽略“授权”二字。题目如果没说明是否授权你要在回答中主动提到“所有测试均在授权范围内进行”这既是行业规范也是出题人希望看到的职业素养。3.2 加密与认证场景题不要只答概念要结合业务有些场景题会这样出“某系统登录功能用户密码使用MD5存储请分析风险并给出改进方案。”这题要拿满分至少答出四点MD5不是加密算法是哈希算法且MD5存在长度扩展攻击和彩虹表快速查询问题。密码直接MD5存储无法抵御彩虹表查询同密码用户得到相同哈希值。改进方案使用bcrypt、scrypt、PBKDF2或Argon2等带盐的慢哈希算法每个用户使用随机盐。更完整的方案还包括登录接口加入防暴力破解措施如验证码、错误次数锁定、限流传输层使用HTTPS防止密码被中间人截获服务端不记录明文密码日志。你看如果能从“存储算法选择”一路答到“传输安全”和“接口防爆破”这道题的分数基本就拿到了。这类题考的是你能不能把一个安全方案想周全而不是单点技术名词。3.3 日志分析与应急响应题思路比命令更重要场景题里经常会给你一段访问日志问你发现了什么。比如192.168.1.100 - - [10/Oct/2023:08:20:15 0800] GET /admin/login.php HTTP/1.1 200 532 192.168.1.100 - - [10/Oct/2023:08:20:16 0800] POST /admin/login.php HTTP/1.1 200 532 192.168.1.100 - - [10/Oct/2023:08:20:17 0800] POST /admin/login.php HTTP/1.1 302 238这里能看到几个点同一IP短时间内多次请求登录接口属于暴力破解特征POST请求返回200是密码错误页面返回302是登录成功跳转攻击者尝试了大量密码后成功登录。应急响应的下一步应该是确认该IP来源、检查该账号登录后有啥操作、查看是否有异常文件落地、排查是否还有其他IP有类似行为。我见过很多同学在日志分析题上丢分不是因为看不懂日志而是答得太浅。比如只说“有人在爆破登录”没有说明“爆破是否成功”和“后续追踪动作”。答题时要用“发现—验证—影响—响应”的链条来组织这样才完整。4. 实操题复盘从命令注入到流量分析4.1 命令注入题最小权限与过滤绕过B卷实操题里命令注入是常客。题目通常会给你一个执行ping功能的页面让你判断是否有命令注入并写出利用思路。比如下面这段ip request.GET.get(ip) os.system(ping -c 3 ip)这是一个典型的命令拼接漏洞。判断是否可注入的方法很简单输入127.0.0.1; id如果返回了当前用户信息说明分号被当作命令分隔符执行了。除了分号还可以用、|、||、换行符等方式尝试闭合。但实操题不会只让你判断存在不存在还会问你怎么利用和怎么修复。利用层面要区分场景回显型注入直接在页面看到命令输出可以直接读取/etc/passwd或执行whoami。盲注型注入页面不显示输出但可以结合ping命令的延迟来判断条件是否成立或者尝试将结果写入Web目录再访问。修复视角则要提到使用白名单验证输入的IP格式而不是黑名单过滤特殊字符。禁止直接拼接系统命令拆分成参数数组调用比如Python里用subprocess.run([ping, -c, 3, ip])而不是shellTrue的字符串拼接。运行Web服务的系统账号使用最小权限防止即使被注入也无法读取高权限文件。我在实际教学和面试模拟中常跟新人说命令注入这类题是最能体现基本功的因为它同时考察了漏洞原理、绕过思路、防御手段而且漏洞成因非常直白不依赖复杂环境。4.2 日志分析题从异常访问里找攻击痕迹日志分析题通常会提供一份攻击者访问Web服务器的access.log要求还原攻击路径。实操时拿到日志第一步不是急着看内容而是先明确日志格式Apache和Nginx的日志字段略有不同但核心字段都包含源IP、时间、请求行、状态码、User-Agent。做题时可以按这个顺序排查先过滤出状态码异常的不多但关键的请求比如403、500、404。关注请求路径里的特殊字符比如%27单引号的URL编码、%2e点、../目录穿越、union select、script等。筛选同一IP的高频请求尤其是不带正常Referer和User-Agent的请求。如果日志里有上传动作比如POST /upload/要看上传的文件名和后缀。举个例子日志里有一条192.168.10.22 - - [12/Oct/2023:15:03:22 0800] GET /product.php?id1%20and%20sleep(3) HTTP/1.1 200 234这条请求里的and sleep(3)是时间盲注的特征攻击者在试探数据库是否执行了延迟函数。如果日志中后续出现大量id参数带有注入语句的请求基本可以认定是SQL注入探测。答题时不仅要指出“这是注入探测”还应该写清楚这条请求对应什么漏洞、攻击者为什么要sleep、如何从日志侧防御比如WAF拦截、数据库账号最小权限、云安全组限制管理口暴露。4.3 流量分析题用Wireshark还原攻击链流量分析题是B卷实操里比较硬核的一部分。一般会给你一个pcap包让你找出攻击行为。拿到pcap后的建议操作步骤是先用tshark或Wireshark的统计功能看协议分布TCP和HTTP通常是重点。用过滤器筛选HTTP请求查看请求方法、URL、User-Agent。常见攻击流量往往集中在GET和POST请求里。如果流量里有上传行为抓出上传的文件内容看是不是WebShell。WebShell常见的特征是文件内容包含eval、base64_decode、assert等危险函数。关注TCP流中的异常数据段有时候攻击者会把命令编码后拼在请求头或Cookie里。举例来说如果看到一个HTTP响应包数据里出现了?php eval($_POST[x]); ?那基本可以判定为攻击者上传了WebShell。接下来要看服务端是否返回200以及后续请求里是否包含POST到该WebShell的连接尝试。流量分析题比较考验耐心但套路相对固定。平时可以自己抓一些正常的HTTP流量再对比攻击流量的差异慢慢就能形成判断直觉。笔试里不需要你写出多复杂的Wireshark过滤语法但至少要能定位关键流、描述攻击行为。5. 备考资料与避坑指南5.1 平时怎么积累想拿B卷高分临时抱佛脚效果有限。安全攻防这个方向知识体系很宽但校招笔试的深度不会特别深。比较有效的积累路径是把OWASP Top 10的漏洞原理和防御过一遍重点放在注入、XSS、文件上传、越权、SSRF这几类。动手搭建本地靶场。自己装一个有漏洞的Web应用比如DVWA把SQL注入、XSS、命令注入逐个手动复现一遍再对照源码看成因。这个经历对做实操题帮助极大。多做CTF的Web方向入门题。不需要做多难的重点是训练自己观察代码、构造请求的能力。留意云安全相关知识。尤其是近年来行业社区里的“云上攻防”话题关注对象存储配置错误、安全组策略、容器逃逸等概念性考点。值得单独说的是现在很多校招笔试题里“云安全攻防”已经不再只作为加分项出现而是直接作为一门基础考察内容。建议把云平台厂商自家的安全白皮书翻一遍不用记细节但要知道云上的安全责任共担模型云平台管物理和虚拟化层安全用户管自身应用、数据、账号权限安全。5.2 考场常见翻车点我见过不少同学基础不错但笔试分数不理想的问题往往出在几个翻车点上多选题漏选。安全类多选题特别喜欢把“相近但不同”的选项混在一起比如“哪些是传输层协议”和“哪些是应用层协议”放在相邻两题。做题时一定把每个选项单独判断而不是靠感觉排除。判断题只看关键词。比如题目说“对称加密的安全性高于非对称加密”这明显是错的但如果你只盯着“加密”这个词而不看“安全性高于”就容易踩坑。实操题不写过程。有些题要求你给出分析思路而不是只写结论。阅卷时过程分占比很高哪怕结论不确定也要把分析步骤写清楚。答题太口语化。虽然是简答题但尽量用专业术语准确描述。比如不要写“网站被搞了”要写“存在命令注入漏洞攻击者通过拼接系统命令获取了当前用户权限”。另外有个细节如果题目给了日志或代码片段答题时尽量引用原文内容来说明结论。比如“从第X行日志可以看到攻击者使用了sqlmap”这会让阅卷人觉得你的分析有依据而不是泛泛而谈。笔试只是第一关后面通常还有面试环节。但如果笔试能把基础概念、漏洞原理、简单实操分析都拿稳面试时同样话题也容易展开。安全攻防这个方向知识深度可以后续慢慢积累但校招阶段最看重的是思维习惯——有没有安全视角能不能看到一个功能就想到它可能被怎么攻击。B卷考察的恰恰就是这件事。建议你把复习重点放在理解交互、理解漏洞成因、理解分析流程上而不是背答案。这套体系准备扎实了不管题型怎么变心里都有底。