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

三種常見的Web漏洞及其防護(hù)技術(shù)研究

2021-03-07 10:34:01江科
關(guān)鍵詞:數(shù)據(jù)庫(kù)用戶

◆江科

三種常見的Web漏洞及其防護(hù)技術(shù)研究

◆江科

(川北醫(yī)學(xué)院 四川 637000)

本文對(duì)SQL注入攻擊漏洞、XSS漏洞、文件上傳漏洞三種常見的Web 漏洞的利用原理進(jìn)行了分析,并以PHP開發(fā)環(huán)境為例,對(duì)其防范技術(shù)作了一定的研究和總結(jié)。以期軟件開發(fā)人員能在編碼過程中更加嚴(yán)謹(jǐn),提高軟件產(chǎn)品的安全性,以便信息系統(tǒng)管理人員能了解基本的漏洞利用原理,有針對(duì)性地開展網(wǎng)絡(luò)安全工作。

SQL注入漏洞;XSS漏洞;文件上傳漏洞;PHP;網(wǎng)絡(luò)安全

1 引言

普通高校信息系統(tǒng)一般不存在關(guān)鍵信息基礎(chǔ)設(shè)施,來自較為豐富資源的威脅源的攻擊相對(duì)較為少見。通過我校網(wǎng)絡(luò)安全防護(hù)設(shè)備日志記錄分析得出,惡意攻擊者對(duì)我校Web系統(tǒng)較多的攻擊方式是通過軟件對(duì)目標(biāo)系統(tǒng)進(jìn)行掃描和嗅探,契機(jī)對(duì)發(fā)現(xiàn)的漏洞進(jìn)行利用,其中,對(duì)SQL注入攻擊漏洞、XSS漏洞、文件上傳漏洞的嗅探頻次較高,雖然這三個(gè)漏洞的利用技術(shù)門檻較低,但危害較大。因此,本文以PHP開發(fā)環(huán)境為例,對(duì)這三種漏洞的原理分析和防護(hù)技術(shù)研究作一定的研究,以促進(jìn)普通高校網(wǎng)絡(luò)安全管理工作的水平提升。

2 SQL注入攻擊漏洞

2.1 攻擊原理分析

SQL注入攻擊源于英文“SQL Injection Attack”,具有廣泛性、隱蔽性、門檻低、變種多、危害大等特點(diǎn)[1]。其原理是利用開發(fā)者拼接SQL語句的編碼漏洞,發(fā)送特殊的數(shù)據(jù)到數(shù)據(jù)庫(kù)執(zhí)行,以期到達(dá)繞過身份驗(yàn)證、竊取和破壞數(shù)據(jù)、脫庫(kù)乃至取得控制器等非法目的。

以身份驗(yàn)證為例,用戶在前端Html表單中填寫賬號(hào)和密碼,通過發(fā)送Http POST方法發(fā)送到服務(wù)器端進(jìn)行驗(yàn)證,服務(wù)器端使用獲取到的POST數(shù)據(jù)拼接SQL語句發(fā)送到數(shù)據(jù)庫(kù)進(jìn)行查詢,如果存在匹配記錄則通過驗(yàn)證,反正則不通過。

一個(gè)典型的存在SQL注入攻擊漏洞的SQL語句如下拼接:

Select * From Admin Where Name=’{$_POST[name]}’ and Password=’ {$_POST[password]}’

正常情況下,用戶輸入用戶名為admin,密碼為Password時(shí),執(zhí)行的SQL語句為:

Select * From Admin Where Name=’ admin’ and Password=’ Password’

看上去邏輯沒有問題,但攻擊者可以發(fā)送一些特殊的數(shù)據(jù)即可輕松欺騙程序,比如把Password填寫為“any’ or ‘1=1”,則執(zhí)行的SQL語句為:

Select * From Admin Where Name=’admin’ and Password=’any’ or ‘1=1’

