关于站库分离渗透思路总结
0x00 前言
?
看到了某篇關于站庫分離類型站點相關的討論,想總結下信息收集的技巧。
0x01 正文
關于站庫分離類型站點網上暫時沒有找到總結性的文章,所以想嘗試記錄下關于站庫分離類型站點的滲透思路。
對站庫分離類型站點通常可以有兩個滲透入口點。
1.web網站
2.數據庫
滲透思路其實也是比較常規。但是這里如果兩個入口點無非兩種路徑。
1.從web網站打入進而打站庫分離的數據庫,內網滲透;
2.從數據庫打入進而打站庫分離的web網站,內網滲透。
根據不同的路徑定制不同的滲透測試方案,下面記錄一下流程和容易遇到的問題。
一、從 web 入口滲透
?
從 web 入口通常就是通過網站的各種漏洞來getshell,比如文件上傳、命令執行、代碼執行、還有SQL注入寫入一句話(into outfile、日志備份等)。
在獲得 web 權限或者有諸如文件讀取等漏洞時,我們還讀數據庫配置文件、對數據庫內容分析、查找數據庫備份,進而對數據庫目標 ip 進行滲透,以便后續操作。
二、從數據庫入口滲透
?
但是這里要說主要是外網暴露的數據庫入口點弱口令;web網站SQL注入。
從數據庫入口滲透,同樣主要是為了獲取更大的權限,或者擴展我們的滲透成果,比如從數據庫里可以得到一些密碼信息,用戶名等,在后續的內網滲透中可以很有效的幫助我們。
站點是站庫分離的,數據庫和web不在同一臺服務器上,這時候不能寫入一句話木馬通過web去連,因為路徑沒有用。如果是從web端找到的SQL注入,那么可以通過以下這些方式去做收集、獲取權限。
MYSQL
(1)定位 web 端 ip 地址
?
通過查詢?information_schema?庫中的?PROCESSLIST?可以查看當前 MYSQL 的連接情況。因為 web 應用會產生查詢數據庫操作,所以在回顯出來的?host?字段中會帶回目標的?ip:port。
select * from information_schema.PROCESSLIST;在得到了web端的ip,我們可以進而對web端進行滲透。
(2).load_file()獲取數據庫所在服務器的敏感信息
如果沒有secure_file_priv參數的限制(MySQL5.7以下),我們還可以用load_file()函數對文件內容進行讀取。
select load_file('C:/test.txt');還可以獲取網卡信息,比如讀:
/etc/udev/rules.d/70-persistent-net.rules //獲取網卡名稱 /etc/sysconfig/network-scripts/ifcfg-網卡 //靜態IP DHCP的話 /var/lib/dhclient/dhclient--網卡.leaseMSSQL
(1) 判斷是否站庫分離
得到客戶端主機名
select host_name();得到服務端主機名
select @@servername;根據結果判斷是否分離,結果一樣就可能站庫同服務器,結果不一樣就是站庫分離。
(2)存儲過程執行命令
我們可以通過 MSSQL的存儲過程執行系統命令,可以嘗試直接提升權限后滲透其他主機。
常用到的兩個:
1.XP_CMDSHELL
2.SP_OACREATE
可以探測數據庫服務器是否出網,通過執行ping或者curl看是否出網,通常遇到MSSQL我們直接就通過命令執行上線了。
同樣是數據庫,自然其中有一些敏感信息,為了進一步滲透,可以整理密碼本或者其他信息。
?
總結
以上是生活随笔為你收集整理的关于站库分离渗透思路总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一次挖掘SRC漏洞 - 从0到有
- 下一篇: 干货|各种WAF绕过手法学习