亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        SQL注入攻擊與防范技術(shù)

        2011-08-15 00:44:25新疆孫俊德
        職業(yè)技術(shù) 2011年8期
        關(guān)鍵詞:黑客漏洞語句

        新疆 孫俊德

        SQL注入攻擊與防范技術(shù)

        新疆 孫俊德

        通過對(duì)目前常見的SQL注入攻擊的行為分析,網(wǎng)站管理人員從中了解并采用相關(guān)的防范技術(shù),保障網(wǎng)站數(shù)據(jù)庫的安全。本文通過對(duì)SQL注入攻擊過程的分析,有針對(duì)性提出如何增強(qiáng)網(wǎng)站抗SQL注入攻擊的措施。

        SQL注入;黑客;網(wǎng)站安全

        引言

        SQL注入攻擊可以算是互聯(lián)網(wǎng)上最為流傳最為廣泛的攻擊方式,許多企業(yè)網(wǎng)站先后遭此攻擊。所謂SQL注入(SQL Injection),就是利用程序員對(duì)用戶輸入數(shù)據(jù)的合法性檢測(cè)不嚴(yán)或不檢測(cè)的特點(diǎn),故意從客戶端提交特殊的代碼,從而收集程序及服務(wù)器的信息,查詢數(shù)據(jù)庫。

        1 主要的攻擊方法實(shí)現(xiàn)的介紹

        (1)一些網(wǎng)站的管理登陸頁面對(duì)輸入的用戶名和密碼沒有做SQL過濾,導(dǎo)致網(wǎng)站被攻擊。

        這里假設(shè)一個(gè)沒有嚴(yán)格過濾SQL字符的管理登陸界面。事實(shí)上黑客并不需要知道用戶名和密碼,那么黑客只需在用戶名里面輸入"'or 1=1--",密碼任意輸入,提交后,系統(tǒng)認(rèn)為用戶名為空('')或者(1=1恒成立),后面不執(zhí)行(--),就無需驗(yàn)證密碼直接進(jìn)入后臺(tái)。

        (2)下面的查詢語句在有注入漏洞的服務(wù)器上被惡意利用也會(huì)導(dǎo)致嚴(yán)重后果。

        String SqlStr=”Select*from customers where CompanyName like'%"+textBox1.Text+"%"';

        這樣的字符串連接可能會(huì)帶來災(zāi)難性的結(jié)果,比如用戶在文本框中輸入:

        a'or1=1

        那么SqlStr的內(nèi)容就是:

        select*from customers where CompanyName like'%a'or1=1--%'

        這樣,整個(gè)customers數(shù)據(jù)表的所有數(shù)據(jù)就會(huì)被全部檢索出來,因?yàn)?=1永遠(yuǎn)true,而且最后的百分號(hào)和單引號(hào)被短橫杠注釋掉了。

        如果用戶在文本框中輸入:

        a'EXEC sP_addlogin'John','123'EXEC sP_addsrvrolemember'John','sysadmin'--

        那么SqlStr的內(nèi)容就是:

        select*from customers where CompanyName like'%a'EXEC sp_addlogin'John','123'

        EXECsp_addsrvrolemember'John','sysadmin'--

        該語句是在后臺(tái)數(shù)據(jù)庫中增加一個(gè)用戶John,密碼123,而且是一個(gè)sysadmin賬號(hào),相當(dāng)于sa的權(quán)限。

        如果用戶這時(shí)在文本框中輸入:a'EXECxp_cmdShell('formatc:/y')--運(yùn)行之后就開始格式化C盤!

        (3)通過注入獲得管理員賬戶密碼。

        一個(gè)正常的網(wǎng)址http://localhost/lawjia/show.asp?ID=101,將這個(gè)網(wǎng)址提交到服務(wù)器后,服務(wù)器將進(jìn)行類似Select*from表名 where字段="&ID的查詢(ID即客戶端提交的參數(shù),本例是即101),再將查詢結(jié)果返回給客戶端。

        當(dāng)某人知道網(wǎng)站管理員帳號(hào)存儲(chǔ)在表login中,其用戶名為admin,如果想知道管理員密碼,此時(shí)他可從客戶端接著提交這樣一個(gè)網(wǎng)址:

        http://localhost/lol/show.asp?ID=101 and(Select password from login where user_name='admin')>0

        返回的出錯(cuò)信息如下:

        MicrosoftOLEDBProvider forODBCDrivers(0x80040E07)

        [Microsoft][ODBC SQL Server Driver][SQL Server] 將 varchar 值 '?。纇uway**a'轉(zhuǎn)換為數(shù)據(jù)類型為int的列時(shí)發(fā)生語法錯(cuò)誤。

        /lol/show.asp,第 27 行

        黑體字部分即為返回密碼

        (4)通過工具進(jìn)行注入攻擊測(cè)試。

        如何判斷一個(gè)網(wǎng)站能否被注入,首先找到注入點(diǎn),像上面提到的“/show.asp?ID=101”就是一個(gè)注人點(diǎn),很多新聞系統(tǒng)的新聞顯示頁面、產(chǎn)品發(fā)布顯示頁面都有類似ID=101的標(biāo)志,在ID=101后面直接輸入and 1=1,如果沒有出錯(cuò),仍然返回原先顯示頁面,這就是一個(gè)注人漏洞,如果返回您的網(wǎng)址不合法,顯然己經(jīng)做了SQL過濾。

        顯然人工猜測(cè)表名是一件麻煩事情,但大多存放管理員的賬戶的表通常為addmin,guan,login這樣簡(jiǎn)單單詞,通過黑客工具附帶字典,先確定表的名稱,接著猜測(cè)字段,然后窮學(xué)查詢字段第一位、第二、第三位…,直到全部出來,借助工具,對(duì)有注人漏洞網(wǎng)站攻擊成功率可達(dá)60%以上。注入工具有NBSI、啊 D、Domain 等。

        以上僅是對(duì)SQL攻擊的粗略分類。但從技術(shù)上講,如今的SQL注入攻擊者們?cè)谌绾握页鲇新┒吹木W(wǎng)站方面更加聰明,也更加全面了。出現(xiàn)了一些新型的SQL攻擊手段。黑客們可以使用各種工具來加速漏洞的利用過程。

        2 防御和檢查SQL注入的手段

        2.1 使用參數(shù)化的過濾性語句

        要防御SQL注入,用戶的輸入就絕對(duì)不能直接被嵌入到SQL語句中。恰恰相反,用戶的輸入必須進(jìn)行過濾,或者使用參數(shù)化的語句。參數(shù)化的語句使用參數(shù)而不是將用戶輸入嵌入到語句中。在多數(shù)情況中,SQL語句就得以修正。然后,用戶輸入就被限于一個(gè)參數(shù)。下面是一個(gè)使用Java和JDBCAPI例子:

        PreparedStatement prep=conn.prepareStatement("SELECT*FROM USERS WHEREPASSWORD=?");

        prep.setString(1,pwd);

        總體上講,有兩種方法可以保證應(yīng)用程序不易受到SQL注入的攻擊,一是使用代碼復(fù)查,二是強(qiáng)迫使用參數(shù)化語句的。強(qiáng)迫使用參數(shù)化的語句意味著嵌入用戶輸入的SQL語句在運(yùn)行時(shí)將被拒絕。不過,目前支持這種特性的并不多。如H2數(shù)據(jù)庫引擎就支持。

        2.2 還要避免使用解釋程序,因?yàn)檫@正是黑客們借以執(zhí)行非法命令的手段。

        2.3 防范SQL注入,還要避免出現(xiàn)一些詳細(xì)的錯(cuò)誤消息,因?yàn)楹诳蛡兛梢岳眠@些消息。要使用一種標(biāo)準(zhǔn)的輸入確認(rèn)機(jī)制來驗(yàn)證所有的輸入數(shù)據(jù)的長度、類型、語句、企業(yè)規(guī)則等。

        2.4 使用專業(yè)的漏洞掃描工具。但防御SQL注入攻擊也是不夠的。攻擊者們目前正在自動(dòng)搜索攻擊目標(biāo)并實(shí)施攻擊。其技術(shù)甚至可以輕易地被應(yīng)用于其它的Web架構(gòu)中的漏洞。企業(yè)應(yīng)當(dāng)投資于一些專業(yè)的漏洞掃描工具,如大名鼎鼎的Acunetix的Web漏洞掃描程序等。一個(gè)完善的漏洞掃描程序不同于網(wǎng)絡(luò)掃描程序,它專門查找網(wǎng)站上的SQL注入式漏洞。最新的漏洞掃描程序可以查找最新發(fā)現(xiàn)的漏洞。

        3 結(jié)束語

        建議Web應(yīng)用程序的程序員們對(duì)其代碼進(jìn)行測(cè)試并打補(bǔ)丁,雖然SQL注入漏洞被發(fā)現(xiàn)和利用的機(jī)率并不太高。但近來攻擊者們?cè)絹碓蕉嗟匕l(fā)現(xiàn)并惡意地利用這些漏洞。因此,在部署其軟件之前,開發(fā)人員應(yīng)當(dāng)更加主動(dòng)地測(cè)試其代碼,并在新的漏洞出現(xiàn)后立即對(duì)代碼打補(bǔ)丁,做為網(wǎng)站管理人員要在Web應(yīng)用程序開發(fā)過程的所有階段實(shí)施代碼的安全檢查。首先,要在部署Web應(yīng)用之前實(shí)施安全測(cè)試,這種措施的意義比以前更大、更深遠(yuǎn)。網(wǎng)站管理人員還應(yīng)當(dāng)在部署之后用漏洞掃描工具和站點(diǎn)監(jiān)視工具對(duì)網(wǎng)站進(jìn)行測(cè)試。

        [1]馬宜義.網(wǎng)絡(luò)安全與病毒防范.上海:上海交通大學(xué)院出版社,2009.

        [2]秦志興,張鳳荔.計(jì)算機(jī)病毒原理與防范[M].北京:人民郵電出版社,2007.

        [3]張仁斌,李剛,等.計(jì)算機(jī)病毒與反病毒技術(shù)[M].武漢:武漢大學(xué)出版社,2006.

        (編輯 呂智飛)

        (作者單位:昌吉職業(yè)技術(shù)學(xué)院)

        猜你喜歡
        黑客漏洞語句
        漏洞
        歡樂英雄
        多少個(gè)屁能把布克崩起來?
        重點(diǎn):語句銜接
        網(wǎng)絡(luò)黑客比核武器更可怕
        精彩語句
        三明:“兩票制”堵住加價(jià)漏洞
        漏洞在哪兒
        高鐵急救應(yīng)補(bǔ)齊三漏洞
        如何搞定語句銜接題
        澳门精品一区二区三区| 成人无码区免费a片www| 在线精品国内视频秒播| 日本一区二区久久精品亚洲中文无| 三级日本理论在线观看| 在办公室被c到呻吟的动态图| 久久久www成人免费无遮挡大片| 亚洲国产av玩弄放荡人妇| 亚洲va欧美va国产综合| 青榴社区国产精品| 国产精品国产三级国产剧情| 国产乱人伦av在线a麻豆| 亚洲免费观看在线视频| 欧美亚洲日韩国产人成在线播放| 杨幂一区二区系列在线| 国产成人午夜无码电影在线观看| 久久免费看少妇高潮v片特黄| 精品国产你懂的在线观看| av在线高清观看亚洲| av鲁丝一区鲁丝二区鲁丝三区| 日韩精品成人一区二区三区| 日韩精品一区二区三区中文9| 中文字幕亚洲视频一区| 免费毛片a线观看| 伊人网综合| 色综合久久五十路人妻| 色综合久久蜜芽国产精品| 国产suv精品一区二人妻| 欧美性爱一区二区三区无a| 黄片国产一区二区三区| 久热re这里精品视频在线6| 色爱区综合激情五月综合小说 | 中文字幕人妻互换av| 久久久久久久波多野结衣高潮| 视频一区二区在线播放| 亚洲色图第一页在线观看视频| 级毛片内射视频| 亚洲欧洲巨乳清纯| 日本第一区二区三区视频| 免费人成视频网站在在线| 亚洲av无码av男人的天堂|