999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于B/S系統(tǒng)的SQL注入防御技術(shù)研究

2020-03-16 03:17:39吳濤張俊
電腦知識(shí)與技術(shù) 2020年2期

吳濤 張俊

摘要:隨著互聯(lián)網(wǎng)的發(fā)展,基于 Web 服務(wù)器語(yǔ)言和后臺(tái)數(shù)據(jù)庫(kù)模式的網(wǎng)站存在安全性問題,其中SQL注入數(shù)據(jù)庫(kù)是最具威脅B/S系統(tǒng)漏洞的攻擊。該文分析了SQL注入原理及特點(diǎn),研究了預(yù)防 SQL注入的攻擊方法,針對(duì)B/S系統(tǒng)的特點(diǎn),提出了字段檢查、注入測(cè)試、服務(wù)器加固、綁定變量和禁止字符串拼接等SQL注入的防治手段,對(duì)預(yù)防SQL注入提供了有效的方法,增加了B/S系統(tǒng)的安全性。

關(guān)鍵詞:SQL注入;B/S架構(gòu);WEB安全

中圖分類號(hào):TP393? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1009-3044(2020)02-0007-02

Abstract: with the development of Internet, there are security problems in Web sites Based on Web server language and background database mode, among which SQL injection database is the most dangerous attack to B/S system vulnerability. This paper analyzes the principle and characteristics of SQL injection, studies the methods to prevent SQL injection. According to the characteristics of B/S system, it puts forward the prevention measures of SQL injection, such as field check, injection test, server reinforcement, binding variables and forbidding string splicing. It provides an effective method to prevent SQL injection and increases the security of B/S system.

Key words: SQL injection; B/S architecture; Web Security

由于網(wǎng)絡(luò)的快速發(fā)展,B/S系統(tǒng)的功能越來越強(qiáng)大。B/S系統(tǒng)通過瀏覽器即可進(jìn)行訪問,十分便捷。同時(shí)B/S系統(tǒng)也伴隨著各方面的安全性問題,其中SQL注入是一個(gè)很敏感的漏洞,其特點(diǎn)是在用戶輸入或者信息上傳時(shí),將惡意數(shù)據(jù)或者代碼上傳到 WEB 應(yīng)用系統(tǒng)中,導(dǎo)致系統(tǒng)崩潰、獲取敏感信息等惡劣行為。SQL 注入攻擊的技術(shù)門檻低、隱蔽性強(qiáng)、危害性大、殺毒軟件也無法查殺,一旦若獲取網(wǎng)站 Web Shell 權(quán)限,便可上傳網(wǎng)頁(yè)木馬、控制整站等違法操作。本文針對(duì)SQL注入原理及特點(diǎn),提出了字段檢查、注入測(cè)試、服務(wù)器加固和綁定變量等有效的防治手段,旨在增強(qiáng)B/S系統(tǒng)的安全性。

1 SQL注入的原理和方法

SQL注入就是通過輸入域或頁(yè)面請(qǐng)求的查詢字符串,欺騙服務(wù)器執(zhí)行惡意的SQL命令[1],從而獲得數(shù)據(jù),對(duì)數(shù)據(jù)庫(kù)進(jìn)行破壞等操作,最終達(dá)到控制整個(gè)服務(wù)器的目的。典型的SQL注入分為兩類,分別是數(shù)據(jù)庫(kù)平臺(tái)注入和應(yīng)用層注入(WEB應(yīng)用層)。數(shù)據(jù)庫(kù)平臺(tái)注入往往是存在惡意攻擊數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)平臺(tái)的注入就需要數(shù)據(jù)庫(kù)管理人員(DBA)對(duì)數(shù)據(jù)進(jìn)行全方位的管理,包括數(shù)據(jù)庫(kù)的配置,數(shù)據(jù)庫(kù)權(quán)限的管理等等,能夠在數(shù)據(jù)庫(kù)層面有效地杜絕SQL的注入;平臺(tái)注入就是典型的進(jìn)行發(fā)送請(qǐng)求字符串,構(gòu)成一些特殊的SQL語(yǔ)句(例如“selecr * from Student where from password = ‘xxx ‘ or 1 = 1”等),從而進(jìn)行系統(tǒng)的破壞或者獲得非法數(shù)據(jù)。由于SQL注入的信息和普通用戶訪問的方式一模一樣,難以防御,所以SQL注入也成為B/S系統(tǒng)一個(gè)很嚴(yán)重的安全問題。典型的輸入域和請(qǐng)求查詢的時(shí)機(jī)如表1所示。

2 SQL注入的防治手段

2.1 進(jìn)行字段檢查

