天天看點

網站安全防護 如何防止sql注入的安全建議

phpdisk是目前網際網路最大的網盤開源系統,采用PHP語言開發,mysql資料庫架構,我們SINE安全在對其網站安全檢測以及網站漏洞檢測的同時,發現該網盤系統存在嚴重的sql注入攻擊漏洞,危害性較高,可以直接擷取網站的管理者賬号密碼,利用預設背景位址登入,可以直接擷取webshell權限。

目前phpdisk最新版本為7.0版本,該網站系統可以用于公司辦公,企業内部檔案共享,文檔存儲,比傳統的FTP軟體更為直覺,操作,簡單友善,快捷,使用者上傳檔案格式可以背景設定,人性化,滿足了很多企業以及個人使用者的青睐,使用的人越多,針對于該網站的漏洞挖掘也會越來越多,很容易遭受到攻擊者的攻擊。關于該網站的sql注入攻擊漏洞的詳情,我們SINE安全來詳細的跟大家講解一下:

SQL注入漏洞詳情

phpdisk有多個版本,像gbk版本,utf8版本,在代碼當中都會互相轉換代碼的功能,在對代碼進行轉化的同時多多少少會存在漏洞,該sql注入漏洞産生的原因就在這裡,我們對代碼進行安全審計後發現編碼轉換調用的是conver_str函數,大部分的網站對編碼的轉換都調用這個參數,在進行轉化的時候進行了多次轉義操作,我們追蹤代碼發現iconv存在sql寬位元組注入漏洞,代碼截圖如下:

網站安全防護 如何防止sql注入的安全建議

另外的一處sql注入漏洞是在代碼檔案裡,根目錄下的ajax.php檔案。我們來看下代碼:

網站安全防護 如何防止sql注入的安全建議

本身該代碼已經使用了全局變量的sql過濾系統,對一些sql注入語句進行了安全過濾與攔截,一般性的sql注入攻擊都不會成功,但是經過我們的安全檢測與繞過,可以直接将SQL注入語句植入到網站當中,并從後端執行資料庫的查詢操作,使用加密對其進行sql攻擊。

網站安全防護 如何防止sql注入的安全建議

通過網站的sql注入漏洞我們可以直接擷取網盤的管理者賬号密碼,擷取到的是md5值,針對于md5值我們對其解密,并利用預設的背景位址,登入進去,通過上傳檔案,我們進一步的對網站進行上傳webshell擷取更高的管理者權限。

網站安全防護 如何防止sql注入的安全建議

如何防止sql注入攻擊呢? 修複網站的漏洞

對網站前端輸入過來的值進行安全判斷,尤其編碼轉換這裡,确認變量值是否存在,如果存在将不會覆寫,杜絕變量覆寫導緻摻入惡意構造的sql注入語句代碼在GET請求,以及POST請求裡,過濾非法字元的輸入。 '分号過濾 --過濾 %20特殊字元過濾,單引号過濾,%百分号, and過濾,tab鍵值等的的安全過濾。對加密的參數進行強制轉換并攔截特殊的語句,該phpdisk網站系統已經停止更新,如果對代碼不是太懂的話,建議找專業的網站安全公司來處了解決網站被sql注入攻擊問題。還有一點就是,如果實在不知道該怎麼修複漏洞,直接将網站的背景位址改掉,改的複雜一些,即使攻擊者破解了admin的賬号密碼,也登入不了背景。