注射工具盒
當我們得到沒有錯誤提示,一個普通的注射總是用UNION SELECT [null,null,..到前面選擇里正確列的數字]/* 去看,
因此我們可以更深入。假如沒有輸出結果顯示,即使我們準確地知道每個表里每個列的名字,也幾乎不可能得到內容。
用codebug.org發現的MercuryBoard里不可利用的漏洞做例子,我將會一步一步演示如何從被里發現的不可利用的漏洞里找到密碼散列。
我假設這個表的名字是已知的。(在審核一個開放腳本資源,或者調試默認選項是否活動是,這是都一種正常的假設)
漏洞
MercuryBoard v. 1.1.0 Alberto Trivero發現存在一個SQL注入漏洞,當post.php包含被設置成'reply',并且參數't'被傳遞。
當用戶登陸進行以下操作時,結果將會發生一個錯誤:
http://www.site.com/mercuryboard/index.php?a=post&s=reply&t=1'
這個結果看起來像是不能被利用的。
準備好盲目性
首先用數據庫低權限的用戶完整安裝有漏洞的Mercuryboard版本。
|---|數據庫名字是'mercuryboard'|---| (讓我顯示表名)
mysql> SHOW TABLES;
+-------------------+
| Tables_in_mercury |
+-------------------+
| mb_active |
| mb_attach |
| mb_forums |
| mb_groups |
| mb_help |
| mb_logs |
| mb_membertitles |
| mb_pmsystem |
| mb_posts |
| mb_replacements |
| mb_settings |
| mb_skins |
| mb_subscriptions |
| mb_templates |
| mb_topics |
| mb_users |
| mb_votes |
+-------------------+
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com