本例利用SQL 語句使用對(duì)稱單引號(hào)來限定文本值這一語法特性,在文本值中再插入兩個(gè)單引號(hào),擾亂原有語法結(jié)構(gòu),增加SQL語句的條件值“or ‘1=1’”。很明顯,增加的條件值1=1恒定為True,因此無論Name和Password是什么值,整個(gè)條件值都是True,都能查詢到匹配記錄并通過身份驗(yàn)證從而進(jìn)入系統(tǒng),產(chǎn)生嚴(yán)重威脅。

SQL注入攻擊遠(yuǎn)不止利用單引號(hào)這一方法:“#”、“%”、“l(fā)ike”等關(guān)鍵詞和函數(shù)等都可以被利用,尤其是函數(shù)注入將產(chǎn)生較大危害,其注入原理和本例類似,可以類推。

2.2 防范措施

SQL注入攻擊的防護(hù)總綱領(lǐng)就是一條:不信任任何客戶端發(fā)送的數(shù)據(jù)。在編碼過程中,對(duì)客戶端發(fā)送的數(shù)據(jù)進(jìn)行層層檢測(cè)和過濾,確定合法后再發(fā)送到數(shù)據(jù)庫(kù)執(zhí)行,主要措施有以下4條:

(1)嚴(yán)格檢查和過濾輸入字符串

通常情況下,服務(wù)器端需要接受客戶端數(shù)據(jù)的值類型只會(huì)是一種或少數(shù)幾種,很少情況下需要任意形式的數(shù)據(jù)。因此,可以限定接收數(shù)據(jù)的值類型。比如只需要值類型為數(shù)字的數(shù)據(jù),可通過is_numeric()函數(shù)判斷,也可使用set_type()轉(zhuǎn)換,還可使用max()、int_val()等函數(shù)直接過濾;又比如字母,可使用ctype_alpha ()函數(shù)進(jìn)行檢測(cè),總之,經(jīng)過檢測(cè)和過濾的合法數(shù)據(jù)才進(jìn)入程序的下一個(gè)流程。

(2)轉(zhuǎn)義

在數(shù)據(jù)檢查和過濾之后、發(fā)送到數(shù)據(jù)庫(kù)之前對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)義,有語法意義的特殊字符將被轉(zhuǎn)換為該字符的文本值,不作為語法處理,比如“’”轉(zhuǎn)義后為“”,“”才是單引號(hào)在SQL語句中的文本值。推薦使用各數(shù)據(jù)庫(kù)編程接口專門的轉(zhuǎn)義函數(shù)而不是php內(nèi)置的addslashes()函數(shù)進(jìn)行轉(zhuǎn)義,相對(duì)更完善和安全,比如使用PDO類的quote()方法。

(3)使用預(yù)處理語句

SQL注入漏洞普遍存在的根本原因是字符串拼接SQL語句的編碼方式極易發(fā)生數(shù)據(jù)檢查、過濾和轉(zhuǎn)義的疏忽。使用預(yù)處理語句則可規(guī)避此問題,本例經(jīng)改造后核心代碼如下:

$sth = $dbh->prepare(“Select * From Admin Where Name=? and Password=?”);

$sth->execute([$name,$password]);

預(yù)處理語句可理解為SQL 語句模板,預(yù)先準(zhǔn)備好并使用占位標(biāo)記“?”(存在多種形式)代替將要被執(zhí)行的真實(shí)數(shù)據(jù),當(dāng)execute()方法執(zhí)行時(shí),以參數(shù)形式綁定的數(shù)據(jù)將逐一取代對(duì)應(yīng)的占位標(biāo)記,最后發(fā)送到數(shù)據(jù)庫(kù)執(zhí)行。這種方式完全避免了字符串拼接,不僅程序可讀性強(qiáng),而且數(shù)據(jù)庫(kù)接口會(huì)自動(dòng)檢驗(yàn),阻止SQL注入,同一預(yù)處理語句多次執(zhí)行的性能也有提高,推薦開發(fā)人員使用。

