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

一種基于ASP.NET的SQL注入漏洞防范措施

2018-12-25 12:07:08孟慶君杜瑞慶
科技資訊 2018年18期

孟慶君 杜瑞慶

摘 要:現今網站上的數據庫大多使用SQL Server數據庫,對數據庫進入訪問時一般需要輸入賬戶和密碼進行登錄,但是SQL存在的注入漏洞可以使任意賬戶順利登錄,文章探討了常見的SQL注入萬能密碼能夠成功登錄的原因,并提出了使用參數化查詢解決這種問題的方法。參數化查詢首先編譯SQL語句,僅將參數進行編譯,其后緊隨的恒為真的條件語句將被截取掉,因此實現對注入漏洞的防范。

關鍵詞:ASP.NET SQL注入漏洞 登錄 參數化查詢

中圖分類號:TP393 文獻標識碼:A 文章編號:1672-3791(2018)06(c)-0007-02

在網絡日益盛行的今天,通過網絡可以進行各種各樣的操作,包括生活中的各種與財務相關操作,比如:轉賬操作以及手機話費、水電費、煤氣費與暖氣費的繳納。在進行財務操作之前,需要進行用戶登錄操作,即要求用戶首先輸入賬號和密碼,在服務器上驗證通過才可進行后面的操作。通過賬號與密碼的驗證可保障用戶信息的安全,尤其是財務信息安全。

1 SQL注入漏洞

這些賬號和密碼大都保存在服務器上的數據庫文件中,大部分網站使用的數據庫是微軟出品的SQL Server數據庫。這種數據庫功能強大,使用方便,但在安全性上也有一定的漏洞。比如:常見的SQL注入漏洞,它使得用戶可能通過輸入一些特殊的密碼就能夠以假亂真,正常登錄,并進行登錄后的財務操作,從而造成用戶的賬務損失。表1列出了一些常見的SQL注入萬能密碼。

