- 區塊鏈安全入門與實戰
- 劉林炫 鄧永凱 萬鈞 張繼龍
- 1075字
- 2021-01-25 14:37:53
2.5.2 案例分析
1.XSS測試
XSS是最常見的Web漏洞之一,亦是客戶端腳本安全的頭號大敵,在各大漏洞提交平臺也經常見到XSS的漏洞提交。XSS攻擊的危害巨大且可利用處繁多,如XSS釣魚、Cookie劫持、獲取用戶真實IP等。
我們在對某交易所進行測試時,發現在資產充值的付款錢包地址處可以輸入任意字符,沒有對輸入的字符進行過濾和編碼。初步測試時彈框成功,進一步寫入利用XSS獲取Cookie的腳本。等待一段時間后,成功獲取到后臺管理員Cookie,并以此成功登錄后臺,在后臺可任意進行轉賬和充值操作,且存在大量用戶信息。
圖2.24所示為測試XSS時的截圖。

圖 2.24
操作成功作的彈框如圖2.25所示。

圖 2.25
成功獲取后臺管理員Cookie,如圖2.26所示。

圖 2.26
用管理員Cookie登錄后臺,如圖2.27所示。

圖 2.27
2.SQL注入測試
開發者和網絡安全人員對SQL應該非常熟悉了,OWASP TOP 10多次把數據庫相關的SQL注入攻擊列在榜首,也足以看出其危害很大。SQL注入漏洞的產生原因主要是Web應用程序對用戶輸入的數據沒有進行合法性判斷,攻擊者可以控制前端傳入后端的參數,利用參數代入數據庫查詢,通過構造不同的SQL語句實現對數據庫的任意操作。鑒于其危害性巨大,我們在對交易所進行測試時,對SQL注入類漏洞會進行全面、細化的排查。
我們被授權測試某交易所時,在一個提交GET請求的數據包中,發現疑似注入點。進行手工測試后,經驗證發現存在延時注入,之后使用工具進一步測試,得到了數據庫表、用戶名、密碼等數據庫存儲的相關信息。
圖2.28所示為手工注入測試過程。

圖 2.28
工具測試過程如圖2.29所示。
3.代碼注入測試
代碼注入漏洞與SQL注入漏洞同屬注入類型,其危害也相當巨大,是攻擊者經常用的獲取網站權限的“利器”。產生這種漏洞大多是因為部分開發人員的編程習慣并不安全,例如,經常使用一些類似于eval()、system()等的危險函數。下面用一個實例說明一下此類漏洞的危害。

圖 2.29
我們在對某交易所進行測試時,發現交易所的某相關域名下報錯信息提示中間件及版本為ThinkPHP 5.0.11,隨即利用其已公開的一個代碼執行漏洞寫入shell,連接成功后拿下網站權限。
ThinkPHP支持調試模式,默認情況下是開啟狀態(5.0.10+版本開始,默認關閉調試模式,需要用戶自己開啟)。調試模式以除錯方便優先,而且在出現異常時可以顯示盡可能多的信息,但是如果在生產環境中依然開啟了debug模式,會導致敏感信息泄露,給攻擊者提供入侵輔助。所以在開發完成后,真正進行項目部署時,要修改應用配置文件(application/config.php)中的app_debug配置參數:
// 關閉調試模式 'app_debug' => false,
如果網站開啟了debug模式,此時訪問網站域名下不存在的路徑就會報錯,泄露敏感信息,如圖2.30所示。

圖 2.30
根據ThinkPHP相關版本漏洞驗證漏洞是否存在,可以看到禁用方法,如圖2.31所示。

圖 2.31
寫入木馬后,連接成功,拿到網站管理員權限,如圖2.32所示。

圖 2.32