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

        ?

        從軟件開發(fā)角度談SQL注入攻擊的防范

        2012-04-29 03:10:09姜子罡張一光藺蜀梁成崗
        科技創(chuàng)新導(dǎo)報(bào) 2012年12期
        關(guān)鍵詞:明文漏洞應(yīng)用程序

        姜子罡 張一光 藺蜀 梁成崗

        SQL注入攻擊分析應(yīng)用程序的編碼,在發(fā)現(xiàn)數(shù)據(jù)庫的漏洞之后,通過提交SQL的查詢密碼給服務(wù)器,得到Web頁面返回的數(shù)據(jù),根據(jù)這得到的結(jié)果,從而利用漏洞獲得數(shù)據(jù)庫中的重要關(guān)鍵性的數(shù)據(jù)或者相應(yīng)的權(quán)限。而這種注入攻擊的手段通常都是從正常的端口進(jìn)入,所以防火墻通常不會對其做出有效的反映,只有在事后通過IIS管理日志的分析才能發(fā)現(xiàn)。當(dāng)下很多的中小型的網(wǎng)站主要就是利用托管的方式管理,因而采用分析日志的方式來對SQL注入攻擊進(jìn)行防范是不太現(xiàn)實(shí)的,如果一定要做出防范,需要在程序設(shè)計(jì)的過程中做出專門的處理。本文主要對SQL注入攻擊進(jìn)行相關(guān)的論述,除了介紹了一些特定的常見的步驟和手段之外,還主要從開發(fā)軟件的角度介紹了相應(yīng)的方法。

        1 SQL注入攻擊的手段和步驟介紹

        1.1 步驟簡介

        通過上面的介紹我們對SQL注入攻擊有了一定的了解,無論在步驟還是手段的方面都有了一個(gè)粗略的認(rèn)識,下面我們來細(xì)致的講述下這種攻擊方式的步驟:

        a.事先編輯好特殊的SQL語言,然后利用這種語句去尋找注入放面的漏洞;

        b.利用發(fā)現(xiàn)的注入漏洞來嘗試著進(jìn)入數(shù)據(jù)庫,從而有效的獲取數(shù)據(jù)庫中的關(guān)鍵信息;

        c.利用上面發(fā)現(xiàn)的數(shù)據(jù)庫中的關(guān)鍵信息,通過對其進(jìn)行仔細(xì)的分析,從而獲得管理員的相關(guān)權(quán)限為sa,為后續(xù)的攻擊做好準(zhǔn)備。實(shí)施直接控制;以SQL Server 2000為例,如果實(shí)施注入攻擊的數(shù)據(jù)庫是SQL Server 2000,且數(shù)據(jù)庫用戶為sa,則可以直接添加管理員賬號、開放3389遠(yuǎn)程終端服務(wù)、生成文件等命令。

        d.間接進(jìn)行控制。間接控制主要是指通過SQL注入點(diǎn)不能執(zhí)行DOS等命令,只能進(jìn)行數(shù)據(jù)字段內(nèi)容的猜測。在Web應(yīng)用程序中,為了方便用戶的維護(hù),一般都提供了后臺管理功能,其后臺管理驗(yàn)證用戶和口令都會保存在數(shù)據(jù)庫中,通過猜測可以獲取這些內(nèi)容,如果獲取的是明文的口令,則可以通過后臺中的上傳等功能上傳網(wǎng)頁木馬實(shí)施控制,如果口令是明文的,則可以通過暴力破解其密碼。

        1.2 SQL常用的攻擊手段介紹

        SQL注入攻擊漏洞的手段的有很多,下面我們主要介紹幾種常見的:

        a.可以在查詢網(wǎng)址的尾部加入“and 1=1”,“and 1=2”等,從而構(gòu)成查詢的語句,然后通過頁面最終返回的結(jié)果判斷是否存在SQL相關(guān)的注入漏洞;

        b.通過在查詢請求URL尾部添加數(shù)據(jù)庫中內(nèi)置變量判斷的語句的方式,然后根據(jù)頁面返回的結(jié)果來得到關(guān)鍵的信息。例如:user就是Server內(nèi)置的變量,在URL的尾部加上and user>0,那么返回的頁面就可能返回正確的user名稱;

        c.在存儲的其間通過調(diào)用系統(tǒng)命令的方式在查詢URL的尾部注入。例如:可以在URL的尾部添加:exec master..xp__cmd shell“net user name passwordadd”。這就相當(dāng)于是利用net的命令新建了一個(gè)密碼為password和用戶名為name的帳號。

        2 從軟件開發(fā)的角度來介紹防范SQL注入攻擊的方法

        在設(shè)計(jì)程序的過程中,需要嚴(yán)格對用戶輸入進(jìn)行合法性的檢查,采用存儲過程對輸入值進(jìn)行有效的處理,制定合理有效的錯(cuò)誤返回策略,以及在數(shù)據(jù)庫設(shè)計(jì)時(shí)對命名的規(guī)范都可以有效的防范或者避免SQL注入攻擊Web應(yīng)用程序。

        2.1 SQL注入攻擊一般的防范方法

        (1)在服務(wù)端正式處理之前對提交數(shù)據(jù)的合法性進(jìn)行檢查;(2)封裝客戶端提交信息;(3)替換或刪除敏感字符/字符串;(4)屏蔽出錯(cuò)信息。(5)不要用字串連接建立SQL查詢,而使用SQL變量,因?yàn)樽兞坎皇强梢詧?zhí)行的腳本;(6)目錄最小化權(quán)限設(shè)置,給靜態(tài)網(wǎng)頁目錄和動(dòng)態(tài)網(wǎng)頁目錄分別設(shè)置不同權(quán)限,盡量不給寫目錄權(quán)限;(7)修改或者去掉Web服務(wù)器上默認(rèn)的一些危險(xiǎn)命令,例如ftp、cmd、wscript等,需要時(shí)再復(fù)制到相應(yīng)目錄;(8)數(shù)據(jù)敏感信息非常規(guī)加密,通過在程序中對口令等敏感信息加密都是采用md5函數(shù)進(jìn)行加密,即密文=md5(明文),本文推薦在原來的加密的基礎(chǔ)上增加一些非常規(guī)的方式,即在md5加密的基礎(chǔ)上附帶一些值,如密文=md5(md5(明文)+123456)。

        2.2 檢查用戶輸入的合法性

        SQL注入攻擊的手段無非就是通過篡改用戶的關(guān)鍵信息,因而我們?nèi)绻苊饣蛘叻婪蹲⑷牍舻脑?就必須對特殊的字符,例如;單引號、分號、雙引號、逗號、連接號、冒號等等進(jìn)行有效的過濾或者轉(zhuǎn)換,與此同時(shí)需要對用戶輸入字符才長度進(jìn)行有效的限制。另外利用存儲過程的方式對輸入值進(jìn)行處理,通過存儲過程可以將查詢的URL輸入值進(jìn)行參數(shù)化,而數(shù)據(jù)庫的服務(wù)器可以有效的避免將參數(shù)的內(nèi)容作為SQL的指令進(jìn)行處理,只有在數(shù)據(jù)庫對SQL的指令完成編譯之后,才會套用參數(shù)進(jìn)行運(yùn)行,這樣可以有效的避免SQL注入攻擊的風(fēng)險(xiǎn)。

        2.3 制定合理有效的錯(cuò)誤返回策略

        由于SQL的錯(cuò)誤反饋信息可以有效的透露數(shù)據(jù)庫設(shè)計(jì)的某些細(xì)節(jié),因而需要注意的就是當(dāng)應(yīng)用程序發(fā)生錯(cuò)誤的時(shí)候,盡量不要將錯(cuò)誤的信息全部反饋給用戶,通常情況下正確而有效的做法就是對發(fā)生錯(cuò)誤的頁面進(jìn)行一定的包裝,根據(jù)用戶的權(quán)限來向用戶展示錯(cuò)誤的信息,如果沒有管理員的權(quán)限,可以僅僅提示是SQL發(fā)生了錯(cuò)誤的運(yùn)行。

        2.4 在數(shù)據(jù)庫設(shè)計(jì)的過程中要注意規(guī)范化命名

        軟件工程師或者數(shù)據(jù)庫的編譯者在對數(shù)據(jù)庫進(jìn)行設(shè)計(jì)時(shí),應(yīng)該避免利用日常詞匯對數(shù)據(jù)庫的字段和表進(jìn)行任意的命名,例如:name,systeminfo,password,useld,account等等,SQL注入攻擊通常就會對這些關(guān)鍵的詞匯進(jìn)行尋找,通過發(fā)現(xiàn)其是否存在,然后發(fā)現(xiàn)尋找相應(yīng)的漏洞。因而在數(shù)據(jù)庫設(shè)計(jì)的時(shí)候一定要遵循相應(yīng)的設(shè)計(jì)原則,適當(dāng)?shù)脑黾幼侄魏捅淼那昂缶Y,使得命名更加的合理。

        3 總論

        由于Web的應(yīng)用程序開發(fā)的門檻比較低,所以有很多的初學(xué)者尚未對整體的知識進(jìn)行了解就盲目的開發(fā)程序,或者一部分的程序設(shè)計(jì)人員、軟件工程師即使擁有了很豐富的設(shè)計(jì)知識,但是頭腦中對網(wǎng)絡(luò)安全的概念和設(shè)計(jì)經(jīng)驗(yàn)的匱乏,使得他們開發(fā)設(shè)計(jì)出的軟件有很多的安全隱患,一旦受到SQL的注入攻擊就無力招架,甚至癱瘓,因而我們需要做的就是在日常的數(shù)據(jù)或者程序開發(fā)過程中主動(dòng)進(jìn)行防范,這樣不僅可以提升自身的安全意識,也可以增強(qiáng)網(wǎng)站的安全系數(shù),保證網(wǎng)站安全而有效的運(yùn)行。

        參考文獻(xiàn)

        [1] 李元鵬.SQL注入攻擊掃描分析工具的實(shí)現(xiàn)與攻擊防范技術(shù)研究[D].北京交通大學(xué),2010.

        [2] 李小花.基于程序分析的SQL注入防御系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].湖南大學(xué),2010.

        猜你喜歡
        明文漏洞應(yīng)用程序
        漏洞
        刪除Win10中自帶的應(yīng)用程序
        奇怪的處罰
        三明:“兩票制”堵住加價(jià)漏洞
        漏洞在哪兒
        奇怪的處罰
        四部委明文反對垃圾焚燒低價(jià)競爭
        高鐵急救應(yīng)補(bǔ)齊三漏洞
        關(guān)閉應(yīng)用程序更新提醒
        電腦迷(2012年15期)2012-04-29 17:09:47
        波多野结衣一区二区三区高清| 少妇人妻无一区二区三区| 精品国产一区二区三区av免费| 中国杭州少妇xxxx做受| 狼人香蕉香蕉在线28 - 百度| 国产手机在线αⅴ片无码观看| 不卡无毒免费毛片视频观看| 久久久国产视频久久久| 二区三区日本高清视频| 无码国产精品一区二区免费式芒果| 曰本人做爰又黄又粗视频| 99亚洲精品久久久99| 亚洲无码毛片免费视频在线观看| 白白色日韩免费在线观看| 国产一区二区三区四色av| 少女韩国电视剧在线观看完整| 无遮无挡爽爽免费视频| 久久一日本道色综合久久大香| 国产精品亚洲一区二区三区妖精| 风韵人妻丰满熟妇老熟女视频| 男女做爰高清免费视频网站| 少妇无码一区二区三区| 中文字幕无码免费久久9一区9 | 日韩精品成人一区二区在线观看 | 国产av一级片在线观看| 国产福利永久在线视频无毒不卡| 内射中出无码护士在线| 免费在线日韩| 一卡二卡国产av熟女| 亚洲小说区图片区色综合网| 国语自产偷拍精品视频偷| 伊人亚洲综合网色AV另类| 亚洲av无码1区2区久久| 成人在线免费视频亚洲| 亚洲av区一区二区三区| 国产亚洲精品久久午夜玫瑰园| 亚洲av无码一区二区乱孑伦as | 亚洲一区二区三区精品久久| 日韩精品国产精品亚洲毛片| 妺妺窝人体色777777| 国产一区二区三精品久久久无广告|