新聞中心
SQL注入就是一種通過操作輸入(可以是表單,可以是get請求,也可以是POST請求等)相關(guān)SQL語句,并且能讓該語句在數(shù)據(jù)庫中得以執(zhí)行,從而進(jìn)行***的技術(shù)。最主要的原因就是沒有對用戶輸入數(shù)據(jù)的合法性或者說是客戶端提交的可變參數(shù)進(jìn)行嚴(yán)格的檢查和過濾,從而導(dǎo)致應(yīng)用程序存在該漏洞。這篇文章主要是講述通過一個MySQL注入漏洞,通過os-shell執(zhí)行echo命令獲取webshell的***過程,大牛繞過,寫這篇文章主要表揚自己開始有了自己的想法,可能該想法是其他人早就知道的!
在成都網(wǎng)站制作、成都網(wǎng)站設(shè)計中從網(wǎng)站色彩、結(jié)構(gòu)布局、欄目設(shè)置、關(guān)鍵詞群組等細(xì)微處著手,突出企業(yè)的產(chǎn)品/服務(wù)/品牌,幫助企業(yè)鎖定精準(zhǔn)用戶,提高在線咨詢和轉(zhuǎn)化,使成都網(wǎng)站營銷成為有效果、有回報的無錫營銷推廣。創(chuàng)新互聯(lián)專業(yè)成都網(wǎng)站建設(shè)十載了,客戶滿意度97.8%,歡迎成都創(chuàng)新互聯(lián)客戶聯(lián)系。
本來通過管理后臺弱口令進(jìn)入到系統(tǒng)中,發(fā)現(xiàn)上傳點,但是各種繞過都無法成功上傳***,不得已才想到通過SQL注入來寫一句話到文件中,看來不愧是菜鳥,還需要各位路過的大神多多指教!
0×00系統(tǒng)基本信息獲取
當(dāng)我打開本次測試的站點時,使用Firefox的server-spy獲取到基本信息,該網(wǎng)站使用的環(huán)境是Nginx 1.4.4,腳本類型時PHP 5.3.29,如圖1所示。server-spy更多信息請關(guān)注其官方網(wǎng)站:https://github.com/100apps/ServerSpy。
圖1使用server-spy獲取網(wǎng)站基本信息
0×01獲取操作系統(tǒng)類型
通過改變目錄中以及網(wǎng)站程序名稱中的大小寫,以及ping網(wǎng)站域名獲取TTL值等,初步判斷該系統(tǒng)是Unix(linux),如圖2所示。
圖2獲取操作系統(tǒng)類型
知識點:
(1)TTL是 Time To Live的縮寫,該字段指定IP包被路由器丟棄之前允許通過的最大網(wǎng)段數(shù)量。
(2)TTL是IPv4包頭的一個8 bit字段。TTL值的注冊表位置:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters其中有個DefaultTTL的DWORD值,其數(shù)據(jù)就是默認(rèn)的TTL值了,我們可以修改,但不能大于十進(jìn)制的255,Windows系統(tǒng)設(shè)置后重啟才生效。
(3)TTL 是由發(fā)送主機(jī)設(shè)置的,以防止數(shù)據(jù)包不斷在 IP 互聯(lián)網(wǎng)絡(luò)上永不終止地循環(huán)。轉(zhuǎn)發(fā) IP 數(shù)據(jù)包時,要求路由器至少將 TTL 減小 1,使用PING時涉及到的 ICMP 報文類型,一個為ICMP請求回顯(ICMP Echo Request),一個為ICMP回顯應(yīng)答(ICMP Echo Reply),TTL 字段值可以幫助我們識別操作系統(tǒng)類型。
(4)UNIX 及類 UNIX 操作系統(tǒng) ICMP 回顯應(yīng)答的 TTL 字段值為255,Windows2003Server、Windows 2008Server的TTL默認(rèn)值為64。
Compaq Tru64 5.0ICMP 回顯應(yīng)答的 TTL 字段值為 64
微軟 Windows NT/2K操作系統(tǒng) ICMP 回顯應(yīng)答的 TTL 字段值為128
微軟 Windows 95 操作系統(tǒng) ICMP 回顯應(yīng)答的 TTL 字段值為32
但有些情況下有所特殊:
LINUX Kernel 2.2.x& 2.4.x ICMP 回顯應(yīng)答的 TTL 字段值為 64
FreeBSD 4.1, 4.0,3.4;Sun Solaris 2.5.1, 2.6, 2.7, 2.8;OpenBSD 2.6, 2.7,NetBSD、
HP UX 10.20,ICMP回顯應(yīng)答的 TTL 字段值為 255
Windows 95/98/98SE/WindowsME,ICMP 回顯應(yīng)答的 TTL 字段值為 32
Windows NT4 WRKS,WindowsNT4 Server,Windows 2000,ICMP 回顯應(yīng)答的 TTL 字段值為 128。
0×02獲取注入點
因為站點是一個公司的官網(wǎng),所以就使用工具簡單掃描下情況,本次使用的掃描工具是safe3wvs,掃描發(fā)現(xiàn)有SQL注入,有xss,有后臺管理,如圖3所示,由于本次主要是講述mysql注入,因此其他略過!
圖3發(fā)現(xiàn)SQL注入點
0x03 sqlmap進(jìn)行驗證
通過使用sqlmap注入工具進(jìn)行掃描,得知該SQL注入漏洞是存在的,如圖4所示,并且數(shù)據(jù)庫是mysql > 5.0.11.
圖4sqlmap獲取數(shù)據(jù)庫信息
0×04–os-shell系統(tǒng)命令執(zhí)行
本來只是試試的,沒想到真的能執(zhí)行—os-shell,如圖5所示,人品爆發(fā),操作系統(tǒng)是64位的,因為選32位不能執(zhí)行命令!
圖5獲取操作系統(tǒng)架構(gòu)
0×05獲取相關(guān)信息
通過執(zhí)行whomai命令,可知當(dāng)前用戶是mysql,如圖6所示,通過ifconfig可知,地址是內(nèi)網(wǎng)地址,如圖7所示。
圖6獲取相關(guān)信息
圖7獲取本機(jī)IP地址
知識點:
私有地址(Private address)屬于非注冊地址,專門為組織機(jī)構(gòu)內(nèi)部使用,俗稱內(nèi)網(wǎng)地址。
以下列出留用的內(nèi)部私有地址
A類10.0.0.0--10.255.255.255
B類172.16.0.0--172.31.255.255
C類192.168.0.0--192.168.255.255
0×06尋找可寫目錄
首先通過頁面可查看到部分目錄,隨便找一張與該官網(wǎng)相關(guān)的圖片,查看屬性可知網(wǎng)站中存在目錄uploads,如圖7所示。
圖8 獲取目錄信息
另外通過os-shell,我們使用pwd查看到當(dāng)前目錄,然后通過ls從第一級目錄逐級查看,當(dāng)查看到uploads時,如圖8所示,就有了一個思路,就是通過相關(guān)手段去上傳***,因為目錄可以知道了。
圖9 查看目錄信息
0×07寫一句話***
由于之前在linux加固的時候,使用echo來輸入數(shù)據(jù)到文件中實現(xiàn)禁ping,于是就想到是不是可以通過該方法寫入一句話到文件中呢?通過在uploads目錄下多次嘗試,可能是自己技術(shù)太菜了,花了不少時間,幾乎是一個個echo輸出看到成功了,才將內(nèi)容寫入文件中,在一個單引號的地方折騰了很久,用\’都沒有用,一直失敗,沒想到直接不要單引號就成功,終于寫入成功了!太興奮了,嘿嘿!
圖10 寫入webshell
0×07菜刀連接
通過使用菜刀,成功連接,但是用戶是www,權(quán)限還沒有mysql權(quán)限大,如圖9,圖10所示。
圖11 獲取webshell
圖12 查看當(dāng)前用戶
0×07相關(guān)命令不能使用解決
在www用戶下,如圖11所示,不能使用ifconfig,此時我們可以通過去sbin目錄下,直接執(zhí)行該命令文件,如圖12所示,就可以成功使用這些命令了(也可以直接執(zhí)行命令/sbin/ifconfig)!
圖13 命令執(zhí)行失敗
圖14 查看IP地址
0×07題外話
通過菜刀連接成功后,我們可以上傳大馬,從而進(jìn)行進(jìn)一步的提權(quán),關(guān)于如何提權(quán),此處省略1000字。。。。。。
0×07參考
獲取服務(wù)器相關(guān)信息,可以使用火狐的server-spy插件,可以獲取網(wǎng)站的部署環(huán)境,IP地址,腳本類型等相關(guān)信息!
獲取操作系統(tǒng)類型,我們可以改變目錄中的相關(guān)字母的大小寫,原因是linux對大小寫敏感,windows對大小寫不敏感,其次是使用ping命令來獲取操作系統(tǒng)類型,在一般情況下,windows XP/2003 對應(yīng)的TTL值為128;linux對應(yīng)的TTL值為64,Unix對應(yīng)的TTL值是255,windows 7/10對應(yīng)的TTL值為64,windows 95/98對應(yīng)的TTL值為32。
另外就是,獲取網(wǎng)站的絕對路徑,如果不能使用報錯,而我們能使用pwd、ls兩個命令,那么我們也基本能找出絕對路徑來,當(dāng)我們執(zhí)行一些命令發(fā)現(xiàn)提示找不到命令時,我們可以在自己的虛擬機(jī)中l(wèi)ocate一下該命令的路徑,然后去到該路徑中通過./來執(zhí)行相關(guān)命令。
網(wǎng)站欄目:從mysql注入到getshell
網(wǎng)頁鏈接:http://www.dlmjj.cn/article/pojoei.html