久久无码高潮喷水抽搐,极品馒头泬19p,久久人人爽精品玩人妻av,精品国产成人国产在线视,精品视频一区二区三区在线观看

網(wǎng)絡(luò)安全技術(shù) 再討論跨站腳本攻擊與防御

您當(dāng)前位置:首頁 > 紅訊頻道 > 網(wǎng)絡(luò)技術(shù)

  • 紅軟基地 推薦
  • 2012-01-17

  網(wǎng)絡(luò)上曾經(jīng)有過關(guān)于跨站腳本攻擊與防御的文章,但是隨著攻擊技術(shù)的進(jìn)步,以前的關(guān)于跨站腳本攻擊的看法與理論已經(jīng)不能滿足現(xiàn)在的攻擊與防御的需要了,而且由于這種對(duì)于跨站腳本認(rèn)識(shí)上的混亂,導(dǎo)致現(xiàn)在很多的程序包括現(xiàn)在的動(dòng)網(wǎng)都存在著跨站腳本過濾不嚴(yán)的問題,希望本文能給寫程序的與研究程序的帶來一點(diǎn)思路。FBj紅軟基地

  還是首先看看跨站腳本漏洞的成因,所謂跨站腳本漏洞其實(shí)就是Html的注入問題,惡意用戶的輸入沒有經(jīng)過嚴(yán)格的控制進(jìn)入了數(shù)據(jù)庫最終顯示給來訪的用戶,導(dǎo)致可以在來訪用戶的瀏覽器里以瀏覽用戶的身份執(zhí)行HTml代碼,數(shù)據(jù)流程如下:FBj紅軟基地

  惡意用戶的Html輸入————>web程序————>進(jìn)入數(shù)據(jù)庫————>web程序————>用戶瀏覽器FBj紅軟基地

  這樣我們就可以清楚的看到Html代碼是如何進(jìn)入受害者瀏覽器的了,我們也就可以根據(jù)這個(gè)流程來討論跨站腳本的攻擊與防御了!FBj紅軟基地

  1、什么是HTml輸入?FBj紅軟基地

  這里給出一個(gè)HTml代碼的示例FBj紅軟基地

  <img src="http://www.loveshell.jpg" width=100 onerror=alert("載入圖片錯(cuò)誤!")>FBj紅軟基地

  很多的程序最終都是將用戶的輸入轉(zhuǎn)換成這種形式的?梢钥吹<>是告訴瀏覽器這是一個(gè)Html標(biāo)記,img是這個(gè)Html標(biāo)記的名稱,src 是這個(gè)標(biāo)記的第一個(gè)屬性,=后面是這個(gè)屬性的值,后面的width是第二個(gè)屬性,onerror是標(biāo)記的事件屬性。大家可以看到,一個(gè)Html標(biāo)記是包括很多元素的,并不是傳統(tǒng)意義上的只有輸入<>才會(huì)注入Html,事實(shí)上只要你的輸入處在Html標(biāo)簽內(nèi),產(chǎn)生了新的元素或者屬性,就實(shí)現(xiàn)了跨站腳本攻擊!實(shí)際上大多數(shù)隱秘的跨站腳本攻擊是不需要<>的,因?yàn)楝F(xiàn)在的Ubb標(biāo)簽已經(jīng)讓你處在了Html標(biāo)記之內(nèi),很有意思,不是么?FBj紅軟基地

  2、哪里才是罪惡的來源?FBj紅軟基地

  既然我們的目標(biāo)是引入代碼在目標(biāo)用戶的瀏覽器內(nèi)執(zhí)行,那么我們來看看哪些地方可以引入HTml代碼吧!如果用戶可以不受限制的引入<>,那么很顯然他可以完全操縱一個(gè)Html標(biāo)記,譬如<script>alert('xss')</script>這樣的形式,這對(duì)于追求安全的程序來說是絕對(duì)不允許的,所以首先要做轉(zhuǎn)換的就是<>,通過如下代碼:FBj紅軟基地

過濾代碼:FBj紅軟基地
replace(str,"<","<")FBj紅軟基地
replace(str,">",">")FBj紅軟基地
好了,用戶可能不能構(gòu)造自己的HTml標(biāo)記了,那么利用已經(jīng)存在的屬性如何呢?下面的代碼依然可以工作得很好:
FBj紅軟基地

<img src="javascript:alert(/xss/)" width=100>FBj紅軟基地

  因?yàn)楹芏嗟腍tml標(biāo)記里屬性都支持javascript:[code]的形式,很好,很多的程序意識(shí)到了這一點(diǎn),可能做了如下的轉(zhuǎn)換:FBj紅軟基地

過濾代碼FBj紅軟基地
Dim reFBj紅軟基地
Set re=new RegExpFBj紅軟基地
re.IgnoreCase =TrueFBj紅軟基地
re.Global=TrueFBj紅軟基地
re.Pattern="javascript:"FBj紅軟基地
Str = re.replace(Str,"javascript:")FBj紅軟基地
re.Pattern="jscript:"FBj紅軟基地
Str = re.replace(Str,"jscript:")FBj紅軟基地
re.Pattern="vbscript:"FBj紅軟基地
Str = re.replace(Str,"vbscript:")FBj紅軟基地
set re=nothing
FBj紅軟基地

來源:紅訊頻道

專題合集 | 手機(jī)游戲 | 最近更新 | 下載排行 | 提交軟件 | 在線病毒掃描 | 聯(lián)系我們 | 版權(quán)聲明 | 網(wǎng)站地圖
Copyright ©2006-2013 紅軟基地(www.piola.cn). 湘ICP備2024053236號(hào)-1