0x02 深信服-漏洞研究员实习
来源:https://github.com/vvmdx/Sec-Interview-4-2023
说明:本文件按原面经问题整理答题要点,答案为面试复习口径。
1. 自我介绍
参考完整回答(自我介绍):
可以按“背景、方向、项目、工具、优势、求职动机”来讲。示例:我主要学习网络安全方向,熟悉 Web 漏洞、渗透测试、Linux 安全、日志分析和代码审计;项目中做过资产收集、漏洞验证、权限控制或应急处置,常用 Burp、Nmap、sqlmap、Wireshark、Linux 等工具。最后强调自己能从漏洞原理、利用条件和修复方案三个层面分析问题。
2. 在xx实习的时候做什么东西
参考完整回答(项目/实习经历):
项目经历我会用 STAR 讲完整,而不是只列技术名词。先说项目背景:这是一个什么系统、业务价值是什么、我负责哪块安全工作;再说任务:比如接口鉴权、代码审计、漏洞验证、应急处置或安全工具开发;然后讲行动:我如何定位入口、使用了哪些工具、验证了哪些风险、如何推动修复;最后讲结果:修复了什么漏洞、减少了什么暴露面、沉淀了什么规则或文档。
如果面试官深挖,我会准备一个具体案例。例如“我在某系统审计中发现订单详情接口只校验登录态,没有校验订单 owner,导致水平越权。我用两个普通账号互换订单 ID 复现,确认能读取他人数据。修复方案是在服务端统一鉴权中间件里加入用户、租户和资源归属校验,并补充异常访问日志。复测时原越权请求返回 403,正常用户访问不受影响。”
3. 渗透测试的思路简单说一下
参考完整回答(渗透测试流程):
我会先说明渗透测试一定要在授权范围内进行,然后按完整链路展开:第一步确认测试范围、目标资产、时间窗口和禁止事项;第二步做信息收集,包括域名、子域名、IP、端口、服务指纹、历史解析、证书、GitHub 泄露和供应链资产;第三步做漏洞发现和验证,比如弱口令、Web 漏洞、中间件漏洞、配置错误和组件 CVE;第四步在不影响业务的前提下验证漏洞影响,必要时获取低风险证明,比如读取无敏感的标识文件或证明权限边界;第五步如果授权包含内网测试,再做权限提升、凭证收集、内网探测和横向移动验证;最后输出报告,写清楚漏洞位置、复现步骤、影响范围、风险等级、修复建议和复测结果。
面试时我会补一句:真正项目里我不会只追求“打进去”,而是会控制测试强度,保留证据链,避免破坏数据,并且把问题闭环到修复和复测。这样回答能体现流程意识、风险意识和落地能力。
4. 护网在里面担当一个什么样的角色
参考完整回答(护网):
护网如果是蓝队角色,我会说主要工作包括资产梳理、暴露面收敛、弱口令治理、基线加固、WAF/IDS/EDR 告警监控、流量研判、应急处置和复盘报告。遇到告警时先确认资产和攻击链,再判断是否成功入侵,最后做封禁、隔离、修复和溯源。
如果是红队角色,则按目标画像、信息收集、漏洞验证、权限获取、内网横向和目标达成讲。无论红蓝,都要说清自己实际负责的动作,例如分析了哪些日志、处置了什么告警、发现了什么入口、如何推动修复。
5. 红队的一些思路
参考完整回答(红队):
红队更关注真实攻击链:目标画像、资产收集、初始入口、权限获取、内网横向、目标达成和规避检测。面试回答要强调授权、目标导向、链路完整性和复盘能力,同时说明不会为了“炫技”破坏业务。
6. 拿下系统后有没有做横向
参考完整回答(内网渗透/横向):
内网渗透我会先确认当前落点的权限、网段、路由、DNS、域环境和出网情况。然后做低噪声主机发现和端口识别,重点关注域控、文件共享、数据库、中间件、运维平台和代码仓库。接着收集凭证线索,例如配置文件、历史命令、浏览器缓存、数据库连接串、共享目录和内存凭证;如果授权允许,再验证横向移动和权限提升路径。
防守视角我会补充:内网安全不能只靠边界防火墙,要做分区分域、最小权限、凭证隔离、禁用明文密码和本地管理员复用、开启 EDR、监控东西向流量、审计异常登录和远程执行行为。
7. 前段时间那个log4j有研究吗,可以简单说一下吗
参考完整回答(Log4j/JNDI):
Log4j2 的 Log4Shell 漏洞是因为日志内容中的 ${jndi:...} 会触发 JNDI Lookup。攻击者只要能控制被记录到日志里的内容,比如 User-Agent、用户名、请求参数,就可能让服务器访问恶意 LDAP/RMI 地址,进而触发远程类加载或本地 gadget,造成 RCE。
完整修复是升级 Log4j 到安全版本;临时措施包括删除 JndiLookup 类、关闭 lookup、设置相关安全参数,但最终仍应升级。还要排查传递依赖,因为很多应用不是直接引入 Log4j;网络层限制服务器访问外部 LDAP/RMI;日志侧检索 ${jndi:、lower、upper、::- 等混淆特征,确认是否被探测或利用。
8. (继上一个问题)有哪些混淆绕过的方法
参考完整回答(SQL注入绕过):
SQL 注入绕过通常是因为防护用了黑名单,比如只过滤空格、逗号、select、union 这类关键字。攻击者可以用大小写混淆、注释符、URL 编码、宽字节、换行、括号、函数等价替代、布尔盲注、时间盲注、二次注入等方式绕过。例如过滤空格时可能用 /**/、换行或括号替代;过滤逗号时,MySQL 某些场景可以用 join、from for 或子查询改写。
但我在面试中会强调:绕过技巧说明黑名单不可靠,修复不能继续堆规则。正确做法还是参数化查询、白名单映射、最小权限和统一 ORM/DAO 层封装。安全设备如 WAF 可以作为辅助,但不能代替代码层修复。
9. 内存马有没有了解过
参考完整回答(内存马):
内存马是不依赖传统落地 WebShell、驻留在应用运行时里的后门。Java Web 里常见形态包括动态注册 Filter、Servlet、Listener、Interceptor、Controller,或者通过 Agent、字节码增强挂入请求链。它的特点是文件落地少、重启后可能消失或通过其他方式重新注入,常规文件查杀不一定能发现。
排查时我会看异常路由、Filter/Servlet 注册表、线程、类加载器、堆内存、访问日志和异常响应特征;也可以通过 Arthas、JMX、RASP/EDR 做运行时检查。防护上要修入口漏洞、限制反射和动态类加载风险、最小权限运行,并加强运行时完整性监控。
10. 冰蝎、哥斯拉这些工具有没有了解过
参考完整回答(冰蝎/哥斯拉):
冰蝎和哥斯拉是常见 WebShell 管理工具,特点是通信加密、动态加载代码、请求参数和流量模式相对固定。防守时不能只靠单一特征,因为版本和配置会变;要结合 Web 日志、文件变更、进程行为、外连、内存加载和异常请求频率综合判断。
处置时先隔离主机和保留证据,确认 WebShell 文件、上传入口、访问 IP、执行命令和横向行为;清除后要修复入口漏洞、重置凭证、检查内存马和计划任务。
11. 做攻击队的时候有没有研究过什么攻击,比如研究一些工具还是魔改什么的
参考完整回答(红队):
红队更关注真实攻击链:目标画像、资产收集、初始入口、权限获取、内网横向、目标达成和规避检测。面试回答要强调授权、目标导向、链路完整性和复盘能力,同时说明不会为了“炫技”破坏业务。
12. 那么多漏洞和攻击,比较擅长哪一个
参考完整回答(职业方向):
职业方向我会结合岗位回答。如果投漏洞研究/代码审计,我会说自己更喜欢从漏洞原理、源码调用链和补丁差异里分析问题,希望后续能沉淀漏洞模式、检测规则和工具;如果投安全工程/安全研发,我会强调希望把安全能力产品化,比如扫描器、风控、检测平台和自动化运营;如果投攻防,我会强调攻击链思维和实战复盘。
完整回答可以是:短期我希望把 Web 安全、代码审计和应急基础打牢,能独立完成漏洞分析和修复推动;中期希望在某个方向形成专长,同时补齐工程化能力,把经验沉淀成工具和规则。
13. 说一下shiro反序列化的形成原因、利用链
参考完整回答(Shiro反序列化):
Shiro 经典反序列化漏洞通常出现在 rememberMe 功能。Shiro 会把序列化对象加密后放进 rememberMe Cookie,如果密钥是默认值或泄露,攻击者就能用这个密钥加密恶意序列化数据发给服务端,服务端解密后反序列化,触发 CommonsCollections 等 gadget 链。
我会回答形成原因是:客户端可控 Cookie、服务端自动解密反序列化、密钥弱或默认、环境中存在可用 gadget。修复包括升级 Shiro,使用随机强密钥,禁用不必要的 rememberMe,减少危险依赖,开启出网限制,并监控异常 rememberMe Cookie 长度、特征和反序列化异常。
14. 对一些bypass的方法有没有了解过,有什么姿势可以简单介绍一下
参考完整回答(对一些bypass的方法有没有了解过有什么姿势可以简单介绍一下):
绕过类问题我会先说清楚:大部分绕过成立,是因为防护用了黑名单或只在单一位置校验。实际分析时我会看过滤发生在输入、存储、输出还是执行前,再根据上下文尝试编码、大小写、注释、协议变形、路径规范化差异、二次解析、重定向或业务参数污染等方式。但修复上不能继续堆黑名单,应该回到安全设计:统一入口校验、使用白名单、解析后校验、危险操作参数化、最小权限和日志监控。面试里我会同时讲攻击视角和修复视角,避免只背 payload。
15. 反问
参考完整回答(反问):
反问可以围绕岗位职责、团队方向、技术栈、培养机制、实习生预期、日常工作比例和后续流程。不要只问薪资和作息,可以问“这个岗位更偏漏洞研究、工程建设还是应急响应?”来体现目标感。
返回安全面经目录