網站上的用戶登錄網頁往往以圖1形式存在,要求用戶在文本框中輸入用戶名和密碼,然后點擊“登錄”按鈕進行驗證。許多這樣的網頁是由ASP.NET(C#)開發的,點擊“登錄”按鈕時,會將文本框中的用戶名與密碼取出來與SQL Server數據庫中的已經存儲的用戶信息進行比對,成功則進入下一步操作;如果數據庫中沒有相應用戶信息,或者有用戶的賬號,但密碼不正確,都不能通過驗證,也不能進入下一步的操作。但SQL Server的注入漏洞,使一些萬能密碼可以騙過網頁的驗證程序。原因如下。

首先要分析一下用戶登錄頁面的代碼,就能找到原因。點擊“登錄”按鈕的關鍵代碼如下。

string strUserName = txtUser.Text;

string strUserPwd = txtPwd.Text;

……

com.CommandText = "select * from userInfo where userName='"+strUserName+"'and userPwd='"+strUserPwd+"'";

從代碼中可以看到,首先獲取文本框中的賬號和密碼,然后用查詢語句來驗證用戶名與密碼是否都正確。如果輸入的用戶名為“user123”,密碼為“123123”,則查詢語句會變為“select * from userInfo where userName='user123' and userPwd='123123' ”,這時從數據庫中如果能夠查找到賬號與密碼都正確的信息才能夠通過登錄驗證,如果其中有一個不正確,則不能通過驗證。SQL注入萬能密碼利用了這個查詢語句中的邏輯表達式的漏洞,給它加上一個絕對為真的條件,達到以假亂真、輸入任意賬戶名均可登錄的目的。那么,它是如何做到的?

例如:在網頁顯示的賬號文本框中隨便輸入一個用戶名“aaa”,再在密碼文本框中輸入一個萬能密碼“' or 'a'='a”,則查詢語句會變為“select * from userInfo where userName='aaa' and userPwd='' or 'a'='a'”。可以看到其中的邏輯表達式中有一個“'a'='a'”恒為真的條件,因此不管用戶名“aaa”在數據庫中是否存在,其對應的密碼是否存在,這個查詢語句中的邏輯表達式恒為真,查詢就相當于“select * from userInfo where 1”,因此可以登錄成功。

2 SQL注入漏洞的預防

以前對付這種漏洞的方式主要有3種。

(1)字符串檢測。限定輸入的內容只能由英文、數字等常規字符,如果檢查到用戶輸入有特殊字符,直接拒絕。缺點是,系統中不可避免地會有些內容包含特殊字符,這時候總不能拒絕入庫。

(2)字符串替換。把危險字符替換成其他字符,缺點是危險字符可能有很多,一一枚舉替換相當麻煩,也可能有漏網之魚。

(3)存儲過程。把參數傳到存儲過程進行處理,但并不是所有數據庫都支持存儲過程。如果存儲過程中執行的命令也是通過拼接字符串出來的,還是會有漏洞。

近年來,自從參數化查詢出現后,SQL注入漏洞基本杜絕。

3 參數化查詢

參數化查詢(Parameterized Query 或 Parameterized Statement)是訪問數據庫時,在需要填入數值或數據的地方,使用參數(Parameter)來給值。在使用參數化查詢的情況下,數據庫服務器不會將參數的內容視為SQL指令的一部份來處理,而是在數據庫完成SQL指令的編譯后,才套用參數運行,因此就算參數中含有指令,也不會被數據庫運行。Access、SQL Server、MySQL、SQLite等常用數據庫都支持參數化查詢。

ASP.NET(C#)創建的網頁中,也可利用參數化查詢的方法對注入漏洞進行防范。將上述的代碼加上參數化查詢的語句即可,如下所示:

com.CommandText = "select * from userInfo where userName=@user and userPwd=@pwd”;

com.Parameters.Add("@user",System.Data.SqlDbType.VarChar,20).Value=txtUser.Text.Trim();

com.Parameters.Add("@pwd",System.Data.SqlDbType.VarChar,20).Value=txtPwd.Text.Trim();

從代碼中可以看到為sqlCommand對象com增加了兩個參數,分別命名為“@user”與“@pwd”,并將賬戶號與密碼作為參數值傳給這兩個參數,在進行數據庫查詢時,數據庫首先要將查詢語句進行編譯。在編譯時,僅常量參與編譯,因此就無法追加恒為真的后門命令。上面談到的例子中,查詢語句“select * from userInfo where userName='aaa' and userPwd='' or 'a'='a'”在編譯時會截取為“select * from userInfo where userName='aaa' and userPwd=''”,后面恒為真的條件就不存在了,因此就防范了注入漏洞。

4 結語

參數化查詢是防范SQL注入漏洞的一種方法,它首先編譯SQL語句,僅將參數進行編譯,其后緊隨的恒為真的條件語句將被截取掉,因此實現對注入漏洞的防范。

參考文獻

[1] 張瑩瑩,凌捷.一種SQL注入漏洞定位檢測方法[J].計算機應用與軟件,2016,33(2):314-317.

[2] 練坤梅,許靜,田偉,等.SQL注入漏洞多等級檢測方法研究[J].計算機科學與探索,2011,5(5):474-480.

[3] 馬小婷,胡國平,李舟軍.SQL注入漏洞檢測與防御技術研究[J].計算機安全,2010(11):18-24.

[4] 彭賡,范明鈺.基于改進網絡爬蟲技術的SQL注入漏洞檢測[J].計算機應用研究,2010,27(7):2605-2607.

[5] 朱輝,沈明星,李善平.Web應用中代碼注入漏洞的測試方法[J].計算機工程,2010,36(10):173-175,178.

[6] 張濤,王行建.對SQL注入漏洞的研究與防范措施的探討[J].計算機時代,2006(11):30-31,38.

[7] 顧坤鵬,宋順林.基于C++的關系代數產生的安全SQL查詢[J].計算機與現代化,2011(10):177-180.

主站蜘蛛池模板: 2021亚洲精品不卡a| 在线观看亚洲精品福利片| 天天色天天操综合网| 美女扒开下面流白浆在线试听 | 久久综合伊人77777| 亚洲男人的天堂在线观看| 18禁影院亚洲专区| 韩日无码在线不卡| 超薄丝袜足j国产在线视频| 亚洲精品在线影院| 三上悠亚一区二区| 国产精品污视频| 亚洲第一av网站| 亚洲欧美另类中文字幕| 国产午夜福利在线小视频| 国产免费人成视频网| 中文字幕欧美成人免费| 99re免费视频| 国产区免费精品视频| 2020极品精品国产| 又黄又爽视频好爽视频| 久久精品视频一| A级全黄试看30分钟小视频| 国产精品白浆在线播放| 91精品啪在线观看国产| 国产视频 第一页| 东京热av无码电影一区二区| 成人国产三级在线播放| 91精品国产自产在线老师啪l| 国产成人毛片| 亚洲婷婷丁香| 青草娱乐极品免费视频| 波多野结衣一区二区三区四区| 国内毛片视频| 国产在线一区视频| 九色在线视频导航91| 国产91视频观看| 色偷偷av男人的天堂不卡| 视频一区视频二区中文精品| 激情综合网激情综合| 免费一极毛片| 亚洲午夜国产精品无卡| 欧美激情视频二区| 丁香六月综合网| 51国产偷自视频区视频手机观看 | 扒开粉嫩的小缝隙喷白浆视频| 少妇精品网站| 久久99热66这里只有精品一| 国产无码性爱一区二区三区| 亚洲中文字幕在线精品一区| 3p叠罗汉国产精品久久| 色老头综合网| 国产精品成人啪精品视频| 中文字幕亚洲精品2页| 亚洲人成亚洲精品| 91区国产福利在线观看午夜| 一级全黄毛片| 亚洲人成成无码网WWW| 久久福利网| 国产成人亚洲欧美激情| 国产黄色爱视频| 国内精品手机在线观看视频| 亚洲综合久久一本伊一区| 久热这里只有精品6| 91色在线视频| 青青草久久伊人| 一本大道AV人久久综合| 东京热高清无码精品| 极品私人尤物在线精品首页| 99无码中文字幕视频| 日本亚洲最大的色成网站www| 国产真实自在自线免费精品| 99r在线精品视频在线播放| 国产va欧美va在线观看| 天天摸天天操免费播放小视频| 好吊色妇女免费视频免费| 国产免费人成视频网| 69综合网| 日韩一区二区在线电影| 无码国内精品人妻少妇蜜桃视频| AV老司机AV天堂| 无码网站免费观看|