網站資料被惡意篡改洩露如何查詢漏洞

網站安全發表於2019-11-17

某一客戶的網站,以及APP系統資料被篡改,金額被提現,導致損失慘重,漏洞無從下手,經過朋友介紹找到我們SINE安全公司,我們隨即對客戶的網站伺服器情況進行大體瞭解.建議客戶做滲透測試服務.模擬攻擊者的手法對網站存在的資料篡改漏洞進行檢測與挖掘,就此滲透測試服務的過程進行記錄與分享.

首先客戶網站和APP的開發語言都是使用的PHP架構開發,後端使用的thinkphp開源系統,對會員進行管理以及資料的統計,包括充值,提現,下單功能.伺服器使用是linux系統.共有3個介面,分別是WEB前端,介面,後臺,都採用的是action的方法來呼叫,並初始化資料.我們看下程式碼

網站資料被惡意篡改洩露如何查詢漏洞

不同入口傳入過來的值,並進一步的操作都不一樣,我們SINE安全技術在get,post,cookies的請求方式中,發現一個規律,在檢視程式碼中發現都是使用的get()的方式來對傳入過來的值進行安全效驗與攔截.對一些特殊符號包括<> 都進行了安全轉義,不會直接輸入到後端中去.基本上的一些漏洞,XSS,SQL隱碼攻擊漏洞是不會很容易的找到.我們繼續對程式碼進行分析與滲透測試,對漏洞多次的測試,終於找到一處存在SQL隱碼攻擊漏洞的程式碼,存在於網站的會員頭像上傳功能.

我們抓取上傳的資料包,並進行修改,將惡意的SQL隱碼攻擊程式碼寫入到資料包中,將頭像的圖片內容進行修改提交過去,發現伺服器返回錯誤,原因是對圖片的內容進行了解析操作,並將上傳的路徑地址寫入到了資料庫,而這個寫入資料庫的圖片路徑地址,並沒有做詳細的變數安全過濾,導致SQL隱碼攻擊的發生,由此可見,攻擊者可以查詢資料庫裡的管理員賬號密碼,並登陸到系統後臺進行提權.平臺的後臺目錄地址很容易遭到破解,後臺名字寫的竟然是houtai2019,很容易讓攻擊者猜解到,使用SQL隱碼攻擊漏洞獲取到的管理員賬號密碼.登陸後臺,上傳webshell,查到資料庫的賬戶密碼,進行連線,修改資料庫.

網站資料被惡意篡改洩露如何查詢漏洞

在對後臺的滲透測試發現,後臺也存在同樣的任意檔案上傳漏洞,upload值並沒有對檔案的格式,做安全效驗與過濾,導致可以構造惡意的圖片程式碼,將save格式改為php,提交POST資料包過去,直接在網站的目錄下生成.php檔案.對此我們SINE安全將滲透測試過程中發現的漏洞都進行了修復.

可能有些人會問了,那該如何修復滲透測試中發現的網站漏洞?

網站資料被惡意篡改洩露如何查詢漏洞

首先對SQL隱碼攻擊漏洞,我們SINE安全建議大家對圖片的路徑地址寫入到資料庫這裡,進行安全過濾,對於一些特殊字元,SQL隱碼攻擊程式碼像select,等資料庫查詢的字元進行限制,有程式設計師的話,可以對路徑進行預編譯,動態生成檔名,對ID等值只允許輸入數字等的安全部署,如果對程式程式碼不是太懂的話,也可以找專業的網站安全公司來解決,國內像SINESAFE,啟明星辰,綠盟都是比較專業的,剩下的就是任意檔案上傳功能的漏洞修復,修復辦法是對上傳的檔名,以及檔案格式做白名單限制,只允許上傳jpg.png,gif,等圖片檔案,對上傳的目錄做安全設定,不允許PHP等指令碼檔案的執行,至此客戶網站資料被篡改的原因找到,經過滲透測試才發現漏洞的根源,不模擬攻擊者的手段.是永遠不會找到問題的原因的.也希望藉此分享,能幫助到更多遇到網站被攻擊情況的客戶.


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31542418/viewspace-2664490/,如需轉載,請註明出處,否則將追究法律責任。

相關文章