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

Web應用安全漏洞構造與防范設計

2014-04-29 00:00:00張紅瑞
無線互聯科技 2014年4期

摘 要:采用ASP.NET和SQL Server數據庫開發了基于B/S架構的Web應用安全攻防實訓平臺,利用SQL注入構造了密碼驗證漏洞,并給出了SQL注入漏洞的相關防范措施。

關鍵詞:OWASP;SQL注入漏洞;密碼驗證;防范設計

開放式Web應用程序安全項目(OWASP:Open Web Application Security Project)在其給出的OWASP Top10_2013中文版安全報告中指出最危險的漏洞是A1-注入漏洞。例如SQL,OS以及LDAP注入。這些攻擊發生在當不可信的數據作為命令或者查詢語句的一部分,被發送給解釋器的時候。攻擊者發送的惡意數據可以欺騙解釋器,以執行計劃外的命令或者在未被恰當授權時訪問數據[1]。

1 SQL注入漏洞分析

SQL注入是一種典型的攻擊方式,在這種攻擊方式中,惡意代碼被插入到字符串中,然后將該字符串傳遞到數據庫中以進行分析和執行。SQL注入的主要形式包括直接將代碼插入到與SQL命令串聯在一起并使其得以執行的用戶輸入變量。一種間接的攻擊會將惡意代碼注入要在表中存儲或作為元數據存儲的字符串,在存儲的字符串隨后串連到一個動態SQL命令中時,將執行該惡意代碼[2]。為了構造和利用SQL注入漏洞,攻擊者必須找到一個參數傳遞數據,然后這個參數傳送到操作數據庫的SQL語句中,Web應用程序使用該語句操作數據庫,可能導致信息泄漏、數據丟失、記錄篡改等危害[3]。

為了實現Web應用漏洞的構造、攻擊和防范過程,采用ASP.NET+SQL Server(Access)數據庫開發了基于B/S架構的Web應用安全攻防實訓平臺,系統部署默認采用Windows Sever系列+IIS,后臺數據庫默認采用SQL Server作為后臺數據庫系統,根據實際選擇需要可以切斷換到Access數據庫。

2 SQL注入漏洞設計與利用

在Web應用安全攻防實訓平臺的登陸模塊中,設計了基于SQL注入的密碼驗證繞過漏洞,其密碼驗證的關鍵代碼如下:

SqlConnection Conn=new SqlConnection(WebData.strConn);

String str=\"select * from Admin where UserName='\" +Name.Text+\"'and UserPwd = '\"+Pwd.Text+\"' \";

SqlCommand Cmd=new SqlCommand(str,Conn);

Conn.Open ();

SqlDataReader Dr=Cmd.ExecuteReader ();

此段代碼通過串聯硬編碼字符串和用戶輸入的字符串而生成一個SQL查詢:

String str=\"select * from Admin where UserName='\"+Name.Text+\"'and UserPwd='\"+Pwd.Text+\"' \";

當用戶輸入用戶和密碼都是admin時,此SQL語句變成了如下查詢語句:

String str=\"select*from Admin where UserName='admin' and UserPwd='admin' \";

然后此語句被提交給數據庫進行查詢。但是,假定用戶在管理帳號處輸入以下內容:admin' or '1'='1 在管理密碼輸入test后,此SQL語句變成了如下查詢語句:

String str=\"select*from Admin where UserName='admin' or '1'='1' and UserPwd='test' \";

然后此語句被提交給數據庫進行查詢,由于構造的SQL語句中or'1'='1'語句的存在并且條件永遠為真,導致UserPwd='test'語句部分被忽略,所以構造出來的特殊輸入繞過了密碼驗證環節直接進入了平臺管理后臺。

3 SQL注入漏洞防范

在OWASP Top10_2013中文版安全報告中A1-注入漏洞,包括SQL,OS以及 LDAP注入。因此SQL注入漏洞的防范首先要對部署平臺:包括操作系統(OS)、Web服務器和數據庫的安全進行合理的配置,并在開發過程中注意遵循的規則包括:

⑴使用參數化查詢(Parameterized Query)進行SQL數據查詢存取,在需要提交數據或數值的地方,使用參數 (Parameter)進行值傳遞。數據庫服務器不會將參數內容視為SQL指令的一部份來處理,而是在數據庫完成SQL指令的編譯后,才附加參數值運行[4]。因此就算參數值中含有惡意的語句或指令,由于已經編譯完成,因此不會被數據庫所運行。

