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

news2025/5/30 14:46:24

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

目录

一面技术问题

1. Burp插件原理

2. JavaWeb项目经验

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

4. Fastjson与Jackson反序列化对比

5. BCEL类加载器

6. XStream反序列化漏洞

7. 反序列化基础原理

8. JEP290机制

9. RMI原理与漏洞

10. JdbcRowSetImpl JNDI注入

11. CC链四个Transformer区别

12. CVE/CNVD挖掘经验

13. 反序列化其他触发点

14. Spring RCE漏洞

15. IIOP/T3反序列化

16. PHP反序列化

二面综合问题

1. 安全从业年限

2. 未来规划

3. 实习成果

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. 工作地点要求
  • 倾向:优先一线城市(如北京、上海),看重技术团队成熟度与业务场景复杂度,远程办公可接受。

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

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

相关文章

【node.js】实战项目

个人主页:Guiat 归属专栏:node.js 文章目录 1. 项目概览与架构设计1.1 实战项目:企业级电商管理系统1.2 技术栈选择 2. 项目初始化与基础架构2.1 项目结构设计2.2 基础配置管理 3. 用户服务实现3.1 用户服务架构3.2 用户模型设计3.3 用户服务…

免费插件集-illustrator插件-Ai插件-查找选中颜色与pantone中匹配颜色

文章目录 1.介绍2.安装3.通过窗口>扩展>知了插件4.功能解释5.总结 1.介绍 本文介绍一款免费插件,加强illustrator使用人员工作效率,实现查找选中颜色与pantone中匹配颜色。首先从下载网址下载这款插件https://download.csdn.net/download/m0_6731…

[爬虫实战] 爬微博图片:xpath的具体运用

博客配套代码发布于github:微博图片 相关知识点:图片懒加载 [爬虫知识] 数据解析 相关爬虫专栏:JS逆向爬虫实战 爬虫知识点合集 爬虫实战案例 这里我们以网页微博图片为例,尝试获取该页面下所有图片并保存。 一、分析网站 刷…

MySQL中简单的操作

一.数据库 1.1数据库的建立: create database 库名; 1.2数据库的查看: show databases; 1.3数据库的删除: drop database 库名; 二.数据库中的表 2.1表的建立: create table 表名&…

防震基座在半导体晶圆制造设备抛光机详细应用案例-江苏泊苏系统集成有限公司

在半导体制造领域,晶圆抛光作为关键工序,对设备稳定性要求近乎苛刻。哪怕极其细微的振动,都可能对晶圆表面质量产生严重影响,进而左右芯片制造的成败。以下为您呈现一个防震基座在半导体晶圆制造设备抛光机上的经典应用案例。 企…

Lua5.4.2常用API整理记录

一、基础函数 1.type(value)​​ 返回值的类型(如 "nil", "number", "string", "table", "function" 等)。 代码测试: a 0 print(type(a)) a nil print(type(a)) a "aaaaaaaa&…

Python打卡训练营学习记录Day36

仔细回顾一下神经网络到目前的内容,没跟上进度的同学补一下进度。 作业:对之前的信贷项目,利用神经网络训练下,尝试用到目前的知识点让代码更加规范和美观。 import pandas as pd #用于数据处理和分析,可处理表格数…

什么是智能体agent?

文章目录 什么是智能体agent?最基本的核心思想我们是如何走到今天以及为什么是现在如何从思维上剖析“一个智能体系统”痛苦的教训结论 什么是智能体agent? 原文链接:https://windsurf.com/blog/what-is-an-agent 本文探讨了AI智能体的核心概…

Obsidian 数据可视化深度实践:用 DataviewJS 与 Charts 插件构建智能日报系统

Obsidian 数据可视化深度实践:用 DataviewJS 与 Charts 插件构建智能日报系统 一、核心架构解析 本系统基于 Obsidian 的 DataviewJS 和 Charts 插件,实现日报数据的自动采集、可视化分析及智能回溯功能(系统架构原理见)。其技术…

6.4.3_有向无环图描述表达式