SQL注入時(shí)使用一些特殊的字符去拼接服務(wù)器后臺(tái)的SQL語(yǔ)句,常見是字符串拼接如表2所示。為了防止這種字符串的拼接,增加信息的安全性,我們可以對(duì)異常注入的信息建立一個(gè)云計(jì)算庫(kù),并定期對(duì)庫(kù)中的數(shù)據(jù)進(jìn)行管理、升級(jí)等等。從而到達(dá)數(shù)據(jù)的及時(shí)性。當(dāng)我們?cè)趫?zhí)行SQL語(yǔ)句的時(shí)候。自動(dòng)在庫(kù)中進(jìn)行匹配。若發(fā)現(xiàn)相似度高的、可疑的。發(fā)現(xiàn)問題及時(shí)進(jìn)行反饋[2]。匹配具體流程如圖1所示。

2.2 進(jìn)行大規(guī)模的注入測(cè)試

SQL注入典型的攻擊有盲目注入,建表操作,跨表操作。對(duì)于盲目注入[3],就是攻擊對(duì)象去惡意猜測(cè)服務(wù)器端的錯(cuò)誤,用一些可能錯(cuò)誤的代碼進(jìn)行大量測(cè)試,最終達(dá)到竊取服務(wù)器數(shù)據(jù)的問題。盲目注入又分為布爾盲注,時(shí)間盲注,延時(shí)盲注等,我們可以針對(duì)不同的盲注方式[4],在程序上線之前,對(duì)程序進(jìn)行嚴(yán)格的測(cè)試,以便發(fā)現(xiàn)問題并解決問題。

2.3 對(duì)數(shù)據(jù)庫(kù)服務(wù)器進(jìn)行加固

對(duì)數(shù)據(jù)庫(kù)服務(wù)器端進(jìn)行加固,增加服務(wù)器的防火墻水平,對(duì)不同的用戶進(jìn)行不同的權(quán)限受理[5],這樣,一般的用戶就只能看到自己權(quán)限范圍內(nèi)的數(shù)據(jù),當(dāng)用戶進(jìn)行越級(jí)操作的時(shí)候,設(shè)置觸發(fā)機(jī)制,及時(shí)進(jìn)行反饋,檢查是否出現(xiàn)SQL注入問題。提高數(shù)據(jù)庫(kù)的日志記錄級(jí)別,把日志記錄保存到獨(dú)立的物理磁盤上面,定期進(jìn)行檢查,發(fā)現(xiàn)疑似問題及時(shí)進(jìn)行修復(fù)。

2.4 綁定變量

當(dāng)我們大規(guī)模使用SQL語(yǔ)句的時(shí)候,一條一條的SQL語(yǔ)句這樣的執(zhí)行,顯然就不滿足效率的要求了,我們可以對(duì)一段SQL語(yǔ)句進(jìn)行“聚集”化的操作,使一段SQL語(yǔ)句編程一個(gè)整體,就是綁定變量的方法,執(zhí)行的時(shí)候,就是一次性執(zhí)行完畢,這種方法雖然在一定程度上防止了SQL注入的風(fēng)險(xiǎn)。但是這種方式也存在一些弊端,額外的編碼過程就顯得十分的繁重,但是能夠避免SQL的安全性問題,應(yīng)該進(jìn)行權(quán)衡,在進(jìn)行綁定變量的操作。

2.5 禁止使用字符串的拼接

數(shù)據(jù)庫(kù)中有兩種傳值符號(hào),一種是$(),作用是在進(jìn)行字符串拼接后,再由數(shù)據(jù)庫(kù)進(jìn)行編譯,通常使用JDBC中的Starement對(duì)象來進(jìn)行語(yǔ)句的執(zhí)行,在數(shù)據(jù)庫(kù)平臺(tái)中,對(duì)特殊字符的防范是很弱的,一旦變量進(jìn)入了數(shù)據(jù)庫(kù)系統(tǒng),很大程度上增加了SQL注入的風(fēng)險(xiǎn);一種是#(),這種被稱為占位符,在進(jìn)行數(shù)據(jù)庫(kù)訪問的時(shí)候,先把SQL語(yǔ)句中需要拼接的字段通過特殊符號(hào)進(jìn)行占位,然后進(jìn)行數(shù)據(jù)庫(kù)的預(yù)編譯,預(yù)編譯完成之后,在對(duì)相應(yīng)字段進(jìn)行字符串的拼接,注入?yún)?shù)后,就不會(huì)在對(duì)SQL進(jìn)行編譯。通常配合JDBC中的prepareStatement來進(jìn)行預(yù)編譯;在數(shù)據(jù)庫(kù)的操作中,應(yīng)該禁止$()的使用,能夠有效地預(yù)防SQL的注入;#()和$()的區(qū)別如表3所示;

