国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關(guān)注微信公眾號

攻防實戰(zhàn):注入漏洞的利用和防范
2008-11-14   

參加IT認證考試前,筆者習慣到網(wǎng)上去搜搜。亂逛之余,不小心就來到了PROMETRIC的中文站。筆者發(fā)現(xiàn)整個站點都是ASP程序,況且剛才還有個考場的登錄界面,要是能發(fā)現(xiàn)什么漏洞就好了。

探測漏洞

隨手找了個頁面(http://www.promet.ric.com.cn/openpage.asp?page_id=0),在參數(shù)0后面加上個單引號。返回的頁面顯示:500服務器內(nèi)部錯誤。在IE的“Internet選項→高級”中有一個“顯示友好HTTP錯誤信息”的選項,取消前面的鉤。現(xiàn)在,我們可以看到詳細的錯誤信息:

Microsoft OLE DB Provider for ODBC Drivers 錯誤 '80040e14' 

[Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect syntax near ''./audIT.asp,行18??


原來PROMETRIC用的是MSSQL,看來存在嚴重的注入漏洞(由于涉嫌攻擊步驟,此處不詳細敘述)。

漏洞原理

SQL注入的漏洞通常是由于程序員對它不了解,設(shè)計程序時某個參數(shù)過濾不嚴格所致。就拿剛才測試用的鏈接中的page_id這個參數(shù)來講,肯定就沒有進行過濾檢查,源程序中的查詢語句如下所示:

?Select * From Table Where page_id='0'??

當我們提交http://www.prometric.com.cn/openpage.asp?page_id=0 and 1=1時,

查詢語句就變成了:

Select * From Table Where page_id='0' and 1=1??

當我們提交其他的查詢語句時,程序也會進行執(zhí)行判斷,如:

http://www.prometric.com.cn/openpage.asp?page_id=0 and user>0 

查詢語句變成了:

Select * From Table Where page_id='0' and user>0??user是MSSQL的一個內(nèi)置函數(shù),指的是當前連接數(shù)據(jù)庫的用戶名,是一個nvarchar值。當它與整型量0進行大小比較時,MSSQL會試圖將user的值轉(zhuǎn)換成int類型,于是MSSQL就會報錯:

[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value 'web' to a column of data type int.

錯誤信息的后面顯示的是庫名、表名、數(shù)據(jù)等。如果對方屏蔽了錯誤信息呢?這時,我們就要利用Unicode、Substr等函數(shù)通過條件判斷來進行猜測了。??

如何利用 

大家可以利用小竹開發(fā)的NBSI2 MSSQL(以下簡稱“NBSI2”)工具。不過大家要注意,工具永遠只是工具,只能用來提高效率和準確性,自己一定得了解原理。 


熱詞搜索:

上一篇:不容忽視被人輕視的“七大網(wǎng)絡(luò)安全誤解”
下一篇:實戰(zhàn)經(jīng)驗:網(wǎng)吧入侵過程全方位剖析

分享到: 收藏
主站蜘蛛池模板: 安陆市| 金华市| 体育| 彩票| 秦皇岛市| 高邑县| 宜黄县| 昆明市| 石渠县| 鄱阳县| 库尔勒市| 琼结县| 富蕴县| 开封县| 罗江县| 嫩江县| 崇信县| 天门市| 阜阳市| 商都县| 浠水县| 和硕县| 通江县| 上虞市| 江永县| 古浪县| 金秀| 延吉市| 陆丰市| 新泰市| 泸定县| 鹤壁市| 安吉县| 阿城市| 隆德县| 道孚县| 富民县| 洞头县| 镇坪县| 涡阳县| 岗巴县|