(4)數(shù)據(jù)庫(kù)權(quán)限限定

給予Web系統(tǒng)能夠正常運(yùn)行的數(shù)據(jù)庫(kù)賬號(hào)最小權(quán)限,作為函數(shù)式注入的最后防線。通常一般的Web系統(tǒng)只需要select、update、delete和insert等基本的數(shù)據(jù)庫(kù)權(quán)限,建議開發(fā)人員或數(shù)據(jù)庫(kù)管理員對(duì)給予Web系統(tǒng)的數(shù)據(jù)庫(kù)用戶或角色進(jìn)行設(shè)置。

3 XSS漏洞

3.1 利用原理分析

XSS全稱為跨站腳本(Cross Site Scripting),為了和層疊樣式表(Cascading Style Sheets,CSS)區(qū)分,業(yè)內(nèi)簡(jiǎn)稱為XSS。XSS漏洞是Web應(yīng)用的經(jīng)典漏洞,但直到現(xiàn)在,跨站腳本攻擊仍是許多Web應(yīng)用的最大威脅[2]。其原理通過各種方法向目標(biāo)Web頁面里插入腳本,當(dāng)其他用戶瀏覽該頁面時(shí),嵌入的腳本被執(zhí)行,達(dá)到惡意攻擊的目的。

在一個(gè)留言本的Web頁面上,它允許用戶留言,并可以被其他用戶看到。如果存在XSS漏洞,攻擊者可以留一段特殊的“言”:

于是每位瀏覽該頁面的用戶瀏覽器都會(huì)出現(xiàn)一個(gè)彈窗,并顯示hello word。當(dāng)然這只是闡述原理的簡(jiǎn)單示例,并不產(chǎn)生攻擊效果,但稍作深入就可以做更多事情,比如盜取身份信息:

thief.js核心攻擊代碼:

var ca=document.cookie;

script.src='http://example.com/ thief.php?ca='+ca;

簡(jiǎn)單幾行代碼即可讀取用戶的cookie,傳送至攻擊者服務(wù)器進(jìn)行收集,以進(jìn)行下一步攻擊活動(dòng),這就是典型身份盜取攻擊。以此原理類推,XSS漏洞還會(huì)產(chǎn)生釣魚詐騙、網(wǎng)頁掛馬、垃圾信息發(fā)送、劫持用戶行為等諸多安全威脅。

3.2 防范技術(shù)

避免產(chǎn)生XSS漏洞的原則是控制數(shù)據(jù)輸入點(diǎn)和輸出點(diǎn),編碼過程中對(duì)輸入和輸出的數(shù)據(jù)進(jìn)行過濾和轉(zhuǎn)換,主要措施有以下5條:

(1)在數(shù)據(jù)輸入點(diǎn)的過濾和轉(zhuǎn)換與上文SQL漏洞防范技巧一致,注意輸入點(diǎn)的防護(hù)不僅僅在POST數(shù)據(jù)中,任何從客戶端發(fā)送的數(shù)據(jù)都可作為XSS攻擊使用。

(2)服務(wù)器端輸出轉(zhuǎn)換:對(duì)于完全沒有必要在頁面上執(zhí)行HTML和Script的代碼的應(yīng)用場(chǎng)景,在服務(wù)器端使用htmlspecialchars()、htmlentities()或第三方RemoveXss()函數(shù)進(jìn)行轉(zhuǎn)換后再輸出,確保沒有可執(zhí)行的腳本代碼輸出到客戶端。

(3)客戶端輸出轉(zhuǎn)換:對(duì)于確有必要輸出腳本代碼到客戶端執(zhí)行、開發(fā)JavaScript API等應(yīng)用場(chǎng)景,在客戶端使用定義好的腳本函數(shù)進(jìn)行過濾,如JS中的innerText()、textContent()、innerHTML()函數(shù)和jQuery中的text()函數(shù)。

