欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

UBB的跨站腳本攻擊的漏洞

 更新時間:2007年01月16日 00:00:00   作者:  
近日,由于發(fā)現(xiàn)一些站點仍然存在UBB的跨站腳本攻擊的漏洞.跨站腳本攻擊雖然很少會對服務器造成一些什么比較大的影響,但對于一個站點來說,存在這種漏洞實在是太不值得!小則,彈點 什么東東出來;中則改改主頁;重則竊取用戶的COOKIES資料,更甚者將會G掉瀏覽者的硬盤.一個站點被變成一個惡意網(wǎng)站,還有誰敢來?如果再加上該站的站長比較"盲"一些,豈不亂套了? 
  
  小小的一段代碼就真的能使一個站點成這樣?好叫我們來具體的看看所謂的跨站腳本攻擊到底會成為什么樣的攻擊模式.進入一個含UBB功能的站點,比如留言板,論壇,或是含提交程序的站點.首先,講一下最簡單的腳本攻擊:<td ></td >等HTML字符的過濾問題. 
  
  登陸過一個CGI制作站點.以原來ASP的眼光看CGI的站點,感覺CGI對腳本的過濾應該很好.于是做了最初的測試.在用戶一欄中填寫<td >,提交用戶注冊后發(fā)現(xiàn)并沒提出非法字符的提示.注冊完成后,點擊資料也發(fā)現(xiàn)頁面變形了.如在其他幾個如國家,性別里填寫也會出現(xiàn)同樣的問題,那頁面就沒法看了.于是換了一個站點,再次提交<td >出現(xiàn)了非法字符提示,看來站點是已經(jīng)過濾的<>等HTML的腳本字符,那好,我們改用ASCII 碼替換<> 如& #60; & #62;代替提交后再來看,又出現(xiàn)了上面頁面變形的情況,看來非法過濾機制還不是很完善. 更有甚者,我竟發(fā)現(xiàn)一個站點內(nèi)的姓名欄填寫時沒有字數(shù)大小設置,沒有過濾任何非法字符,如果我提交個什么惡意代碼那還不成全了我? 
  
  簡單的腳本攻擊如<td >等HTML格式的代碼一定要過濾好,上面的一些站點還沒牽扯到UBB就出問題了.那我們下面就開始重點講一下UBB過濾漏洞的問題.UBB是論壇中用來替換HTML編輯的一種格式符號,如[b ][/b ]可以替換成HTML中的< b></ b>..然而就是這一個替換問題,就成了跨站腳本攻擊的最佳積聚地.測試了一個ASP留言版以及一個整站的程序代碼: 
  
  初級問題: [url ]的過濾,在提交該代碼時可以構建一個onmouseover函數(shù)的惡意代碼,既然onmouseover可以生效,那還有什么辦不到的?一些原碼程序在變換[url ][/url ]時,只是將[url ]s2[/ url]中的s2直接提交到< a href="s2" target=_blank>S2</a >中.看到如此轉(zhuǎn)換我們可以使用相應的ASCII 碼中的& #34;來代替",我們多提交一個"然后在構建onmouseover函數(shù)進行操作,后果?你應該知道!:P 
  
  [img ]的過濾,這真的算是個老大難的問題.很早以前就是[img]的腳本攻擊流行一時啊.這次測試中,很多站點還是仍然存在這個漏洞.有點程序根本沒有進行過濾.尤其是一些免費留言板的提供站點很多都存在這樣的問題.下面我們主要將一下[IMG ]標簽的問題: 
  
  很簡單的[img ]javascript :alert();[/ img]提交后轉(zhuǎn)換成的代碼為< img src="javascript :alert();">,好,到這里我們就可以看到javascript :alert();被< img src="">標簽激活了.表現(xiàn)就是彈出對話框.上面寫著你在()中要提交的東西.如documents.cookie 呵呵..大多數(shù)人都應該知道這東西是做什么.更有甚者,使用document.write();函數(shù),可以寫網(wǎng)頁.寫什么?當然是惡意代碼,如[ img]javascript :document.write();[ /img].()中間加你要加的,寫你要寫的,想多危險就多危險. 
  
  高級問題: 由于[img ]的初級問題騷擾很多站點就對一個敏感的字符開始過濾.如ja連接,do連接,wr連接,提交后自動分為j a,d o,w r.或是對字符進行過濾java,document,等等.而這些只能難倒一小部分人.我們?nèi)匀豢梢岳肁SCII碼來代替.可能有人會對代替后的代碼仍然不能正常顯示而困惑.好,我們下面以一個完整的例子介紹: 
  
  某站點UBB過濾代碼段如下: 
  <% 
  Function code_ssstrers) 
  dim strer:strer=strers 
  if strer="" or isnull(strer) then code_ss"":exit function 
  
  strer=replace(strer,"<","<") 
  strer=replace(strer,">",">") 
  strer=replace(strer," "," ") ’空格 
  strer=replace(strer,CHR(9)," ") ’table 
  strer=replace(strer,"’","’") ’單引號 
  strer=replace(strer,"""",""") ’雙引號 
  
  dim re,re_v 
  re_v="[^\(\)\;\’;""\[]*" 
  ’re_v=".[^\[]*" 
  Set re=new RegExp 
  re.IgnoreCase =True 
  re.Global=True 
  
  re.Pattern="(javascript :)" 
  strer=re.Replace(strer,"javascript:") 
  re.Pattern="(javascript)" 
  strer=re.Replace(strer,"javascript") 
  re.Pattern="(jscript:)" 
  strer=re.Replace(strer,"jscript :") 
  re.Pattern="(js:)" 
  strer=re.Replace(strer,"js:") 
  re.Pattern="(value)" 
  strer=re.Replace(strer,"value") 
  re.Pattern="(about:)" 
  strer=re.Replace(strer,"about:") 
  re.Pattern="(file:)" 
  strer=re.Replace(strer,"file&:") 
  re.Pattern="(document.)" 
  strer=re.Replace(strer,"document :") 
  re.Pattern="(vbscript:)" 
  strer=re.Replace(strer,"vbscript :") 
  re.Pattern="(vbs:)" 
  strer=re.Replace(strer,"vbs :") 
  re.Pattern="(on(mouse|exit|error|click|key))" 
  strer=re.Replace(strer,"on$2") 
  
  能看懂ASP的朋友,就可以看出,以上代碼段對javascript,jscript:,js:,about;value,document.,onmouse以及onexit等語句進行了過濾和替換.并對一些特殊字符進行了替換.如".",";""(",")" [替換代碼為""中間的"..仔細觀察代碼后我們會發(fā)現(xiàn)其過濾機制并非想想象的那樣完美.提交:[ mg]& #176& #93& #118& #97& #115& #79rip& #106& #57documen& #115& #76write& #30& #29哈哈又被黑了& #29& #61& #29[/ mg] 類似代碼就可以實現(xiàn)更高級的腳本攻擊.注:由于很多站點仍存在此問題,所以將代碼修改過,無攻擊性了. 
  打開你的FT2000,使用文本編輯,你可以找到任何特殊字符所屬的ASCII碼.如:分號;可以代替為&# 59,句點.可以代替為&# 46,以這樣的形式我們再次提交代碼.果然,上面整個的過濾機制幾乎完全失效了.根本沒起到什么防御作用. 
  
  看了以上的攻擊方法,是不是覺得很郁悶?如果才能避免上面的問題發(fā)生? 
  
  1.如果你的站點程序含論壇,留言板,以及其他程序中含提交數(shù)據(jù)格式的,沒有很好過濾機制,請馬上下載升級程序或是停止使用.避免造成更多的問題. 
  2.各提供免費論壇,免費申請留言板的站,請將UBB格式關閉.或找到更好的解析UBB.ASP程序頁. 
  3.對一些會編寫ASP的朋友,我建議大家過濾一下字符:(全部字符將寫在[]中)如: 
  ["|.|;|:|\|/|&|$|#|`|)|,|’|"|-|~|[|(||] 注:其中|為分割符 
  
  4.對于某些站點建議去掉問題比較多的留言板,或是其他含提交的程序.如:原www.sangel.net使用的guestbook,一些不知名的程序體問題更是多多.建議換掉它. 
  
  5.我本人也修改了一個國外的留言板,前臺基本已經(jīng)修改完畢.后臺這幾天正在趕.修改后感覺在文本提交和輸入以及留言時都有了很好的過濾.本來打算全采用英文界面,但考慮到N多chinese 對英語不過關,我還是將部分程序漢化了.有興趣的朋友可以http://www.e3i5.com/guestbook/ 測試.我們歡迎善意的測試. 
  
  以下是國內(nèi)一些經(jīng)過本人測試的站點的留言板有問題的地址,(請各位站長注意啦,及時修補程序免得造成不必要的麻煩),測試的時間比較短一些,可能有一些站點沒有找到.可能存在著更嚴重的問題.
  
  以上就是這次腳本攻擊測試的全部內(nèi)容。綜觀全部站點,看上去安全性真是的不敢再想.問題多多. 
  雖然只是舉手之勞就可以解決的問題,但稍不小心就會造成大問題。 

相關文章

最新評論