3 結(jié)束語(yǔ)

隨著B/S架構(gòu)的快速發(fā)展,服務(wù)器的安全性也顯得越來越重要,SQL注入可以繞過殺毒軟件的查殺,如果不增加特別的防護(hù),SQL注入將會(huì)竊取我們的數(shù)據(jù)。安全性不容忽視。本文介紹的字段檢查、注入測(cè)試、數(shù)據(jù)庫(kù)加固、綁定變量和禁止字符串拼接等,從各個(gè)方面闡述了預(yù)防SQL注入的方法,能夠有效地預(yù)防SQL的注入,保證用戶和公司的安全。

參考文獻(xiàn):

[1] 葉良艷. SQL注入漏洞檢測(cè)防御關(guān)鍵技術(shù)綜述[J]. 安徽電子信息職業(yè)技術(shù)學(xué)院學(xué)報(bào), 2018, 17(3):19-22.

[2] 葉夢(mèng)雄. 基于Web的SQL注入漏洞掃描系統(tǒng)的設(shè)計(jì)研究[J]. 電子設(shè)計(jì)工程, 2019, 27(16):20-23, 28.

[3] 王苗苗, 錢步仁, 許瑩瑩, 等. 基于通用規(guī)則的SQL注入攻擊檢測(cè)與防御系統(tǒng)的研究[J]. 電子設(shè)計(jì)工程, 2017, 25(5):24-28, 32.

[4] 高洪濤. SQL注入攻擊途徑及策略分析[J]. 網(wǎng)絡(luò)安全技術(shù)與應(yīng)用, 2011(3):14-16.

[5] 劉雪梅. 基于SQL Server數(shù)據(jù)庫(kù)的安全性對(duì)策探究[J]. 電腦編程技巧與維護(hù), 2019(9):96-98.

【通聯(lián)編輯:謝媛媛】

主站蜘蛛池模板: 九九视频免费看| 亚洲成人网在线播放| 久久国语对白| 欧美性精品不卡在线观看| 国产又粗又爽视频| 欧美色综合网站| 日韩不卡高清视频| 黄色网页在线播放| 91美女视频在线| 色综合久久88| 日本在线视频免费| 五月综合色婷婷| 91成人免费观看| 九九免费观看全部免费视频| 亚洲天堂成人在线观看| 欧美天堂在线| 成人一级免费视频| 精品人妻AV区| 99这里精品| 欧美中文字幕在线视频| 亚洲欧洲日韩久久狠狠爱| 免费国产一级 片内射老| 色综合久久无码网| 一本一道波多野结衣一区二区| 黄色a一级视频| 久久美女精品| 首页亚洲国产丝袜长腿综合| 成人免费午夜视频| 日韩福利在线观看| 亚洲一级色| 在线毛片网站| 国产成在线观看免费视频 | 久久综合国产乱子免费| 无码视频国产精品一区二区| 精品少妇人妻av无码久久| 亚洲乱码视频| 国产91全国探花系列在线播放| 精品91在线| 国产高清在线丝袜精品一区| 久久精品aⅴ无码中文字幕| 国产欧美高清| 成人国产一区二区三区| 国产成人毛片| 亚洲天堂在线免费| 青草娱乐极品免费视频| 巨熟乳波霸若妻中文观看免费 | 久久永久精品免费视频| 久久精品亚洲中文字幕乱码| 国产靠逼视频| 日韩毛片在线播放| 久久久久九九精品影院| 99国产精品一区二区| 成人在线亚洲| 日韩欧美国产另类| 日本国产精品一区久久久| 天堂在线www网亚洲| 国产精品私拍在线爆乳| 国产精品福利一区二区久久| 精品自窥自偷在线看| 久久99精品久久久久久不卡| 欧美第一页在线| 91九色国产porny| 色婷婷视频在线| 97久久精品人人| 在线观看视频99| 亚洲国产成人精品青青草原| 黄色污网站在线观看| 怡红院美国分院一区二区| 婷婷色在线视频| 欧美成人a∨视频免费观看| 欧美a在线视频| 欧美精品导航| 亚洲国产中文欧美在线人成大黄瓜 | 欧美有码在线| 99在线观看免费视频| 狠狠v日韩v欧美v| 福利在线不卡| 久久久久国色AV免费观看性色| 日韩中文无码av超清| 国产白浆在线观看| 国内精品小视频在线| 不卡无码h在线观看|