(4)設(shè)置HTTP內(nèi)容安全策略:內(nèi)容安全策略(Content Security Policy,簡(jiǎn)稱CSP)采用白名單作機(jī)制限制頁面可以包含哪些來源的內(nèi)容,可在HTTP Header中發(fā)送或在HTML meta屬性中聲明。正確設(shè)置CSP后,瀏覽器會(huì)阻止非法來源的外部?jī)?nèi)容(如上例中的example.com),能夠緩解XSS攻擊。

(5)在Web服務(wù)器配置Cookie的HttpOnly屬性,起到在發(fā)生XSS攻擊防止Cookie被盜取的作用。

上述前3點(diǎn)是筆者推薦必須要做的事情,不可完全依賴于后兩點(diǎn),因?yàn)橛脩魹g覽器存在多種品牌和多個(gè)版本,不完全可信,攻擊者可以結(jié)合瀏覽器自身漏洞進(jìn)行組合攻擊。

4 文件上傳漏洞

4.1 利用原理分析

很多網(wǎng)站都有文件上傳功能,如附件上傳、圖片上傳,攻擊者可利用網(wǎng)站自身的文件上傳功能,上傳木馬、病毒、后門程序等至服務(wù)器,并偽裝成可執(zhí)行或可解釋文件運(yùn)行,造成信息竊取、破壞,結(jié)合其他漏洞就可以輕易獲得控制器。成熟的木馬、病毒、后門程序能在網(wǎng)絡(luò)上輕易獲取,利用文件上傳漏洞進(jìn)行攻擊,上手難度低但威脅非常大,同樣需要引起高度重視。

4.2 防范技術(shù)

(1)文件擴(kuò)展名檢查:對(duì)上傳文件的擴(kuò)展名進(jìn)行檢查,采用白名單機(jī)制,只允許需要的文件上傳,如:只允許上傳擴(kuò)展名為jpg、png的文件,拒絕其他文件上傳。但部分老版本的操作系統(tǒng)存在空格和dot漏洞,老版本的Web服務(wù)器也存在解析漏洞,文件擴(kuò)展名檢查可被繞過。

(2)Content-Type檢查:每種文件都有唯一的Content-Type,可對(duì)上傳文件的Content-Type檢查確定文件類型,達(dá)到只允許需要的文件上傳目的。但可以使用相關(guān)工具篡改文件的Content-Type,達(dá)到欺騙檢查程序的目的。

(3)限制Web服務(wù)器行為:配置Web服務(wù)器和解釋器,禁止上傳文件保存目錄下的文件被解釋器解釋,禁止特定文件的HTTP訪問權(quán)限,比如在PHP的doc_root或user_dir中排除掉上傳文件保存目錄,在Apache中Directory設(shè)置中禁止允許的上傳文件之外的文件被訪問。通過這兩點(diǎn)措施,即便非法文件上傳,也不能被訪問和被解釋,可較大程度減少威脅。

(4)限制目錄權(quán)限:通過服務(wù)器操作系統(tǒng)文件系統(tǒng)權(quán)限配置上傳文件保存目錄的權(quán)限為只允許讀取、寫入而不能運(yùn)行,可以控制病毒木馬對(duì)操作系統(tǒng)的影響。

(5)安裝殺毒/威脅防護(hù)軟件并及時(shí)升級(jí),對(duì)上傳的文件進(jìn)行實(shí)時(shí)檢測(cè)和病毒查殺。

文件上傳漏洞的封堵較為復(fù)雜,上述5點(diǎn)不一定完全涵蓋,但在實(shí)際操作中不能遺漏其中之一。

5 結(jié)束語

本文介紹了三種最常見的Web 漏洞,對(duì)其原理進(jìn)行了簡(jiǎn)要的分析,并對(duì)軟件編碼中需要應(yīng)用的防范技術(shù)進(jìn)行了研討,希望軟件開發(fā)人員能在開發(fā)過程嚴(yán)格按規(guī)范編碼,做到邏輯嚴(yán)密、層層過濾,提高軟件產(chǎn)品的安全性,同時(shí)也希望信息系統(tǒng)管理人員能了解基本的漏洞利用原理,有針對(duì)性地開展網(wǎng)絡(luò)安全工作。

