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

        ?

        web安全之SQL注入漏洞及其防御

        2017-11-17 05:04:38羅麗紅楊華瓊
        關(guān)鍵詞:漏洞語(yǔ)句頁(yè)面

        ◆羅麗紅 柯 靈 楊華瓊

        (重慶電訊職業(yè)學(xué)院 重慶 402247)

        web安全之SQL注入漏洞及其防御

        ◆羅麗紅 柯 靈 楊華瓊

        (重慶電訊職業(yè)學(xué)院 重慶 402247)

        隨著基于web2.0的互聯(lián)網(wǎng)應(yīng)用的廣泛使用,web的安全問(wèn)題也日益突顯,根據(jù)OWASP的2013和2017的調(diào)查,其中注入攻擊一直排名第一。本文意在對(duì)SQL注入的常用方法進(jìn)行列舉,系統(tǒng)的分析了SQL注入的原理,從而對(duì)SQL注入漏洞提出了一些基本的防御策略。

        SQL注入;web安全;防御

        0 引言

        在web2.0時(shí)代,基于web的互聯(lián)網(wǎng)應(yīng)用越來(lái)越廣泛,比如大家熟知的百度百科、博客、土豆網(wǎng)等,除這些應(yīng)用之外企業(yè)在信息化過(guò)程中的各種應(yīng)用也都架設(shè)在了web平臺(tái)上。伴隨著Web業(yè)務(wù)的迅速發(fā)展,web的安全問(wèn)題也凸顯了出來(lái),其中黑客會(huì)利用web服務(wù)程序的SQL注入漏洞得到web服務(wù)器的控制權(quán)限,進(jìn)行一系列非法操作,對(duì)系統(tǒng)和用戶(hù)信息造成威脅。根據(jù)OWASP于2017年公布的Web應(yīng)用程序最可能、最常見(jiàn)、最危險(xiǎn)的十大漏洞的排名注入攻擊漏洞排在首位。

        1 介紹web攻擊手段之一SQL注入

        什么是SQL注入漏洞?指的是利用現(xiàn)有應(yīng)用程序,將惡意的SQL命令拼接到字符串中,然后插入到web表單提交或輸入域名或頁(yè)面請(qǐng)求的查詢(xún)字符串中,欺騙服務(wù)器執(zhí)行惡意的SQL命令,從而得到攻擊者想要的信息。

        首先為了 IE瀏覽器能提示更多的服務(wù)器錯(cuò)誤信息,第一步需要把internet選項(xiàng)高級(jí)設(shè)置中“顯示友好HTTP錯(cuò)誤信息”前的勾去掉。

        1.1 檢測(cè)是否存在SQL注入:在網(wǎng)站URL后面加上單引號(hào)’

        在網(wǎng)站 URL后面加上單引號(hào)后,比如輸入:www.***.com?id=1’,這樣就在URL中傳遞了變量id,并提供了值1,這樣就嵌入了惡意的SQL語(yǔ)句,對(duì)數(shù)據(jù)庫(kù)進(jìn)行了動(dòng)態(tài)請(qǐng)求,服務(wù)器會(huì)返回錯(cuò)誤的提示信息,如:“Microsoft JET Database Engine 錯(cuò)誤 '80040e14',字符串的語(yǔ)法錯(cuò)誤,在查詢(xún)表達(dá)式'id=1'' 中。/showdetail.asp,行10”。從該錯(cuò)誤提示信息中可以得出:(1)該網(wǎng)站用的是 JET引擎連接的數(shù)據(jù)庫(kù),而不是 JDBC或 ODBC,所以使用的是 access數(shù)據(jù)庫(kù);(2)該網(wǎng)站沒(méi)有對(duì)客戶(hù)提交的參數(shù)進(jìn)行過(guò)濾,存在注入;(3)表中存在“id”字段名。

        從上面服務(wù)器的錯(cuò)誤提示可以看出,可以從客戶(hù)端提交的特殊代碼,收集提示信息,得到想得到的資料,這就是SQL注入的原理。

        1.2 檢測(cè)是否存在SQL注入:在網(wǎng)站URL后面分別加上1=1或1=2

        不管是數(shù)字型、字符型還是搜索型注入都可以通過(guò)輸入不同的字符后利用 Web頁(yè)面返回的信息判斷是否存在注入漏洞。下面舉的是當(dāng)存在數(shù)字型注入的情況下的例子:從原有網(wǎng)站“www.***.com?id=1”展示的 URL信息,可知該網(wǎng)站使用了 id這個(gè)字段,并且有1這個(gè)字段值。然后再在瀏覽器的地址欄中分別輸入www.***.com?id=1 and 1=1、www.***.com?id=1 and 1=2,如果輸入前種URL頁(yè)面返回正常,加上1=2之后網(wǎng)站報(bào)錯(cuò),此時(shí)可以判斷該系統(tǒng)存在SQL注入漏洞。

        因?yàn)樵诤竺婕由稀癮nd 1=1”后,原來(lái)的查詢(xún)語(yǔ)句可能是這樣的“select * from 表名 where id=1 and 1=1”,由于1=1條件成立,所以執(zhí)行且頁(yè)面返回正常。在后面加上“and 1=2”,原來(lái)的查詢(xún)語(yǔ)句可能是這樣的“select * from 表名 where id=1 and 1=2”,因?yàn)?=2條件不成立,所以會(huì)導(dǎo)致頁(yè)面加載出錯(cuò)。

        1.3 根據(jù)獲得的信息得到關(guān)鍵字段的值

        根據(jù)頁(yè)面反饋信息猜測(cè)得到注入數(shù)據(jù)類(lèi)型、表名、字段名后,再利用SQL語(yǔ)句得出關(guān)鍵字段的值。先利用order by語(yǔ)句來(lái)判斷字段的長(zhǎng)度,如果臨界值為7,則在頁(yè)面注入 order by 7時(shí)則會(huì)報(bào)錯(cuò),從而猜測(cè)列數(shù)為6。再向URL欄注入“and 1=2 union select 1,2,3,4,5,6”后會(huì)將數(shù)據(jù)庫(kù)的列顯露在網(wǎng)頁(yè)上。注 select后面跟的列要與通過(guò)order by猜出的列一致。再利用報(bào)錯(cuò)字段查看數(shù)據(jù)庫(kù)名等基本信息。

        2 防止SQL注入的有效方法

        為了減少SQL注入漏洞帶來(lái)的損失,應(yīng)采取有效的方法來(lái)防御SQL注入漏洞。

        2.1 對(duì)數(shù)據(jù)庫(kù)的報(bào)錯(cuò)信息進(jìn)行處理

        當(dāng)進(jìn)行惡意的SQL查詢(xún)時(shí),黑客會(huì)嘗試在SQL注入時(shí)構(gòu)造一些查詢(xún)語(yǔ)句,使進(jìn)行查詢(xún)時(shí)出現(xiàn)語(yǔ)法或邏輯上的錯(cuò)誤,這些查詢(xún)出錯(cuò)的信息往往是切入點(diǎn),會(huì)提供給黑客大量信息,所以需要對(duì)這些錯(cuò)誤進(jìn)行處理,避免網(wǎng)站顯示類(lèi)似下面的這些信息,如:類(lèi)型錯(cuò)誤、字段不匹配等,防止攻擊者利用這些錯(cuò)誤信息進(jìn)行一些判斷。

        2.2 采用參數(shù)化查詢(xún)防御SQL注入

        將SQL語(yǔ)句預(yù)編譯并綁定變量,如下代碼所示,將id后面的參數(shù)預(yù)先編譯好,參數(shù)化的語(yǔ)句使用參數(shù)而不是將用戶(hù)輸入變量嵌入到SQL語(yǔ)句中,則不管輸入什么參數(shù)都無(wú)法改變本身的語(yǔ)法結(jié)構(gòu)。

        2.3 對(duì)用戶(hù)輸入內(nèi)容進(jìn)行限制

        對(duì)用戶(hù)輸入的內(nèi)容進(jìn)行限制,限制用戶(hù)提交非法數(shù)據(jù),確保數(shù)據(jù)合法??梢圆捎脤?duì)數(shù)據(jù)類(lèi)型進(jìn)行驗(yàn)證或用正則表達(dá)式來(lái)驗(yàn)證輸入。

        比如特殊字符:’”<>&*;等都具有特殊的意義,最常見(jiàn)的SQL注入的特殊符是單引號(hào),因?yàn)閱我?hào)是作為代碼與用戶(hù)輸入數(shù)據(jù)的字符串分隔符,單引號(hào)內(nèi)部的內(nèi)容是用戶(hù)輸入的數(shù)據(jù),外部為SQL代碼。在URL欄或提交參數(shù)的表單中,如果沒(méi)有加入過(guò)濾特殊字符的代碼,并沒(méi)有對(duì)數(shù)據(jù)庫(kù)拋出異常進(jìn)行處理,則數(shù)據(jù)庫(kù)遇到單引號(hào)注入后,會(huì)認(rèn)為是語(yǔ)法錯(cuò)誤,并拋出錯(cuò)誤提示,對(duì)經(jīng)驗(yàn)豐富的黑客來(lái)講這些信息往往是具有價(jià)值的。

        比如清除掉所有特殊字符的正則表達(dá)式:

        3 總結(jié)

        SQL注入漏洞從1998年被發(fā)現(xiàn)后,直到現(xiàn)在還仍然會(huì)對(duì)web應(yīng)用的安全產(chǎn)生極大危害。OWASP在2017年公布的十大最流行web安全漏洞中注入漏洞居榜首,這就更加證實(shí)了這一點(diǎn)。本文列舉了SQL注入的常用方法,分析了注入原理,并給出了三點(diǎn)建設(shè),希望能降低SQL注入漏洞攻擊的概率。

        [1] Bitcarmanlee.Web安全之 SQL 注入攻擊技巧與防范[EB/OL].(2016-03-01)[2017-01-09].http://blog.csdn. net/bitcarmanlee/article/details/50945437. Bitcarmanlee.Web Security SQL Injection Attack Skills and Prevention[EB/OL].(2016-03-01)[2017-01-09]. http://blog.csdn.net/bitcarmanlee/article/ details/50945437.

        [2] 吳為團(tuán),鄭海燕,張銳麗.基于 Web應(yīng)用程序的 SQL注入攻擊和防范[C].中國(guó)通信學(xué)會(huì)學(xué)術(shù)年會(huì),2015.

        [3] 馬俊,段興林.Web應(yīng)用系統(tǒng)中SQL注入的分析與預(yù)防[J].信息技術(shù),2015.

        [4] 魏星.基于手工SQL注入的web滲透測(cè)試技術(shù)研究[D].山西:中北大學(xué),2015.

        猜你喜歡
        漏洞語(yǔ)句頁(yè)面
        大狗熊在睡覺(jué)
        漏洞
        刷新生活的頁(yè)面
        重點(diǎn):語(yǔ)句銜接
        精彩語(yǔ)句
        三明:“兩票制”堵住加價(jià)漏洞
        漏洞在哪兒
        高鐵急救應(yīng)補(bǔ)齊三漏洞
        如何搞定語(yǔ)句銜接題
        同一Word文檔 縱橫頁(yè)面并存
        高潮潮喷奶水飞溅视频无码| 手机av男人天堂免费网址| 国产av精品一区二区三区不卡| 日韩亚洲精品国产第二页| 久久国产亚洲高清观看| 色综合久久久久久久久五月| 无码视频一区=区| 新久久国产色av免费看| 中国午夜伦理片| 激情久久av一区av二区av三区| 91福利国产在线观看网站| 亚洲av本道一本二本三区 | 久久国产36精品色熟妇| 亚洲精品国产福利在线观看 | 91精品国产一区国产二区久久| 妺妺窝人体色www聚色窝| 日韩欧美区| 亚洲av第一区综合激情久久久| 国产精品一区二区三区在线蜜桃| 精品少妇一区二区三区免费观| 欧美日本国产三级在线| 91九色国产在线观看| 无码专区人妻系列日韩精品| 国产精品久久久久久影视| 99热国产在线| 免费看片的网站国产亚洲| 亚洲欧美牲交| 日韩毛片在线| 玩弄丝袜美腿超短裙校花| 成年av动漫网站18禁| 亚洲永久无码7777kkk| 夜夜揉揉日日人人青青| 久久精品日韩av无码| 成人免费视频自偷自拍| 校园春色人妻激情高清中文字幕| 久久aⅴ人妻少妇嫩草影院| 免费精品美女久久久久久久久久| 国产av一啪一区二区| 人人摸人人搞人人透| 日韩亚洲欧美中文高清在线| 色妞一区二区三区免费视频|