phpdisk是目前互聯(lián)網(wǎng)最大的網(wǎng)盤開源系統(tǒng),采用PHP語言開發(fā),mysql數(shù)據(jù)庫架構(gòu),我們SINE安全在對其網(wǎng)站安全檢測以及網(wǎng)站漏洞檢測的同時,發(fā)現(xiàn)該網(wǎng)盤系統(tǒng)存在嚴(yán)重的sql注入攻擊漏洞,危害性較高,可以直接獲取網(wǎng)站的管理員賬號密碼,利用默認(rèn)后臺地址登錄,可以直接獲取webshell權(quán)限。
目前phpdisk最新版本為7.0版本,該網(wǎng)站系統(tǒng)可以用于公司辦公,企業(yè)內(nèi)部文件共享,文檔存儲,比傳統(tǒng)的FTP軟件更為直觀,操作,簡單方便,快捷,用戶上傳文件格式可以后臺設(shè)置,人性化,滿足了很多企業(yè)以及個人用戶的青睞,使用的人越多,針對于該網(wǎng)站的漏洞挖掘也會越來越多,很容易遭受到攻擊者的攻擊。關(guān)于該網(wǎng)站的sql注入攻擊漏洞的詳情,我們SINE安全來詳細(xì)的跟大家講解一下:
SQL注入漏洞詳情
phpdisk有多個版本,像gbk版本,utf8版本,在代碼當(dāng)中都會相互轉(zhuǎn)換代碼的功能,在對代碼進(jìn)行轉(zhuǎn)化的同時多多少少會存在漏洞,該sql注入漏洞產(chǎn)生的原因就在這里,我們對代碼進(jìn)行安全審計后發(fā)現(xiàn)編碼轉(zhuǎn)換調(diào)用的是conver_str函數(shù),大部分的網(wǎng)站對編碼的轉(zhuǎn)換都調(diào)用這個參數(shù),在進(jìn)行轉(zhuǎn)化的時候進(jìn)行了多次轉(zhuǎn)義操作,我們追蹤代碼發(fā)現(xiàn)iconv存在sql寬字節(jié)注入漏洞,代碼截圖如下:
另外的一處sql注入漏洞是在代碼文件里,根目錄下的ajax.php文件。我們來看下代碼:
本身該代碼已經(jīng)使用了全局變量的sql過濾系統(tǒng),對一些sql注入語句進(jìn)行了安全過濾與攔截,一般性的sql注入攻擊都不會成功,但是經(jīng)過我們的安全檢測與繞過,可以直接將SQL注入語句植入到網(wǎng)站當(dāng)中,并從后端執(zhí)行數(shù)據(jù)庫的查詢操作,使用加密對其進(jìn)行sql攻擊。
通過網(wǎng)站的sql注入漏洞我們可以直接獲取網(wǎng)盤的管理員賬號密碼,獲取到的是md5值,針對于md5值我們對其解密,并利用默認(rèn)的后臺地址,登錄進(jìn)去,通過上傳文件,我們進(jìn)一步的對網(wǎng)站進(jìn)行上傳webshell獲取更高的管理員權(quán)限。
如何防止sql注入攻擊呢? 修復(fù)網(wǎng)站的漏洞
對網(wǎng)站前端輸入過來的值進(jìn)行安全判斷,尤其編碼轉(zhuǎn)換這里,確認(rèn)變量值是否存在,如果存在將不會覆蓋,杜絕變量覆蓋導(dǎo)致?lián)饺霅阂鈽?gòu)造的sql注入語句代碼在GET請求,以及POST請求里,過濾非法字符的輸入。 '分號過濾 --過濾 %20特殊字符過濾,單引號過濾,%百分號, and過濾,tab鍵值等的的安全過濾。對加密的參數(shù)進(jìn)行強(qiáng)制轉(zhuǎn)換并攔截特殊的語句,該phpdisk網(wǎng)站系統(tǒng)已經(jīng)停止更新,如果對代碼不是太懂的話,建議找專業(yè)的網(wǎng)站安全公司來處理解決網(wǎng)站被sql注入攻擊問題,讓安全公司幫忙修復(fù)網(wǎng)站的漏洞,像Sinesafe,綠盟那些專門做網(wǎng)站安全防護(hù)的安全服務(wù)商來幫忙。還有一點就是,如果實在不知道該怎么修復(fù)漏洞,直接將網(wǎng)站的后臺地址改掉,改的復(fù)雜一些,即使攻擊者破解了admin的賬號密碼,也登錄不了后臺
申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!