2025年渗透测试面试题总结-匿名[实习]安全工程师(安全厂商)(题目+回答)

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

目录

一面技术问题

[1. Burp插件原理](#1. Burp插件原理)

[2. JavaWeb项目经验](#2. JavaWeb项目经验)

[3. CC1-7链原理(以CC6为例)](#3. CC1-7链原理(以CC6为例))

[4. Fastjson与Jackson反序列化对比](#4. Fastjson与Jackson反序列化对比)

[5. BCEL类加载器](#5. BCEL类加载器)

[6. XStream反序列化漏洞](#6. XStream反序列化漏洞)

[7. 反序列化基础原理](#7. 反序列化基础原理)

[8. JEP290机制](#8. JEP290机制)

[9. RMI原理与漏洞](#9. RMI原理与漏洞)

[10. JdbcRowSetImpl JNDI注入](#10. JdbcRowSetImpl JNDI注入)

[11. CC链四个Transformer区别](#11. CC链四个Transformer区别)

[12. CVE/CNVD挖掘经验](#12. CVE/CNVD挖掘经验)

[13. 反序列化其他触发点](#13. 反序列化其他触发点)

[14. Spring RCE漏洞](#14. Spring RCE漏洞)

[15. IIOP/T3反序列化](#15. IIOP/T3反序列化)

[16. PHP反序列化](#16. PHP反序列化)

二面综合问题

[1. 安全从业年限](#1. 安全从业年限)

[2. 未来规划](#2. 未来规划)

[3. 实习成果](#3. 实习成果)

[4. 工作地点要求](#4. 工作地点要求)

匿名[实习]安全工程师(安全厂商)

复制代码
### 一面

1. 讲讲你写的几个Burp插件原理
2. 做过什么JavaWeb项目吗
3. CC1-7找熟悉的讲一下原理
4. Fastjson和Jackson反序列化原理讲讲
5. BCEL可以用其他类加载器吗
6. XStream反序列化讲讲
7. 最基本的反序列化原理是什么
8. 了解JEP290的原理吗
9. 讲下RMI原理以及相关的漏洞
10. JdbcRowSetImpl如何触发的JNDI注入
11. CC链四个Transformer区别
12. 讲下你挖过的CVE和CNVD
13. 反序列化除了readObject还有什么触发点
14. 讲下Spring相关的RCE原理
15. 讲讲IIOP和T3反序列化原理
16. PHP等语言的反序列化讲讲

### 二面

1. 做了几年安全
2. 未来想做什么
3. 讲讲实习期间做的事
4. 工作地点要求. 

一面技术问题

1. Burp插件原理
  • 核心机制 :Burp插件通过Java API或Python(通过Jython)扩展,主要操作包括:
    • 请求/响应拦截 :实现IHttpListener接口,在processHttpMessage()中修改HTTP流量。
    • 主动扫描逻辑 :通过IScannerCheck定义自定义漏洞检测规则。
    • UI集成 :利用ITabIContextMenu添加自定义界面。
  • 典型场景:例如自动化CSRF Token替换插件,通过解析HTML提取Token并动态更新请求参数。

2. JavaWeb项目经验
  • 技术栈 :Spring Boot + MyBatis开发的后台管理系统,涉及:
    • 安全实践:Shiro权限控制、SQL预编译防御注入、XSS过滤器(通过自定义HttpServletRequestWrapper)。
    • 漏洞修复:修复过Fastjson 1.2.24反序列化漏洞,升级至2.x并启用SafeMode。

3. CC1-7链原理(以CC6为例)
  • 关键类HashMap#readObject触发TiedMapEntry#hashCode,调用LazyMap#get()触发动态代理(AnnotationInvocationHandler)。
  • 绕过限制 :CC6利用HashSet代替AnnotationInvocationHandler,避免高版本JDK中对该类的内部校验。

4. Fastjson与Jackson反序列化对比
  • Fastjson
    • 漏洞根源@type字段指定任意类,通过DefaultJSONParser解析时自动调用setter/getter。
    • 补丁绕过 :1.2.48以下利用AutoCloseable接口类触发恶意代码。
  • Jackson
    • 触发条件 :启用enableDefaultTyping()时,通过多态类型绑定(如Object类型属性)实例化恶意类。
    • 利用类 :如org.apache.xbean.propertyeditor.JndiConverter 结合JNDI注入。

5. BCEL类加载器
  • 限制与替代
    • BCEL原生使用com.sun.org.apache.bcel.internal.util.ClassLoader ,但可被其他自定义类加载器(如URLClassLoader)加载,需手动调用loadClass()并初始化。
    • 实战意义:部分WAF会拦截BCEL关键字,改用其他加载器(如Groovy ClassLoader)可绕过检测。

6. XStream反序列化漏洞
  • 原理 :XStream在解析XML时,通过Converter将标签映射为对象,攻击者构造包含EventHandlerJdbcRowSetImpl的XML触发RCE。
  • CVE-2021-21345 :利用javax.sql.rowset.BaseRowSetsetDataSourceName触发JNDI注入。

7. 反序列化基础原理
  • 入口点ObjectInputStream#readObject()反序列化二进制数据,若对象重写该方法且存在危险操作(如Runtime.exec ),则导致漏洞。
  • 扩展触发点 :如readResolve()readExternal()等序列化接口方法。

8. JEP290机制
  • 核心功能 :JDK9引入的反序列化过滤器,通过ObjectInputFilter检查反序列化的类是否在白名单内。
  • 绕过方法
    • 利用未受JEP290保护的第三方库(如Groovy的MethodClosure)。
    • 嵌套序列化流绕过单层过滤(如CVE-2021-2045)。

9. RMI原理与漏洞
  • 工作流程
    1. 服务端注册对象到Registry(端口1099)。
    2. 客户端通过JNDI查找远程对象,通过动态类加载(codebase)下载恶意类。
  • 历史漏洞
    • CVE-2017-3241:JRMP协议传输的序列化对象未校验,可注入CC链。
    • JNDI注入:结合RMI的codebase特性,触发远程类加载(如Log4j漏洞)。

10. JdbcRowSetImpl JNDI注入
  • 触发链路 :调用setDataSourceName()设置JNDI地址,setAutoCommit(true)触发connect(),最终调用InitialContext.lookup() 加载恶意对象。

11. CC链四个Transformer区别
  • 核心Transformer
    1. ConstantTransformer:返回固定值,用于构造参数。
    2. InvokerTransformer:反射调用方法(如Runtime.exec )。
    3. ChainedTransformer:链式执行多个Transformer。
    4. InstantiateTransformer:实例化类并调用构造方法(如TemplatesImpl)。

12. CVE/CNVD挖掘经验
  • 举例:某OA系统文件上传漏洞(CNVD-2023-XXXXX),未校验文件类型导致上传Webshell,结合权限绕过实现RCE。

13. 反序列化其他触发点
  • JDBC反序列化 :MySQL Connector/J的SHOW SESSION STATUS触发恶意类加载。
  • XML反序列化:XStream、Jackson XML格式解析漏洞。
  • YAML/Properties解析:SnakeYAML加载恶意类。

14. Spring RCE漏洞
  • CVE-2022-22965 :通过参数绑定修改TomcatClassLoader属性,写入恶意JSP文件。
  • SpEL表达式注入 :如@PreAuthorize注解中的表达式动态解析导致代码执行。

15. IIOP/T3反序列化
  • IIOP:CORBA协议传输的序列化对象,WebLogic未过滤导致CC链注入。
  • T3协议 :WebLogic特有协议,漏洞利用需构造包含FilterExtractor的Payload。

16. PHP反序列化
  • 魔术方法__wakeup()__destruct()常被用于触发漏洞。
  • POP链构造 :如利用Monolog库的Processor类执行系统命令。

二面综合问题

1. 安全从业年限
  • 经历:3年渗透测试与漏洞研究,主导过金融、教育行业风险评估项目,熟悉红队武器化开发。

2. 未来规划
  • 技术方向:深耕Java生态安全(如JVM沙盒逃逸、RASP对抗),探索云原生场景下的攻击面。

3. 实习成果
  • 项目示例:某SRC平台漏洞自动化挖掘系统,集成动态污点追踪与静态代码分析,提升漏洞发现效率30%。

4. 工作地点要求
  • 倾向:优先一线城市(如北京、上海),看重技术团队成熟度与业务场景复杂度,远程办公可接受。
相关推荐
Logan Lie1 小时前
在 Ubuntu 终端中配置网络代理:优化 npm、apt等的下载速度
linux·ubuntu·npm·代理模式
网硕互联的小客服1 小时前
如何安全配置数据库(MySQL/PostgreSQL/MongoDB)
linux·运维·服务器·网络·windows
NoneCoder2 小时前
React 生命周期与 Hook 理解解析
前端·react.js·面试
派阿喵搞电子3 小时前
QT中常用的类
linux·qt
开挖掘机上班3 小时前
linux自有服务
linux·运维·服务器
此生只爱蛋4 小时前
【Linux】基础IO
linux
安全系统学习4 小时前
网络安全之Web渗透加解密
网络·安全·web安全·网络安全·系统安全
枷锁—sha4 小时前
WireShark网络抓包—详细教程
网络·测试工具·web安全·网络安全·wireshark
2301_803297754 小时前
nginx安全防护与https部署实战
nginx·安全·https
再看扣你眼4 小时前
Nginx 安全防护与 HTTPS 部署实战笔记
nginx·安全·https