文章目錄
- 前言:
- 進入實驗室
- 構造 payload
前言:
實驗室標題為:
通關 XML 編碼繞過過濾器的 SQL 注入
簡介:
此實驗室的庫存檢查功能中存在 SQL 注入漏洞。查詢結果在應用程序的響應中返回,因此您可以使用 UNION 攻擊從其他表中檢索數據。
數據庫包含一個users表,其中包含注冊用戶的用戶名和密碼。要解決該實驗,請執行 SQL 注入攻擊以檢索管理員用戶的憑據,然后登錄到他們的帳戶。
提示:
Web 應用程序防火墻 (WAF) 將阻止包含明顯 SQL 注入攻擊跡象的請求。您需要找到一種方法來混淆您的惡意查詢以繞過此過濾器。我們建議使用Hackvertor擴展來執行此操作。
進入實驗室
依然是一個商店頁面
構造 payload
點擊任意商品進入詳細介紹頁面,點擊底部的檢查庫存,打開 burp 進行抓包
將數據包發送到重放模塊
點擊發送,響應包中顯示的商店庫存為 933
修改storeId 標簽值為 1+1,再次發送數據包,響應包中的商店庫存為 880。可以判斷storeId 標簽值,響應包中的返回值不同
將 storeId 標簽值改為 union select null
再次發送數據包,響應包中顯示Attack detected
通過 burp 插件Hackvertor 來繞過檢測
Extensions > Hackvertor > Encode > dec_entities/hex_entities
再次發送數據包,能夠正常響應,說明成功繞過檢測
響應包中返回的數據為 0 units,說明當返回多個字段時,應用程序將返回 0 units
使用拼接的方法構造 payload
1 UNION SELECT username || '~' || password FROM users
發送數據包,成功得到賬戶密碼
carlos~wxp3wkqelmoqqb12p5fi
administrator~b0xyracitwpfkf71izhm
933 units
wiener~loxi1hggomrhyudhvxuk
登錄管理員賬戶,成功通關