[1]王云,郭外萍,陳承歡.Web項(xiàng)目中的SQL注入問題研究與防范方法[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(05):976-978+1016.

[2]金濤,霍旭磊,王亞麗.XSS的攻擊利用與防護(hù)策略研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2021(01):14-16.

[3]武云蕾. Web應(yīng)用的SQL注入測(cè)試工具的設(shè)計(jì)與實(shí)現(xiàn)[D].西安電子科技大學(xué),2019.

[4]秦亞芬. 存儲(chǔ)型跨站腳本漏洞關(guān)鍵技術(shù)研究與實(shí)現(xiàn)[D].北京工業(yè)大學(xué),2019.

川北醫(yī)學(xué)院2016年校級(jí)科研發(fā)展計(jì)劃項(xiàng)目

猜你喜歡
數(shù)據(jù)庫(kù)用戶
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數(shù)據(jù)庫(kù)
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
Camera360:拍出5億用戶
100萬用戶
主站蜘蛛池模板: 国产成人精品2021欧美日韩| 欧美激情二区三区| 国产AV无码专区亚洲精品网站| 国产精品视频3p| 亚洲综合色在线| 午夜综合网| 欧美人在线一区二区三区| 亚洲中文久久精品无玛| 国产精品私拍在线爆乳| 视频一区亚洲| 在线观看av永久| 亚洲国产日韩在线观看| 国产成人综合亚洲欧美在| 亚洲综合在线最大成人| 国产精品永久不卡免费视频| 欧美人人干| 国产精品专区第1页| 国产又粗又猛又爽视频| 久久人与动人物A级毛片| 97精品久久久大香线焦| 综合色区亚洲熟妇在线| 在线观看视频99| 亚洲日韩精品无码专区| 亚洲日韩Av中文字幕无码 | 亚洲二三区| 99国产精品国产| 国产91精品久久| 曰韩人妻一区二区三区| 国产欧美在线| 欧美日韩北条麻妃一区二区| 亚洲无码免费黄色网址| 欧美a级在线| 国产靠逼视频| 农村乱人伦一区二区| 黄色三级毛片网站| 无码精油按摩潮喷在线播放| 国产色伊人| 四虎永久在线精品国产免费| 97国产在线观看| 毛片a级毛片免费观看免下载| 九色在线观看视频| 日韩东京热无码人妻| 欧美日韩精品综合在线一区| 亚洲热线99精品视频| 东京热一区二区三区无码视频| 男人天堂亚洲天堂| 九色视频最新网址 | 五月婷婷导航| 亚洲日本中文字幕天堂网| 久久国产亚洲偷自| 欧美成人精品高清在线下载| 黄色网址免费在线| a毛片在线免费观看| 久久 午夜福利 张柏芝| 久久性视频| 欧美成人影院亚洲综合图| 老司机午夜精品网站在线观看 | 国产无码精品在线播放 | 色噜噜狠狠狠综合曰曰曰| 又猛又黄又爽无遮挡的视频网站| 四虎国产精品永久在线网址| 精品视频在线一区| WWW丫丫国产成人精品| 91小视频在线| 国产精品网拍在线| 草逼视频国产| 久久综合结合久久狠狠狠97色| 九月婷婷亚洲综合在线| 日本午夜三级| 国产综合色在线视频播放线视| 久久精品91麻豆| 久久这里只有精品8| 亚洲中文字幕日产无码2021| 久久香蕉国产线看观看精品蕉| 在线毛片网站| 欧美视频免费一区二区三区| 国产成人精品高清在线| 55夜色66夜色国产精品视频| 亚洲国产高清精品线久久| 啪啪免费视频一区二区| 日本人又色又爽的视频| 成人综合久久综合|