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

?

基于asp.net動(dòng)態(tài)網(wǎng)站前臺(tái)程序安全性設(shè)計(jì)的研究

2015-07-18 12:07:30殷茵馬嫚紅秦久明石范鋒
電腦知識(shí)與技術(shù) 2015年12期
關(guān)鍵詞:防御安全性

殷茵 馬嫚紅 秦久明 石范鋒

摘要:該文主要研究了基于asp.net動(dòng)態(tài)網(wǎng)站前臺(tái)程序設(shè)計(jì)中的SQL注入漏洞和XSS攻擊漏洞,提出了在開(kāi)發(fā)基于asp.net動(dòng)態(tài)網(wǎng)站前臺(tái)程序設(shè)計(jì)時(shí)防止SQL注入攻擊和XSS跨站攻擊的方法和措施。

關(guān)鍵詞:SQL注入漏洞;XSS注入漏洞;防御;前臺(tái)程序;安全性

中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)12-0060-02

隨著Internet發(fā)展,Web應(yīng)用程序的應(yīng)用越來(lái)越廣泛,由于應(yīng)用程序的運(yùn)行環(huán)境的開(kāi)放性,隨之出現(xiàn)的安全性隱患和風(fēng)險(xiǎn)也越來(lái)越高,一些針對(duì)動(dòng)態(tài)網(wǎng)站的攻擊技術(shù)也“與時(shí)俱進(jìn)”。目前常見(jiàn)的針對(duì)動(dòng)態(tài)網(wǎng)站攻擊行為主要有SQL注入攻擊、XSS跨站腳本攻擊等。

1 SQL注入攻擊和防御

SQL注入攻擊是指從客戶端地址欄或網(wǎng)頁(yè)的接口輸入提交一些特殊的非法代碼,讓其注入到服務(wù)器端正常執(zhí)行的業(yè)務(wù)SQL中去,從而改變SQL語(yǔ)句的原有邏輯,獲取重要的敏感數(shù)據(jù),繞過(guò)登錄驗(yàn)證,甚至執(zhí)行系統(tǒng)命令,上傳后門文件等行為。由于SQL注入從正常Web端口訪問(wèn),一般防火墻不會(huì)阻擋和警告,Web系統(tǒng)可能被入侵而長(zhǎng)時(shí)間不會(huì)被發(fā)現(xiàn)。理論上只要是帶有查詢字符串變量參數(shù)的動(dòng)態(tài)網(wǎng)頁(yè)且此網(wǎng)頁(yè)訪問(wèn)數(shù)據(jù)庫(kù),如果Web應(yīng)用程序中沒(méi)有對(duì)輸入?yún)?shù)進(jìn)行必要的合法檢查和過(guò)濾,就有可能成為SQL注入攻擊漏洞。

1.1 SQL注入點(diǎn)判斷

URL查詢參數(shù)為整數(shù)型,地址為:http://www.abc.com/News.aspx?NewId=1,可通過(guò)以下方法查看有沒(méi)有SQL注入漏洞:

1)在地址欄中輸入http://www.abc.com/News.aspx?NewId=1,運(yùn)行異常;

2)在地址欄中輸入http://www.abc.com/News.aspx?NewId=1 and 1=1,運(yùn)行正常;

3)在地址欄中輸入http://www.abc.com/News.aspx?NewId=1 and 1=2,運(yùn)行異常;

可以判斷存在SQL注入漏洞。

URL查詢參數(shù)為字符串型,地址為:http://www.abc.com/News.aspx?NewId=1,可通過(guò)以下方法查看有沒(méi)有SQL注入漏洞:

1)在地址欄中輸入http://www.abc.com/News.aspx?NewId=1,運(yùn)行異常;

2)在地址欄中輸入http://www.abc.com/News.aspx?NewId=1 and ‘1=1,運(yùn)行正常;

3)在地址欄中輸入http://www.abc.com/News.aspx?NewId=1 and ‘1=2,運(yùn)行異常。

可以判斷存在SQL注入漏洞。

1.2 SQL注入攻擊

利用SQL注入漏洞,通過(guò)在查詢字符串參數(shù)加上特殊的Select查詢語(yǔ)句可查看管理員表的信息。

1)獲取管理員表名方法

http://www.abc.com/News.aspx?NewId=1 and 1=1 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 from [表名],如正常執(zhí)行,就可獲取表名;

2)獲取管理員表中字段名和字段值

http://www.abc.com/News.aspx?NewId=1 and 1=2 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 from [表名],如正常執(zhí)行,就會(huì)在原來(lái)頁(yè)面正常顯示動(dòng)態(tài)信息的地方顯示上述對(duì)應(yīng)的數(shù)字,然后將對(duì)應(yīng)的數(shù)字換成猜測(cè)的字段名即可。

1.3 SQL注入防御

在開(kāi)發(fā)Web應(yīng)用程序時(shí),查詢字符串變量參數(shù)最好使用數(shù)值型,對(duì)輸入的內(nèi)容要進(jìn)行必要的合法性檢查驗(yàn)證,可根據(jù)查詢語(yǔ)句參數(shù)的類型,如果是數(shù)值型可通過(guò)數(shù)據(jù)類型轉(zhuǎn)換方法驗(yàn)證,如出錯(cuò)則跳轉(zhuǎn)到出錯(cuò)頁(yè);如果是字符串型查詢參數(shù)則應(yīng)要過(guò)濾一些敏感的字符,并作為Command命令對(duì)象的參數(shù)值使用。應(yīng)盡量使用Session傳遞參數(shù),對(duì)查詢字符串變量最好定義專用類或由空頁(yè)處理后再轉(zhuǎn)到相關(guān)的頁(yè)面,處理方法如下述代碼所示:

int i=0;

if (Request["NewsID"] != null)

