2025年渗透测试面试题总结-匿名[校招]安全研究员(SAST方向)(题目+回答)

安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。

目录

 匿名[校招]安全研究员(SAST方向)

一面问题回答框架

1. 自我介绍

2. 简历深挖(漏洞挖掘)

3-4. SAST与IAST对比

5. 污点分析(Taint Analysis)

6-7. DevSecOps vs SDL

8. 学习方向规划

9-10. 技术栈与工具偏好

11. 白盒审计思路

12. 自动化工具开发

二面问题深度回答

1. Java反序列化漏洞

2. 白盒审计工具原理

3. 域控攻击方式

4. MS14-068(CVE-2014-6324)

5. 黄金票据 vs 白银票据

6-7. IAST与污点跟踪的结合

8. 语言栈(Java/Go)

 匿名[校招]安全研究员(SAST方向)

### 一面问题

1. 自我介绍
2. 根据简历问(主要是挖洞方面)
3. 对SAST的理解
4. 对IAST的理解
5. 污点分析
6. 对DevSecOps的理解
7. 对SDL的理解
8. 后面的发展规划(学习方向)
9. 目前掌握的语言栈怎么样?愿意去学习新的语言吗?
10. 对SAST和IAST中哪个更感兴趣
11. 讲讲白盒审计的思路
12. 有写过相关的自动挖掘工具吗

### 二面问题

1. Java反序列化
2. 了解哪些白盒审计的工具,知道原理吗
3. 域控的攻击方式
4. MS14-068的原理
5. 黄金和白银票据的利用及其效果,原理层面
6. IAST
7. 污点跟踪
8. 候选人的语言栈:java和go

一面问题回答框架


1. 自我介绍
  • 核心逻辑:技术背景 + 安全领域深耕方向 + 成果亮点
    示例:
    “我是XX,主攻应用安全方向,有X年漏洞挖掘和代码审计经验,主导过XX系统SDL落地,发现过XX高危漏洞(如Fastjson反序列化、Shiro权限绕过等)。擅长SAST/IAST工具集成,熟悉污点分析技术,曾用Python/Go开发自动化审计工具提升漏洞检出率30%。”

2. 简历深挖(漏洞挖掘)
  • 回答策略漏洞类型 + 技术链 + 影响 + 修复建议
    示例:
    • 漏洞案例:某系统未授权访问漏洞(技术细节:JWT令牌未校验签名,通过Burp篡改权限字段实现越权)。
    • 方法论:黑盒测试结合流量抓包,白盒审计定位到鉴权模块代码缺陷。
    • 延伸:总结同类漏洞模式(如接口路径/api/admin*未鉴权),推动开发规范整改。

3-4. SAST与IAST对比
维度SASTIAST
原理静态代码扫描,基于规则匹配运行时插桩,动态追踪数据流
优点早期介入,覆盖全代码低误报,精准定位漏洞触发点
缺点误报率高,无法检测环境依赖问题依赖测试覆盖率,需部署代理/Agent
工具举例Fortify, CheckmarxContrast, 洞态IAST

5. 污点分析(Taint Analysis)
  • 流程四步法
    1. 污染源定义:用户输入(如HttpServletRequest.getParameter() )。
    2. 传播跟踪:函数调用链(如参数传递、字符串拼接)。
    3. 净化点识别:过滤函数(如ESAPI.encoder().encodeForSQL() )。
    4. 漏洞判定:未净化的污染数据到达敏感函数(如executeQuery())。
  • 进阶难点:上下文敏感分析(如循环、条件分支)、误报优化。

6-7. DevSecOps vs SDL
维度DevSecOpsSDL
核心思想安全左移,自动化流水线集成全生命周期阶段性安全管控
实施重点CI/CD中嵌入SAST/IAST/DAST工具链需求阶段威胁建模,设计阶段安全评审
文化差异开发/运维/安全团队协同安全团队主导,流程强管控

8. 学习方向规划
  • 短期:云原生安全(K8s RBAC、Service Mesh策略)、IAST工具原理深度研究。
  • 长期:AI辅助漏洞挖掘(如CodeQL结合图神经网络)、ATT&CK攻击模拟技术。

9-10. 技术栈与工具偏好
  • 语言栈:Java(代码审计/漏洞复现)、Python(PoC编写)、Go(工具开发)。
  • SAST/IAST倾向IAST(理由:更贴合DevSecOps实时检测需求,误报率低,适合云原生环境)。

11. 白盒审计思路
  • 五步法
    1. 架构分析:梳理组件交互(如Spring MVC控制器 -> Service层 -> DAO)。
    2. 入口定位:HTTP API、文件解析、RPC接口。
    3. 敏感函数回溯:如ObjectInputStream.readObject() (反序列化)、Runtime.exec() (命令执行)。
    4. 数据流验证:结合污点分析,确认用户输入是否直达漏洞点。
    5. 历史漏洞模式匹配:比对已知漏洞(如Log4j2 JNDI注入)。

12. 自动化工具开发
  • 示例项目:基于AST的Java反序列化Gadget扫描工具。
    • 技术点:ASM字节码解析、调用图(Call Graph)构建、Gadget链模式识别。
    • 效果:自动化识别InvokerTransformer等危险调用,辅助人工审计效率提升50%。

二面问题深度回答


1. Java反序列化漏洞
  • 原理:不可信数据触发readObject(),利用反射调用Gadget链(如TemplatesImpl.getOutputProperties() 加载恶意字节码)。
  • 关键点
    • Gadget构造:Apache Commons Collections的TransformedMap链。
    • 绕过防御:JRMP绕过CC链黑名单。
  • 防护:反序列化白名单(如Hessian的AllowClass)、JEP 290机制。

2. 白盒审计工具原理
  • Fortify:基于词法分析(Lexer)和语义规则(如“未加密的HTTP通信”)。
  • Checkmarx:生成抽象语法树(AST),数据流追踪。
  • Semgrep:模式匹配(如正则表达式\$.*?\{.*?\}检测模板注入)。

3. 域控攻击方式
  • 黄金票据:利用KRBTGT的NTLM Hash伪造TGT,访问任意服务。
  • 白银票据:利用服务账户Hash伪造ST,仅访问特定服务(如LDAP)。
  • DCSync:模拟域控制器,通过DRSUAPI协议拉取用户Hash。

4. MS14-068(CVE-2014-6324)
  • 漏洞点:Kerberos PAC校验逻辑缺陷,允许普通用户构造包含管理员权限的PAC。
  • 利用链kekeo工具生成高权限TGT -> 提权至域管理员。

5. 黄金票据 vs 白银票据
维度黄金票据白银票据
依赖信息KRBTGT的NTLM Hash服务账户的NTLM Hash
权限范围全域权限仅特定服务(如CIFS、LDAP)
检测难度高(需监控KRBTGT变更)低(服务日志可发现异常访问)

6-7. IAST与污点跟踪的结合
  • 插桩技术:Java Agent修改字节码,在关键函数(如String.concat() )插入探针。
  • 动态污点:标记用户输入为污染源,在数据库操作/命令执行时检查污染状态。
  • 挑战:性能优化(如采样降低开销)、多线程环境数据隔离。

8. 语言栈(Java/Go)
  • Java:代码审计(Spring/Struts2漏洞)、RASP工具开发(如基于Java Agent的防护)。
  • Go:云安全工具开发(如K8s准入控制器)、高并发扫描器(协程池优化)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值