有向无环图: 有向图中不存在环即为有向无环图DAG图,即如下V0->V4->v3->V0或者V4->V1->v4就存在环不是有向无环图,即在一个路径中一个顶点不能出现2次? DAG描述表达式: 算术表达式用树来表示&#xff0…

【HarmonyOS Next之旅】DevEco Studio使用指南(二十五) -> 端云一体化开发 -> 业务介绍(二)

目录 1 -> 工作原理 2 -> 约束与限制 2.1 -> 支持的设备 2.2 -> 支持的国家/地区 2.3 -> 支持的签名方式 3 -> 总结 3.1 -> 关键功能与工具 3.2 -> 开发流程 3.3 -> 典型场景与优化 3.4 -> 常见问题与解决 3.5 -> 总结 1 -> 工…

Spring Boot AI 之 Chat Client API 使用大全

ChatClient提供了一套流畅的API用于与AI模型交互,同时支持同步和流式两种编程模型。 流畅API包含构建Prompt组成元素的方法,这些Prompt将作为输入传递给AI模型。从API角度来看,Prompt由一系列消息组成,其中包含指导AI模型输出和行为的指令文本。 AI模型主要处理两类消息: …

分身空间:手机分身多开工具,轻松实现多账号登录

分身空间是一款功能强大的手机分身多开工具APP,专为需要同时登录多个账号的用户设计。它支持多开各种游戏和软件,让用户可以轻松实现多账号同时在线,提升使用效率和体验。无论是社交软件、游戏还是办公应用,分身空间都能帮助你轻松…

音视频之视频压缩及数字视频基础概念

系列文章: 1、音视频之视频压缩技术及数字视频综述 一、视频压缩编码技术综述: 1、信息化与视频通信: 什么是信息: 众所周知,人类社会的三大支柱是物质、能量和信息。具体而言,农业现代化的支柱是物质&…

Ubuntu 24.04部署安装Honeyd蜜罐

🌴 前言 最近有个大作业,里面要求我们部署Hoenyd蜜罐,在网上搜了一通,发现相关的教程竟然少的可怜,即使有比较详细的教程,也是好几年前的了,跟着做一遍报一堆错,无奈之下&#xff0…

MCP技术体系介绍

MCP,全称时Model Context Protocol,模型上下文协议,由Claude母公司Anthropic于2014年11月正式提出。 MCP的核心作用是统一了Agent开发过程中大模型调用外部工具的技术实现流程,从而大幅提高Agent的开发效率。在MCP诞生之前,不同外部工具各有不同的调用方法。 要连接这些…

我的第1个爬虫程序——豆瓣Top250爬虫的详细步骤指南

我的第1个爬虫程序——豆瓣Top250爬虫的详细步骤指南 一、创建隔离开发环境 1. 使用虚拟环境(推荐venv) # 在项目目录打开终端执行 python -m venv douban_env # 创建虚拟环境 source douban_env/bin/activate # Linux/macOS激活 douban_env\Scri…

Selenium 测试框架 - C#

🚀Selenium C# 自动化测试实战:以百度搜索为例 本文将通过一个简单示例,手把手教你如何使用 Selenium + C# 实现百度搜索自动化测试。适合初学者快速上手,也适合作为企业 UI 自动化测试模板参考。 🧩 一、安装必要 NuGet 包 在 Visual Studio 的 NuGet 管理器中安装以下…

JavaWeb:SpringBoot工作原理详解

一、SpringBoot优点 1.为所有Spring开发者更快的入门 2.开箱即用,提供各种默认配置来简化项目配置 3.内嵌式容器简化Web项目 4.没有冗余代码生成和XML配置的要求 二、SpringBoot 运行原理 2.1. pom.xml spring-boot-dependencies: 核心依赖在父工程中;…

dify_plugin数据库中的表总结

本文使用dify-plugin-daemon v0.1.0版本,主要对dify_plugin数据库中的数据表进行了总结。 一.agent_strategy_installations 源码位置:dify-plugin-daemon\internal\types\models\agent.go type AgentStrategyInstallation struct {ModelTenantID …