国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

學(xué)生管理系統(tǒng)的SQL注入風(fēng)險(xiǎn)及防范

2015-07-21 09:40蔣平
信息化建設(shè) 2015年6期
關(guān)鍵詞:攻擊者語句頁面

蔣平

摘要:學(xué)校的教務(wù)平臺(tái)和學(xué)生管理系統(tǒng)正在加速向WEB方向發(fā)展,設(shè)計(jì)一系列的技術(shù)手段,在盡量不增加開發(fā)難度和硬件費(fèi)用的前提下,提升高校管理平臺(tái)的數(shù)據(jù)庫的安全性。

關(guān)鍵字:數(shù)據(jù)庫,SQL注入,安全

1.概述

隨著互聯(lián)網(wǎng)和高校信息化的發(fā)展,學(xué)校業(yè)務(wù)上網(wǎng)成了學(xué)校的“必修課”,現(xiàn)在大部分院校都可以提供在線學(xué)生信息系統(tǒng)服務(wù)。在方便了學(xué)生的同時(shí),卻也給學(xué)校的網(wǎng)絡(luò)安全帶來了更大的挑戰(zhàn)。

在學(xué)校網(wǎng)絡(luò)安全防護(hù)的各個(gè)角度中,數(shù)據(jù)庫防護(hù)是重中之重。原因在于SQL注入攻擊風(fēng)險(xiǎn)小、開銷小、實(shí)施容易,是攻擊校園網(wǎng)絡(luò)的主要手段。同時(shí)學(xué)校信息系統(tǒng)大部分都是使用自主開發(fā)模式,費(fèi)用低周期短,但是受限于學(xué)校技術(shù)人員的軟件開發(fā)經(jīng)驗(yàn)和水平,往往存在需求分析不充分,代碼編寫不規(guī)范等問題。開發(fā)出的系統(tǒng)往往以“能用即可”為標(biāo)準(zhǔn),在安全方面存在較大隱患。網(wǎng)站的數(shù)據(jù)庫一旦被注入,常常會(huì)造成平臺(tái)癱瘓,學(xué)生信息泄露甚至成績被篡改等一系列后果。

2.常用SQL注入技術(shù)

SQL注入攻擊在國內(nèi)的流行可以追溯到本世紀(jì)初,已經(jīng)有十余年的歷史,SQL注入從原理上說都是一致的,即通過把SQL命令插入到查詢字符串中,以欺騙服務(wù)器執(zhí)行惡意的SQL命令。實(shí)現(xiàn)這一目的的手段是多種多樣的,一般來說可以分為以下幾種:

1.GET注入。如平臺(tái)有一查詢成績頁面,獲得用戶輸入的查詢參數(shù)4031后生成頁面的地址如下:http://localhost:8080/ExcelUsingXSLT/Default.aspx?studentid=4031.

此時(shí)平臺(tái)會(huì)在指定表里查詢學(xué)號(hào)為4031的學(xué)生成績。此時(shí)SQL語句的內(nèi)容如下:

SELECT * FROM SCORE WHERE student_id = 4031。而如果用戶此時(shí)將地址改為4031 'or'1'='1。

SQL語句將會(huì)變?yōu)镾ELECT * FROM SCORE WHERE student_id = 4031 or 1 = 1.由于1=1是恒真表達(dá)式,所以此時(shí)WHERE子句實(shí)際上已經(jīng)失去了作用。此時(shí)頁面將返回SCORE表中的全部數(shù)據(jù)。

2.POST注入。動(dòng)態(tài)網(wǎng)站的大部分交互性都是通過表單來實(shí)現(xiàn)的。如登陸界面會(huì)讓用戶輸入用戶名和密碼。后臺(tái)使用POST方法獲得這些參數(shù),并寫入SQL語句。此處同樣會(huì)產(chǎn)生注入漏洞。而且攻擊者可以從頁面設(shè)計(jì)中得知此處參數(shù)的大致用途,不僅是查詢,也可能是更新或刪除數(shù)據(jù)。

3.COOKIES注入。Cookies是由服務(wù)器生成,保存在客戶端的一個(gè)小文本文件。在大數(shù)據(jù)時(shí)代,Cookies的使用非常廣泛。但是Cookies也會(huì)給系統(tǒng)帶來額外的注入風(fēng)險(xiǎn)。因?yàn)锳SP獲取用戶輸入常用的request方法本身有四個(gè)集合。該方法如不指定集合,就會(huì)按照Query String>Form>Cookies>Server Variables的順序獲取數(shù)據(jù),此時(shí)就給攻擊者提供了注入的可能性。

除了前述幾種手段之外,還有XML注入,時(shí)間差盲注等方法,還有一些黑客工具使用暴力測(cè)試的方法進(jìn)行注入。通過影響到最終生成的SQL語句,SQL注入會(huì)造成數(shù)據(jù)泄露、被篡改、刪除等惡劣影響,如果系統(tǒng)使用sa賬戶連接數(shù)據(jù)庫,那攻擊者甚至可以通過操縱xp_cmdshell這樣的系統(tǒng)存儲(chǔ)過程來獲得整個(gè)系統(tǒng)的完整權(quán)限。

3.SQL注入的防范措施