{

try

{ i = int.Parse(Request["NewsID "].ToString());

Session["nid"] = i.ToString();

}

catch

{ Response.Redirect("~/Error.aspx");

}

if (i > 0)

{ Response.Redirect("~/NewsShow.aspx");

}

} else

{

Response.Redirect("~/Error.aspx");

}

2 XSS注入漏洞和防御

XSS即跨站腳本攻擊,是指通過(guò)向Web頁(yè)面里插入惡意腳本代碼,當(dāng)用戶瀏覽該頁(yè)時(shí),嵌入其中腳本代碼就自動(dòng)執(zhí)行,從而達(dá)到惡意用戶的目的,例如,自動(dòng)打開(kāi)和發(fā)送有關(guān)頁(yè),盜取會(huì)話、cookie信息等。

2.1 XSS注入攻擊

Web應(yīng)用程序中假如有用戶注冊(cè)、留言等功能,如果沒(méi)有對(duì)輸入和輸出的信息進(jìn)行合法性驗(yàn)證和過(guò)濾就有可能成為XSS注入攻擊點(diǎn)。

例如通過(guò)用戶注冊(cè)或留言向網(wǎng)站數(shù)據(jù)庫(kù)中輸入如下腳本代碼:

當(dāng)用戶打開(kāi)含有此腳本的頁(yè)面時(shí),腳本就自動(dòng)執(zhí)行,打開(kāi)另一網(wǎng)站的頁(yè)面,并將保存在本地的此網(wǎng)站的Cookie發(fā)送過(guò)去。如果inputcookie.aspx的頁(yè)面中含有接收cookie并存放到數(shù)據(jù)庫(kù)的功能,就非法獲取了用戶的Cookie信息。inputcookie.aspx頁(yè)面的代碼如下:

if (Request.Cookies[0] != null)

{ string connstr = ConfigurationManager.ConnectionStrings["cookiename"].ConnectionString;

connstr = connstr +Server.MapPath( ConfigurationManager.ConnectionStrings["cookiedb"].ConnectionString);

string sqlstr = "insert into testtable(cookie) values(?)";

OleDbConnection conn = new OleDbConnection(connstr);

OleDbCommand comm = new OleDbCommand(sqlstr, conn);

OleDbParameter p = new OleDbParameter("@c", Request.Cookies[0].Value.ToString());

comm.Parameters.Add(p);

try

{

conn.Open();

comm.ExecuteNonQuery();}

catch

{ ; }

if (conn.State == ConnectionState.Connecting)

{ conn.Close();}}

2.2 XSS注入防御

Asp.net 1.1后頁(yè)面具備了對(duì)表單自動(dòng)檢測(cè)是否存在XSS漏洞的能力,當(dāng)提交如之類的輸入時(shí),引擎會(huì)自動(dòng)引發(fā)一個(gè)請(qǐng)求驗(yàn)證異常錯(cuò)誤,aspx界面Page指令中默認(rèn)為ValidateRequest="true",這樣就會(huì)自動(dòng)驗(yàn)證所提交的內(nèi)容是否含XSS漏洞內(nèi)容。因此不要將前臺(tái)頁(yè)面Page指令中的“ValidateRequest”設(shè)為“false”,盡量不要在動(dòng)態(tài)網(wǎng)站的前臺(tái)使用富文本編輯器,如果非要使用,則對(duì)所輸入的內(nèi)容進(jìn)行嚴(yán)格的過(guò)濾,過(guò)濾掉敏感的符號(hào)或單詞,保留需要的html代碼,代碼如下所示:

string str = "123abc;";

str=str.Replace("", "b11");

str=str.Replace("

", "b12");

str=Server.HtmlEncode(str);

str=str.Replace( "b11","");

str=str.Replace("b12", "

");

Label1.Text = str;

在程序中,過(guò)濾掉敏感的html標(biāo)簽,例如:

、、、

公司地址: 北京市西城區(qū)德外大街83號(hào)德勝國(guó)際中心B-11

客服熱線:400-656-5456??客服專線:010-56265043??電子郵箱:longyuankf@126.com

電信與信息服務(wù)業(yè)務(wù)經(jīng)營(yíng)許可證:京icp證060024號(hào)

Dragonsource.com Inc. All Rights Reserved

icp

猜你喜歡
防御安全性
兩款輸液泵的輸血安全性評(píng)估
既有建筑工程質(zhì)量安全性的思考
某既有隔震建筑檢測(cè)與安全性鑒定
米氮平治療老年失眠伴抑郁癥的療效及安全性
數(shù)據(jù)挖掘在計(jì)算機(jī)網(wǎng)絡(luò)病毒防御中的應(yīng)用
論校園無(wú)線局域網(wǎng)的攻擊與防御
ApplePay橫空出世 安全性遭受質(zhì)疑 拿什么保護(hù)你,我的蘋果支付?
計(jì)算機(jī)網(wǎng)絡(luò)安全與防御研究
計(jì)算機(jī)網(wǎng)絡(luò)安全與防御
芻議新局勢(shì)下計(jì)算機(jī)病毒防御技術(shù)
合肥市| 松阳县| 纳雍县| 祁连县| 任丘市| 晴隆县| 徐汇区| 都匀市| 龙岩市| 宝鸡市| 无为县| 佛冈县| 乌拉特前旗| 遂昌县| 孟州市| 墨脱县| 镇原县| 微山县| 郑州市| 成武县| 荆州市| 沂源县| 咸宁市| 泰宁县| 徐州市| 繁峙县| 巩留县| 九寨沟县| 自贡市| 江陵县| 庄河市| 肃北| 沅陵县| 武宁县| 西乡县| 佳木斯市| 洱源县| 敖汉旗| 桐城市| 新安县| 社旗县|