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

        ?

        SQL注入攻擊及其檢測防御技術(shù)研究

        2017-05-08 14:58:36方自遠(yuǎn)

        方自遠(yuǎn)

        摘要:本文對SQL注入攻擊的原理和方法進(jìn)行了介紹,對如何檢測和防御SQL注入攻擊進(jìn)行了研究。網(wǎng)絡(luò)系統(tǒng)安全問題是一個(gè)持續(xù)性問題,SQL注入攻擊作為網(wǎng)絡(luò)中最為常見的攻擊手段。了解并掌握如何有效防御SQL注入攻擊對提升Web網(wǎng)絡(luò)系統(tǒng)的安全性有著重大的現(xiàn)實(shí)指導(dǎo)意義。

        關(guān)鍵詞: Web安全; SQL注入; 漏洞檢測; 攻擊防御

        中圖分類號: TP391

        文獻(xiàn)標(biāo)志碼:A

        文章編號: 2095-2163(2016)06-0087-03

        0引言

        最近十年來,互聯(lián)網(wǎng)產(chǎn)業(yè)和技術(shù)發(fā)展蓬勃迅速,社會(huì)的各個(gè)領(lǐng)域都已經(jīng)與Web應(yīng)用建立了密切聯(lián)系。使用互聯(lián)網(wǎng)已經(jīng)成為現(xiàn)代生活方式的不二選擇。在全世界,大致可知應(yīng)有數(shù)以億計(jì)的網(wǎng)絡(luò)服務(wù)器都在提供互聯(lián)網(wǎng)服務(wù)。但與此同時(shí),這些網(wǎng)絡(luò)服務(wù)器也無時(shí)無刻都會(huì)遭遇到各類惡意攻擊。

        數(shù)據(jù)庫是Web應(yīng)用系統(tǒng)的基礎(chǔ)組成部分,存儲著大量關(guān)鍵敏感信息,因此,侵入和攻擊數(shù)據(jù)庫,竊取數(shù)據(jù)信息是網(wǎng)絡(luò)攻擊的主要目的和實(shí)施手段。根據(jù)相關(guān)組織調(diào)研數(shù)據(jù)顯示,Web應(yīng)用十大關(guān)鍵風(fēng)險(xiǎn)排名第一位就是注入攻擊。在全世界發(fā)生的Web服務(wù)系統(tǒng)攻擊實(shí)踐中,大約有60%的行為均可標(biāo)注為SQL注入攻擊。因此,研究SQL注入攻擊及檢測防御技術(shù)對有效控制和降低網(wǎng)絡(luò)攻擊事件發(fā)生必將具有重大現(xiàn)實(shí)意義及作用。

        [BT4]1SQL注入攻擊研究

        [BT5]1.1SQL注入攻擊原理

        SQL注入攻擊(SQL injection)是利用Web 應(yīng)用程序的設(shè)計(jì)漏洞來實(shí)現(xiàn)Web應(yīng)用系統(tǒng)、尤其是數(shù)據(jù)庫的入侵,從而最終達(dá)到獲取或破壞數(shù)據(jù)的一種非法策略及手段。通過SQL注入可能會(huì)導(dǎo)致如下后果:入侵者惡意進(jìn)占了數(shù)據(jù)庫服務(wù)器、獲取數(shù)據(jù)庫高級操作權(quán)限、竊取數(shù)據(jù)庫中存儲的關(guān)鍵數(shù)據(jù)信息等。

        SQL注入攻擊的發(fā)起者多是利用Web頁面中存在的漏洞,有針對性地構(gòu)造SQL語句,并蓄意引導(dǎo)數(shù)據(jù)庫服務(wù)器執(zhí)行這些SQL語句,通過截取用戶名和密碼等重要信息,從而全面獲取了數(shù)據(jù)庫控制權(quán)限。

        SQL注入攻擊的可選研究方式主要有:

        1)使用注釋符和恒等式;

        2)使用union語句進(jìn)行聯(lián)合查詢;

        3)使用insert或update語句對數(shù)據(jù)庫數(shù)據(jù)表內(nèi)數(shù)據(jù)進(jìn)行增加或修改;

        4)利用一些內(nèi)置函數(shù)輔助進(jìn)行攻擊等。

        在此,將結(jié)合前2種方法給出實(shí)現(xiàn)過程詳述與闡析。

        1.1.1使用注釋符和恒等式

        眾所周知,如果要查詢數(shù)據(jù)庫的user表中所有條目,那么正確的查詢語句為:

        SELECT * FROM user WHERE username = 'user' AND password = 'pawd'

        利用ASP 實(shí)現(xiàn)時(shí),需要連接字符串,而后再加上SQL 命令,最后執(zhí)行查看返回的結(jié)果是否為空。那么SQL 語句嵌套在ASP 代碼中的表現(xiàn)形式可描述如下:

        var sql = "SELECT * FROM user WHERE username = '" +loginname + "' AND密碼 = '" +loginpwd + "'";(loginname字段與loginpwd字段分別存儲了用戶在網(wǎng)頁上所填入的用戶名和密碼信息。)

        但是當(dāng)用戶在Web頁面文本框內(nèi)輸入的內(nèi)容為:loginname=‘ or 1=1 -- ,而loginpwd 的內(nèi)容任意輸入時(shí),此時(shí)在ASP 中的查詢語句則演變成:

        SELECT * FROM user WHERE username=‘or 1=1 --AND password = 'pawd '

        顯然,SQL語句中密碼驗(yàn)證部分被“- -”注釋符當(dāng)成了注釋語句,同時(shí),由于“1=1”恒等式的存在導(dǎo)致用戶名驗(yàn)證部分永遠(yuǎn)為真。用戶名驗(yàn)證和密碼驗(yàn)證均發(fā)生了失效,這樣攻擊者就可以登錄進(jìn)入Web應(yīng)用系統(tǒng)了。

        1.1.2使用union語句進(jìn)行聯(lián)合查詢

        利用union關(guān)鍵字查詢一些數(shù)據(jù)庫用戶信息、數(shù)據(jù)庫版本等信息。還可以用union關(guān)鍵字來獲取其他信息。通過頁面錯(cuò)誤信息提示得到當(dāng)前數(shù)據(jù)庫名稱、用戶名等關(guān)鍵信息。而且,還可通過多次的報(bào)錯(cuò)測試,逐步獲得多種關(guān)鍵數(shù)據(jù)信息,從而掌握數(shù)據(jù)庫內(nèi)部結(jié)構(gòu)、數(shù)據(jù)庫用戶名等信息,為侵入數(shù)據(jù)提供實(shí)現(xiàn)基礎(chǔ)。

        [BT5]1.2SQL注入攻擊流程

        SQL注入攻擊的基礎(chǔ)流程可概述為:首先,檢測Web登錄頁面中是否有SQL注入漏洞,從而構(gòu)建SQL注入點(diǎn);其次,利用已經(jīng)構(gòu)建的SQL注入點(diǎn)將本該基于頁面獲取的驗(yàn)證參數(shù)通過SQL語句的語法組合傳遞給數(shù)據(jù)庫;然后,經(jīng)過多次試探,陸續(xù)可得到數(shù)據(jù)庫類型、數(shù)據(jù)庫結(jié)構(gòu)、數(shù)據(jù)表信息以及數(shù)據(jù)庫賬號等;最后,則根據(jù)已知信息構(gòu)造并執(zhí)行SQL語句,達(dá)到侵入數(shù)據(jù)庫,獲取數(shù)據(jù)或?qū)嵤?shù)據(jù)更改等目的。研究設(shè)計(jì)步驟可展示如下:

        [HT5”H][ST5”HZ]步驟1[HT5”SS][ST5”BZ]判斷SQL注入點(diǎn)。通常使用的SQL注入點(diǎn)判斷方法可分述為如下2種:

        1)把“”添加到Web提交請求的尾部,再根據(jù)Web頁面反饋的提示信息來判斷該系統(tǒng)所使用的數(shù)據(jù)庫類型是否存在SQL注入漏洞。

        但是,程序設(shè)計(jì)者可以進(jìn)一步通過加入判別規(guī)則而將單引號進(jìn)行過濾,那么將使單引號測試最終失效,從而無法判斷是否存在SQL注入點(diǎn)。

        2)將“and 1=1”或“and 1=2”添加到提交請求的末尾,若添加“and 1=1”的提交請求可以正常返回顯示信息、而添加“and 1=2”的提交請求卻返回出錯(cuò)提示,此時(shí)則說明該Web頁面存在注入漏洞;如果上述2個(gè)判別式均可返回提示信息,如此該Web頁面即是安全的,也就是不存在SQL注入漏洞。

        [HT5”H][ST5”HZ]步驟2[HT5”SS][ST5”BZ]猜測表名和字段名。如果訪問的Web頁面存在注入漏洞,則可以在提交請求語句后加入“and exists (select count(*)from student”,如果頁面執(zhí)行正常,沒有錯(cuò)誤提示,則說明student表是存在的,否則student表不存在,可以更換名稱繼續(xù)測試,直到猜出表名為止。

        如果將Count(*)替換為Count(字段名),則用同樣的方法即可進(jìn)行字段名的探測。

        [HT5”H][ST5”HZ]步驟3[HT5”SS][ST5”BZ]進(jìn)行注入攻擊。當(dāng)已經(jīng)基本了解數(shù)據(jù)庫的內(nèi)部結(jié)構(gòu)后,黑客即可侵入后臺數(shù)據(jù)庫了。那么,這些黑客所需要的并不是DBA(數(shù)據(jù)庫管理員)賬號,而是DBA權(quán)限。當(dāng)掌控了DBA權(quán)限后,據(jù)此將可獲得更高級別的權(quán)限,這樣便可以在Web系統(tǒng)中留下后門、植入木馬等。如果使用sa 連接數(shù)據(jù)庫,則能夠調(diào)用xp_cmdshell 等存儲過程,此時(shí)就可以對應(yīng)用系統(tǒng)、數(shù)據(jù)庫乃至操作系統(tǒng)進(jìn)行修改和控制了。

        [BT4]2SQL注入攻擊檢測技術(shù)

        根據(jù)檢測發(fā)生的時(shí)間和目的差異,SQL注入攻擊檢測可以分成為入侵前檢測和入侵后檢測。具體來說,利用漏洞掃描工具和構(gòu)造SQL注入語句檢測即是入侵前檢測的主要手段,而入侵后檢測的方法則是檢查服務(wù)器日志文件。通常情況下,入侵者在發(fā)動(dòng)SQL注入攻擊后,Web服務(wù)器和數(shù)據(jù)庫服務(wù)器的日志文件都會(huì)存有相應(yīng)的登錄和操作記錄?;诖?,研究探討可知,通過使用如下方法即能改善與增進(jìn)SQL注入漏洞檢測,分析闡釋如下。

        1)利用漏洞掃描工具。常用的漏洞掃描工具有:HDSI、NBSI、Domain、Sqlmap、BSQL Hacker、The Mole、Pangolin(穿山甲)。需要指出的是,這些工具既是網(wǎng)站維護(hù)者可以善加利用的一些檢測工具,同時(shí)卻也是網(wǎng)絡(luò)攻擊者用來攻擊Web服務(wù)器的首選工具。

        2)通過SQL注入點(diǎn),執(zhí)行非法SQL語句。將SQL語句的永真式或永假式追加在Web頁面請求后,根據(jù)頁面執(zhí)行后得到反饋信息來判斷是否存在SQL注入點(diǎn)。對已發(fā)現(xiàn)的SQL注入點(diǎn),通過構(gòu)造and exits(select……)語句進(jìn)行數(shù)據(jù)庫結(jié)構(gòu)判斷。

        3)日志文件檢查。一般情況下,Web應(yīng)用系統(tǒng)遭到入侵后都會(huì)留下相關(guān)操作記錄在日志文件中。通過讀取并分析數(shù)據(jù)庫和Web服務(wù)器的日志文件來判斷系統(tǒng)是否發(fā)生了入侵則是一種行之有效的方法。只是,對于經(jīng)驗(yàn)老到的黑客來說,在實(shí)施入侵后則會(huì)進(jìn)行殘留痕跡的清理。

        4)對訪問請求進(jìn)行檢測。正常的訪問請求不應(yīng)該包含SQL關(guān)鍵字?;谶@一前提,如果在HTTP請求中含有SQL關(guān)鍵詞、特殊字符或者SQL語義的句子,即可初步判定為一次攻擊行為。

        [JP3]使用頻度通常較高的SQL關(guān)鍵字有:select…from、 order by、union、drop table、exp、md5()、case when then、sleep、substring、user()、password()、version()、 substr()、benchmark()、schema()、--等都可以裁斷為SQL注入攻擊行為。 [JP]

        [BT4]3SQL注入攻擊防御技術(shù)

        要做到防御SQL注入攻擊,必須從多個(gè)層面設(shè)計(jì)應(yīng)對策略:第一,從數(shù)據(jù)庫設(shè)計(jì)和數(shù)據(jù)庫管理方面;第二,從Web系統(tǒng)開發(fā)設(shè)計(jì)方面;第三,從Web系統(tǒng)管理維護(hù)方面?,F(xiàn)給出綜合論述如下。

        [BT5]3.1數(shù)據(jù)庫管理防御措施

        使用安全的數(shù)據(jù)庫賬號,嚴(yán)格管控?cái)?shù)據(jù)庫賬號權(quán)限,謹(jǐn)慎分配sa權(quán)限,用于程序連接數(shù)據(jù)庫的用戶使用數(shù)據(jù)庫用戶角色組的成員,同時(shí)嚴(yán)禁使用服務(wù)器角色組成員。

        在數(shù)據(jù)庫服務(wù)器上刪除多余的擴(kuò)展存儲過程,尤其是訪問注冊表的存儲過程。

        DBA要將數(shù)據(jù)庫服務(wù)器上的示例腳本最大限度移除,有效減少冗余腳本數(shù)據(jù)量。

        數(shù)據(jù)庫應(yīng)設(shè)置高強(qiáng)度密碼,提升密碼安全性。

        [BT5]3.2Web系統(tǒng)設(shè)計(jì)防御技術(shù)

        探尋目前安全問題的現(xiàn)象機(jī)理可知,Web系統(tǒng)開發(fā)人員應(yīng)建立全局性的安全意識,在設(shè)計(jì)過程中充分考慮可能出現(xiàn)的安全漏洞,編寫安全代碼,防患于未然。

        在此基礎(chǔ)上,Web程序設(shè)計(jì)者則應(yīng)保證后臺研發(fā)程序能夠具備對用戶提交的訪問請求參數(shù)、pose數(shù)據(jù)、查詢關(guān)鍵字進(jìn)行嚴(yán)格檢測和限制的功能;異常錯(cuò)誤界面可以跳轉(zhuǎn)指定界面,在設(shè)計(jì)上保證不會(huì)將錯(cuò)誤信息暴露給Web系統(tǒng)使用者;而當(dāng)涉及到數(shù)據(jù)庫訪問時(shí),應(yīng)采用加密傳輸,保證絕不使用明文傳遞參數(shù);另外,針對SQL注入攻擊常用方式,應(yīng)嘗試設(shè)立SQL語句的關(guān)聯(lián)構(gòu)建規(guī)則。

        [BT5]3.3系統(tǒng)管理維護(hù)防御措施

        系統(tǒng)管理員應(yīng)及時(shí)更新可為Web系統(tǒng)運(yùn)行提供基礎(chǔ)支持的關(guān)鍵軟件,確保攻擊者無法通過操作系統(tǒng)漏洞進(jìn)行入侵。此外,應(yīng)關(guān)閉相關(guān)對外連接端口,如TCP 1433/UDP 1434。系統(tǒng)管理員還應(yīng)定期檢查系統(tǒng)中用戶密碼,提升密碼強(qiáng)度,建立密碼定期更換的長效機(jī)制。同時(shí),Web系統(tǒng)管員也要定期對Web系統(tǒng)日志引入安全審核,檢查是否存在異常訪問記錄,確保能夠及時(shí)發(fā)現(xiàn)系統(tǒng)安全隱患。

        [BT4]4結(jié)束語

        作者在本文中介紹了SQL注入攻擊的原理和方法、如何檢測SQL注入漏洞、怎樣防御SQL注入攻擊方面的內(nèi)容。通過本文,讀者對SQL注入建立了一個(gè)全面清晰的認(rèn)識,對如何檢測和防御SQL注入攻擊也獲得了基本了解,并掌握了一定的基礎(chǔ)方法及有效防范手段。

        當(dāng)前的時(shí)代是一個(gè)互聯(lián)網(wǎng)時(shí)代。網(wǎng)絡(luò)安全問題既是互聯(lián)網(wǎng)安全問題,也是社會(huì)安全問題。作為網(wǎng)絡(luò)中最為常見的攻擊手段,SQL注入攻擊給互聯(lián)網(wǎng)造成了巨大的破壞,也帶來了難以估量的經(jīng)濟(jì)損失。因而研究實(shí)現(xiàn)有效防御SQL注入攻擊,對于提升Web網(wǎng)絡(luò)系統(tǒng)的安全性無論從經(jīng)濟(jì)、社會(huì)、倫理方面都將具有重要意義。

        參考文獻(xiàn):

        楊章瓊,陳效軍,王濤. SQL注入攻擊淺析[J]. 計(jì)算機(jī)光盤軟件與應(yīng)用, 2012(16):103-104.

        [2] 楊豐嘉. 淺談網(wǎng)站SQL注入攻擊防護(hù)[J]. 計(jì)算機(jī)光盤軟件與應(yīng)用, 2013(13):144.

        [3] 劉秀梅,辛陽,徐勤. SQL注入攻擊及防御方法研究[EB/OL]. [2016-09-21].http://www.paper.edu.cn/releasepaper/content/201609-190.

        [4] 龐博,高杰. 基于ASP.NET的SQL注入攻擊與防范[J]. 輕工科技,2009,25(9):86-87.

        [5] 齊林,王靜云,蔡凌云,等. SQL注入攻擊檢測與防御研究[J]. 河北科技大學(xué)學(xué)報(bào), 2012,33(6):530-533.

        [6] 鄭斌. 黑客攻防入門與進(jìn)階[M]. 北京:清華大學(xué)出版社,2010.[ZK)]

        [FL)]

        [CDF61]

        [HT5”SS][ST5”BZ][WT5”BZ](上接第86頁)

        [FL(2K2]

        [HT5”SS]

        FETCH ABSOLUTE 3 FROM cur_xg--返回第3行并將其變?yōu)楫?dāng)前行

        UPDATE xsxx SET rxnf=2012--更新當(dāng)前行的列值

        WHERE CURRENT OF cur_xg--當(dāng)前游標(biāo)指針?biāo)傅漠?dāng)前行數(shù)據(jù)

        CLOSE cur_xg

        DEALLOCATE cur_xg

        這里需要注意的是,游標(biāo)的第二種應(yīng)用是一種不規(guī)范的更新數(shù)據(jù)的途徑,很容易造成數(shù)據(jù)的不一致,因此通常狀況下并不選用游標(biāo)來設(shè)計(jì)更新數(shù)據(jù)表中的數(shù)據(jù)。

        另外,還需提及的就是,本文實(shí)例所用的數(shù)據(jù)表均基于xxsf(學(xué)校收費(fèi)數(shù)據(jù)庫)中的2個(gè)表,分別是:

        xsxx(rxnf,xh,xm,xb,ksh,sfz,zydm,zsid)

        zysf(zydm,zymc,lsyx,pycc,xxnx,xfbz,jcfbz)

        [BT4]5結(jié)束語

        SQL Server中的游標(biāo)在原理上具有C語言指針一樣的語言結(jié)構(gòu),相應(yīng)地則設(shè)計(jì)提供了一種在服務(wù)器內(nèi)部處理結(jié)果集的方法。使用游標(biāo)可以通過遍歷操作逐一地從結(jié)果集中實(shí)現(xiàn)數(shù)據(jù)讀取,也可以對結(jié)果集中某些數(shù)據(jù)重點(diǎn)加設(shè)更新或刪除的操作。本文以學(xué)校收費(fèi)數(shù)據(jù)庫為背景并結(jié)合具體的實(shí)例來闡述游標(biāo)的使用,游標(biāo)可以面向結(jié)果集中的每一行進(jìn)行相同或不同的操作,這不僅提升了SQL語句處理復(fù)雜查詢的能力,而且還降低了系統(tǒng)開銷和潛在的阻隔情況,在一定程度上解決了許多應(yīng)用程序不能把整個(gè)結(jié)果集作為一個(gè)單元來處理的問題。

        [HS1*2][HT5H]參考文獻(xiàn):[HT]

        [WTBZ][ST6BZ][HT6SS][1] [ZK(#〗

        [HJ*2]

        趙慧玲,毛應(yīng)爽,孟憲穎. 基于SQL游標(biāo)的研究與應(yīng)用[J]. 科技創(chuàng)新導(dǎo)報(bào),2012(28):31-32.

        [2] 劉志成,寧云智,劉釗,編著. SQL Server實(shí)例教程[M]. 北京:電子工業(yè)出版社,2013.

        [3] 薛麗香,汪東芳. 淺談SQL Server數(shù)據(jù)庫中游標(biāo)的使用[J]. 福建電腦,2016(6):157-158.

        [4] 陳芳勤. SQL Server 2000中游標(biāo)的應(yīng)用[J]. 中國科技信息,2008(13):96,99.

        [5] 黃龍軍. 游標(biāo)在Online Judge中的應(yīng)用[J]. 紹興文理學(xué)院學(xué)報(bào)(自然科學(xué)),2012,32(8):26-29.[ZK)]

        [FL)]

        麻神在线观看免费观看| 无码成人片一区二区三区| 亚洲av成人在线网站| 午夜男女视频一区二区三区| 中文字幕午夜精品一区二区三区| av素人中文字幕在线观看| 久久国产免费观看精品3| 欧美aa大片免费观看视频| 国内视频偷拍一区,二区,三区| 人妻风韵犹存av中文字幕 | 荡女精品导航| 国产午夜亚洲精品不卡免下载| 久久久免费精品国产色夜| av影片在线免费观看| 99久久精品午夜一区二区| 亚洲av日韩av不卡在线观看| 亚洲色图视频在线观看网站 | 在线看片免费人成视频久网下载| 欧美精品偷自拍另类在线观看| 少妇特殊按摩高潮惨叫无码| 国产一区二区三区小向美奈子| 国产一区二区三区精品免费av| 色爱无码av综合区| 亚洲国产精品久久久久久久| 亚洲国产精品一区二区第一| 男女做那个视频网站国产| 女人高潮久久久叫人喷水| 国产精品嫩草影院av| 国产va在线播放| 白色白色视频在线观看| 亚洲啪啪视频一区二区| 欧美人妻日韩精品| 精品亚洲国产探花在线播放| 一区二区三区精品偷拍| 五月天中文字幕日韩在线| 亚洲国产天堂久久综合| 麻豆精产国品| 国产精品三级自产拍av| 97精品人妻一区二区三区在线| 不卡一卡二卡三乱码免费网站| 中文字幕影片免费在线观看|