學(xué)校的信息平臺(tái)開發(fā)常常是短平快式的開發(fā)方法,服務(wù)器和帶寬資源也相對(duì)有限。同時(shí),系統(tǒng)的安全性和易用性本身也是一對(duì)矛盾體。筆者結(jié)合自身的開發(fā)經(jīng)驗(yàn)和教訓(xùn),提出幾點(diǎn)SQL注入的防范思想和方法。

1.控制注入損失。在有限資源下想完全防止SQL被注入幾乎是不可能的,首先要將風(fēng)險(xiǎn)控制在可接受的范圍。方法有:

數(shù)據(jù)庫分級(jí)設(shè)計(jì)。把數(shù)據(jù)按照重要性和保密度分成幾個(gè)級(jí)別。為訪問數(shù)據(jù)庫時(shí)使用的賬戶設(shè)計(jì)好對(duì)應(yīng)的權(quán)限。這部分工作可以使用SQL的角色控制訪問系統(tǒng)來方便的實(shí)現(xiàn)且不會(huì)為系統(tǒng)帶來額外的開銷,可以在數(shù)據(jù)庫被注入之后有效地控制損失。

數(shù)據(jù)備份。如平臺(tái)需提供數(shù)據(jù)庫的UPDATE或DELETE等操作,那么對(duì)相應(yīng)的表要做好備份,并且在后臺(tái)記錄這些操作。

2.增加注入難度。在開發(fā)過程中使用一些技術(shù)手段,可以將注入的難度增加到使大部分攻擊者感覺“不合算”的地步,即可算是成功的安全措施。方法有:

對(duì)用戶輸入進(jìn)行審查。使用代碼過濾單引號(hào)、SQL關(guān)鍵字、運(yùn)算符,可以使用正則表達(dá)式進(jìn)一步規(guī)范用戶的輸入,也可以使用防注入程序、SQL注入防火墻來實(shí)現(xiàn)這一目標(biāo)。

規(guī)范參數(shù)傳遞。拼接SQL語句的方式可以說是注入漏洞的根本來源,所以作為開發(fā)人員要在平臺(tái)設(shè)計(jì)的時(shí)候要多考慮參數(shù)傳遞時(shí)可能出現(xiàn)的各種異常。使用Parameters規(guī)范參數(shù)傳遞過程、使用存儲(chǔ)過程中不再拼接SQL語句,均可以有效防止注入。

規(guī)范request方法??梢酝ㄟ^重寫request方法、指定request方法使用的集合等技術(shù)手段,防止request方法獲取到開發(fā)者并不想取得的非法數(shù)據(jù)。

4.小結(jié)

學(xué)校信息平臺(tái)的安全維護(hù)是一項(xiàng)系統(tǒng)工程,其面臨的安全環(huán)境是非常復(fù)雜的,其中有相對(duì)“善意”的攻擊如本校學(xué)生做網(wǎng)絡(luò)攻防練習(xí)或者向同學(xué)炫耀自己的技術(shù),也有惡意的如篡改成績、非法獲取學(xué)生信息甚至控制學(xué)校的信息系統(tǒng)。其中數(shù)據(jù)庫安全是一個(gè)核心環(huán)節(jié),需要開發(fā)和運(yùn)營人員對(duì)數(shù)據(jù)庫系統(tǒng)、開發(fā)平臺(tái)和網(wǎng)絡(luò)環(huán)境有更深的理解,才能有效防范攻擊,保障數(shù)據(jù)安全。

參考文獻(xiàn)

[1] CNCERT互聯(lián)網(wǎng)安全威脅報(bào)告-2014年7月. 國家互聯(lián)網(wǎng)應(yīng)急中心,2014年8月31日

[2] 馮谷、高鵬. 新型SQL注入技術(shù)研究與分析[J]. 計(jì)算機(jī)科技,2012,11A(64)

[3] 陳學(xué)平.網(wǎng)站數(shù)據(jù)庫SQL注入及防范[J].制造業(yè)自動(dòng)化2010,32(10)

[4] 歐陽漢斌.高校教務(wù)管理系統(tǒng)安全問題分析及對(duì)策[J].山東師范大學(xué)學(xué)報(bào),2008,6(22)endprint

猜你喜歡
攻擊者語句頁面
刷新生活的頁面
基于微分博弈的追逃問題最優(yōu)策略設(shè)計(jì)
重點(diǎn):語句銜接
正面迎接批判
有限次重復(fù)博弈下的網(wǎng)絡(luò)攻擊行為研究
如何搞定語句銜接題
網(wǎng)站結(jié)構(gòu)在SEO中的研究與應(yīng)用
淺析ASP.NET頁面導(dǎo)航技術(shù)
作文語句實(shí)錄
夏津县| 滨州市| 澄迈县| 织金县| 无棣县| 太仓市| 攀枝花市| 通河县| 永嘉县| 图木舒克市| 鹤庆县| 牙克石市| 绥宁县| 张掖市| 缙云县| 无为县| 射阳县| 濮阳市| 松阳县| 苏尼特左旗| 宜阳县| 高唐县| 高邑县| 南溪县| 津市市| 永修县| 灵石县| 嘉善县| 特克斯县| 册亨县| 东海县| 龙山县| 集安市| 凤台县| 宁陕县| 肇源县| 台州市| 闽清县| 江都市| 通化市| 永宁县|