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

news2025/6/1 11:34:53

安全领域各种资源,学习文档,以及工具分享、前沿信息分享、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准入控制器)、高并发扫描器(协程池优化)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2392522.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Unity 游戏优化(持续更新中...)

垃圾回收 是什么? 垃圾回收(Garbage Collection)GC 工作机制 1、Unity 为用户生成的代码和脚本采用了自动内存管理。 2、小块数据(如值类型的局部变量)分配在栈上。大块数据和长期存储分配在托管堆上。 3、垃圾收集…

20250529-C#知识:索引器

C#知识:索引器 索引器给对象添加了索引访问的功能,实际访问的是对象的成员,感觉不太常用。 1、主要内容及代码示例 索引器中类似属性,也包含get和set方法索引器能够使像访问数组一样访问对象一般当类中有数组类型的成员变量时&am…

【笔记】suna部署之获取 Tavily API key

#工作记录 Tavily 注册 Tavily 账号5: 打开浏览器,访问 Tavily 官网Tavily AI。点击页面上的 “注册” 按钮,按照提示填写注册信息,如邮箱地址、设置密码等,完成注册流程。也可以选择使用 Google 或 GitHub 账号授权登…

06-Web后端基础(java操作数据库)

1. 前言 在前面我们学习MySQL数据库时,都是利用图形化客户端工具(如:idea、datagrip),来操作数据库的。 我们做为后端程序开发人员,通常会使用Java程序来完成对数据库的操作。Java程序操作数据库的技术呢,有很多啊&a…

什么是单片机?

众所周知,人类行为受大脑调控,正如视觉、听觉、味觉、嗅觉、触觉及运动功能等感官与肢体活动均受其指挥;换言之,大脑作为人体的中枢神经系统,负责管理所有可控制的生理功能。 在电子设备领域,单片机…

Ubuntu的shell脚本

关于shell脚本 • shell脚本是文本的一种。 • shell脚本是可以运行的文本。 • shell脚本的内容是由说辑和数据组成。 • shell 脚本是解释型语言。 shell脚本存在的意义 Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具 Linux/UNIX系统…

从抄表到节能,电费管理系统如何重构公寓运营场景——仙盟创梦IDE

租房公寓电费管理系统是集智能计量、自动化计费、线上缴费、数据管理于一体的综合性解决方案,旨在解决传统电费管理中人工抄表误差大、收费效率低、纠纷频发等痛点。系统通过部署智能电表实时采集用电数据,结合云计算与大数据分析技术,实现电…

记一次前端逻辑绕过登录到内网挖掘

前言 在测试一个学校网站的时候,发现一个未授权访问内网系统,但是这个未授权并不是接口啥的,而是对前端 js 的审计和调试发现的漏洞,这里给大家分享一下这次的漏洞的过程。 进入内网的过程 可以看到是一个图书馆的网站&#xff…

Springboot 整合 WebSocket 实现聊天室功能

目录 前言一、WebSocket原理二、Spring Boot集成WebSocket2.1. 引入依赖2.2 配置类WebSocketConfig2.3 WebSocketServer 类2.4 前端代码 index.html2.5 Controller访问首页 前言 WebSocket概述: 在日常的web应用开发中,常见的是前端向后端发起请求&…

用 Trae IDE 打造一个桌面小爬虫:从 PyQt5 开始,轻松采集掘金首页内容

很多程序员都有这样的经历:刷掘金、看文章、找灵感、追热点。但你有没有想过,有一天让“爬虫”代替你去浏览这些内容?自动提取标题、作者、点赞数、评论数,一键生成你的专属“技术热点日报”。 今天我们就用 Trae IDE PyQt5 来完…

python和风api获取天气(JSON Web Token)

下载安装openssl 默认安装目录,添加C:\Program Files\OpenSSL-Win64\bin到用户Path环境变量 打开cmd,执行命令,会生成两个文件ed25519-private.pem,ed25519-public.pem openssl genpkey -algorithm ED25519 -out ed25519-privat…

