網站存在漏洞被篡改了會員數據該如何檢測和修復

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

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

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

咱們抓取上傳的數據包,並進行修改,將惡意的SQL注入代碼寫入到數據包中,將頭像的圖片內容進行修改提交過去,發現服務器返回錯誤,緣由是對圖片的內容進行了解析操做,並將上傳的路徑地址寫入到了數據庫,而這個寫入數據庫的圖片路徑地址,並無作詳細的變量安全過濾,致使SQL注入的發生,因而可知,攻擊者能夠查詢數據庫裏的管理員帳號密碼,並登錄到系統後臺進行提權.平臺的後臺目錄地址很容易遭到破解,後臺名字寫的居然是houtai2019,很容易讓攻擊者猜解到,使用SQL注入漏洞獲取到的管理員帳號密碼.登錄後臺,上傳webshell,查到數據庫的帳戶密碼,進行鏈接,修改數據庫.程序員

在對後臺的滲透測試發現,後臺也存在一樣的任意文件上傳漏洞,upload值並無對文件的格式,作安全效驗與過濾,致使能夠構造惡意的圖片代碼,將save格式改成php,提交POST數據包過去,直接在網站的目錄下生成.php文件.對此咱們SINE安全將滲透測試過程當中發現的漏洞都進行了修復.web

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

首先對SQL注入漏洞,咱們SINE安全建議你們對圖片的路徑地址寫入到數據庫這裏,進行安全過濾,對於一些特殊字符,SQL注入攻擊代碼像select,等數據庫查詢的字符進行限制,有程序員的話,能夠對路徑進行預編譯,動態生成文件名,對ID等值只容許輸入數字等的安所有署,若是對程序代碼不是太懂的話,也能夠找專業的網站安全公司來解決,國內像SINESAFE,啓明星辰,綠盟都是比較專業的,剩下的就是任意文件上傳功能的漏洞修復,修復辦法是對上傳的文件名,以及文件格式作白名單限制,只容許上傳jpg.png,gif,等圖片文件,對上傳的目錄作安全設置,不容許PHP等腳本文件的執行,至此客戶網站數據被篡改的緣由找到,通過滲透測試才發現漏洞的根源,不模擬攻擊者的手段.是永遠不會找到問題的緣由的.也但願藉此分享,能幫助到更多遇到網站被攻擊狀況的客戶.shell

相關文章
相關標籤/搜索