⑵盡量使用存儲過程SQL數據查詢存取,由于存儲過程是存儲在數據庫管理系統中,使用時由程序通過參數傳遞數值并可以驗證,對于數據的訪問是基于存儲過程而不是直接訪問數據表,可以有效防止對數據表的猜測。

⑶使用正則表達式來驗證提交信息中是否包含單引號(’)、分號(;)、結束符(--)等特殊字符,在上面提交的密碼信息admin'or'1'='1就可以被檢測出來異常。檢測提交信息中是否包含and、or、select、update、exec等特殊命令,這些命令有可能被帶入到數據庫并被操作執行。

4 結束語

在OWASP提供安全報告中的A1-注入漏洞,對SQL漏洞原因進行了分析、并在此基礎上構造和設計密碼驗證漏洞,從使用參數化查詢、存儲過程以及對對提交信息進行驗證的角度給出了SQL注入漏洞的防護措施。

[參考文獻]

[1]OWASP.OWASP 2013 Top 10中文版[R].http://www.owasp.org.cn/owasp-project/download/OWASPTop10 2013V1.2.pdf.2014-03-01.

[2]Microsoft.SQL注入.http://technet.microsoft.com/zh-cn/library/ms161953.aspx[EB/OL].2014-03-01.

[3]張紅瑞,郝建,呂延崗.Web應用安全攻防實訓平臺的設計與實現[J].學周刊,2014,2:28-29.

[4]李曉龍.基于SQL注入攻擊的三種防御技術[J].湖北文理學院學報,2013,34(5):18-21.

主站蜘蛛池模板: 国产99视频在线| 国产日韩欧美在线视频免费观看 | 99精品国产自在现线观看| 欧美亚洲一二三区| 久草视频福利在线观看| 日韩成人在线网站| 亚洲精品欧美日韩在线| 18禁影院亚洲专区| 在线视频97| 亚洲综合色婷婷中文字幕| 国产日本欧美在线观看| 国产成人精品一区二区不卡| 亚洲成人网在线观看| av在线无码浏览| 欧美日韩专区| 色综合久久无码网| 91精品专区国产盗摄| 国产a v无码专区亚洲av| 亚洲美女一区二区三区| 美女潮喷出白浆在线观看视频| 免费人成又黄又爽的视频网站| 无码精品福利一区二区三区| 22sihu国产精品视频影视资讯| 女人毛片a级大学毛片免费| 日韩乱码免费一区二区三区| 欧美日韩亚洲国产主播第一区| 999精品视频在线| 久久99精品久久久久纯品| 在线观看亚洲精品福利片| 亚洲美女视频一区| 日韩av电影一区二区三区四区| 亚洲欧美在线综合一区二区三区| 亚洲成网777777国产精品| 国产乱论视频| 日本成人福利视频| 日韩精品成人网页视频在线| 国产无码精品在线| 在线99视频| 毛片手机在线看| 国产在线自揄拍揄视频网站| 日韩天堂视频| 日本精品视频一区二区| 中文成人无码国产亚洲| 国产凹凸一区在线观看视频| 成年人免费国产视频| 色综合a怡红院怡红院首页| 久久中文字幕av不卡一区二区| 99久久成人国产精品免费| 亚洲免费人成影院| 综合色区亚洲熟妇在线| 色久综合在线| 97视频在线观看免费视频| 久久久久亚洲精品成人网| 2020精品极品国产色在线观看| 国产成人综合久久精品下载| 精品91自产拍在线| 成人噜噜噜视频在线观看| 婷婷午夜天| 黄色网站不卡无码| 亚洲香蕉在线| 久久99精品久久久久纯品| 一级成人a做片免费| 亚洲精品va| 国产精品观看视频免费完整版| 国产高清又黄又嫩的免费视频网站| 亚洲性日韩精品一区二区| 午夜a视频| 国产女人综合久久精品视| 丁香五月婷婷激情基地| 四虎精品国产AV二区| 成年女人a毛片免费视频| 思思99思思久久最新精品| 亚洲第一成年人网站| 国产精品视频系列专区| 在线播放精品一区二区啪视频 | 国产视频入口| 久久99国产乱子伦精品免| 国产 在线视频无码| 国产一区二区三区夜色| 婷婷亚洲最大| 国产欧美日本在线观看| 88av在线看|