52、C# 泛型 (Generics)

泛型是 C# 2.0 引入的一项强大功能&#xff0c;它允许你编写可以处理多种数据类型的代码&#xff0c;而无需为每种类型重复编写相同的逻辑。泛型提高了代码的重用性、类型安全性和性能。 基本概念 泛型类 public class GenericClass<T> {private T _value;public Gene…

Allegro X PCB设计小诀窍--05.如何在Allegro X中实现隐藏电源飞线效果

背景介绍&#xff1a;在PCB设计过程中&#xff0c;布线初期印制板上的飞线错综复杂&#xff0c;信号线和电源线混合交错&#xff0c;但是实际上对于多层板来说&#xff0c;电源的网络一般是通过电源层铺铜连接的&#xff0c;很少需要走线&#xff0c;这样混乱的情况会严重影响设…

一篇文章教会你ESP8266串口WIFI无线模块实现物联网无线收发,附STM32代码示例

目录 一、ESP-01S无线模块: &#xff08;1&#xff09;特点&#xff1a; &#xff08;2&#xff09;管脚定义&#xff1a; &#xff08;3&#xff09;启动模式&#xff1a; 二、ESP-01S出厂固件烧录&#xff1a; &#xff08;1&#xff09;引脚接线&#xff1a; &#xff0…

算法-基础算法

一、枚举算法 也称为穷举算法&#xff0c;指的是按照问题本身的性质&#xff0c;一一列举出该问题所有可能的解&#xff0c;并在逐一列举的过程中&#xff0c;将它们逐一与目标状态进行比较以得出满足问题要求的解。在列举的过程中&#xff0c;既不能遗漏也不能重复 1. 问题 …

Reactor模式详解:高并发场景下的事件驱动架构

文章目录 前言一、Reactor模式核心思想二、工作流程详解2.1 服务初始化阶段2.2 主事件循环2.3 子Reactor注册流程2.4 IO事件处理时序2.5 关键设计要点 三、关键实现技术四、实际应用案例总结 前言 在现代高性能服务器开发中&#xff0c;如何高效处理成千上万的并发连接是一个关…

项目日记 -Qt音乐播放器 -设置任务栏图标与托盘图标

博客主页&#xff1a;【夜泉_ly】 本文专栏&#xff1a;【Qt音乐播放器】 欢迎点赞&#x1f44d;收藏⭐关注❤️ 代码仓库&#xff1a;MusicPlayer v1.0版视频展示&#xff1a;Qt -音乐播放器(仿网易云)V1.0 前言 本文的目标&#xff1a; 一是设置任务栏的图标&#xff0c; 二…

国产 BIM 软件万翼斗拱的技术突破与现实差距 —— 在创新与迭代中寻找破局之路

万翼斗拱在国产BIM领域迈出重要一步&#xff0c;凭借二三维一体化、参数化建模及AI辅助设计等功能形成差异化竞争力&#xff0c;在住宅设计场景中展现效率优势&#xff0c;但与国际主流软件相比&#xff0c;在功能完整性、性能稳定性和生态成熟度上仍有显著差距&#xff0c;需通…

Golang|etcd服务注册与发现 策略模式

etcd 是一个开源的 分布式键值存储系统&#xff08;Key-Value Store&#xff09;&#xff0c;主要用于配置共享和服务发现。 ETCD是一个键值&#xff08;KV&#xff09;数据库&#xff0c;类似于Redis&#xff0c;支持分布式集群。ETCD也可以看作是一个分布式文件系统&#xff…

STM32的OLED显示程序亲测可用:适用于多种场景的稳定显示解决方案

STM32的OLED显示程序亲测可用&#xff1a;适用于多种场景的稳定显示解决方案 【下载地址】STM32的OLED显示程序亲测可用 这是一套专为STM32设计的OLED显示程序&#xff0c;经过实际测试&#xff0c;运行稳定可靠。支持多种OLED屏幕尺寸和类型&#xff0c;提供丰富的显示效果&am…