成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

談跨站腳本攻擊與防御的正確應用

安全 應用安全
我們今天主要向大家講述的是腳本攻擊與防御的實際操作技巧,以及對跨站腳本漏洞的成因的描述,以下就是文章的主要內容的講述。

以下的文章主要向大家講述的是腳本攻擊與防御的實際操作技巧,網絡上曾經有過關于講述跨站腳本攻擊和防御的文案,但是隨著攻擊技術的不斷進步進步,以前的關于跨站腳本攻擊的看法與理論已經不能滿足現在的攻擊與防御的需要了,而且由于這種對于跨站腳本認識上的混亂.....

網絡上曾經有過關于跨站腳本攻擊與防御的文章,但是隨著攻擊技術的進步,以前的關于跨站腳本攻擊的看法與理論已經不能滿足現在的攻擊與防御的需要了,而且由于這種對于跨站腳本認識上的混亂,導致現在很多的程序包括現在的動網都存在著跨站腳本過濾不嚴的問題,希望本文能給寫程序的與研究程序的帶來一點思路。

還是首先看看跨站腳本漏洞的成因,所謂跨站腳本漏洞其實就是Html的注入問題,惡意用戶的輸入沒有經過嚴格的控制進入了數據庫最終顯示給來訪的用戶,導致可以在來訪用戶的瀏覽器里以瀏覽用戶的身份執行HTml代碼,數據流程如下:

惡意用戶的Html輸入————>web程序————>進入數據庫————>web程序————>用戶瀏覽器

這樣我們就可以清楚的看到Html代碼是如何進入受害者瀏覽器的了,我們也就可以根據這個流程來討論跨站腳本的攻擊與防御了!

1 什么是HTml輸入?

這里給出一個HTml代碼的示例

很多的程序最終都是將用戶的輸入轉換成這種形式的。可以看到<>是告訴瀏覽器這是一個Html標記,img是這個Html標記的名稱,src是這個標記的第一個屬性,=后面是這個屬性的值,后面的width是第二個屬性,onerror是標記的事件屬性。大家可以看到,一個Html標記是包括很多元素的,并不是傳統意義上的只有輸入<>才會注入Html,事實上只要你的輸入處在Html標簽內,產生了新的元素或者屬性,就實現了跨站腳本攻擊!實際上大多數隱秘的跨站腳本攻擊是不需要<>的,因為現在的Ubb標簽已經讓你處在了Html標記之內,很有意思,不是么?

2 哪里才是罪惡的來源?

既然我們的目標是引入代碼在目標用戶的瀏覽器內執行,那么我們來看看哪些地方可以引入HTml代碼吧!如果用戶可以不受限制的引入<>,那么很顯然他可以完全操縱一個Html標記,譬如 這樣的形式,這對于追求安全的程序來說是絕對不允許的,所以首先要做轉換的就是<>,通過如下代碼:

過濾代碼:

 

  1. replace(str,"<","<")  
  2. replace(str,">",">")  

 

好了,用戶可能不能構造自己的HTml標記了,那么利用已經存在的屬性如何呢?下面的代碼依然可以工作得很好:

因為很多的Html標記里屬性都支持javascript:[code]的形式,很好,很多的程序意識到了這一點,可能做了如下的轉換:

過濾代碼

 

  1. Dim re  
  2. Set re=new RegExp  
  3. re.IgnoreCase =True 
  4. re.Global=True 
  5. re.Pattern="javascript:" 
  6. Str = re.replace(Str,"javascript:")  
  7. re.Pattern="jscript:" 
  8. Str = re.replace(Str,"jscript:")  
  9. re.Pattern="vbscript:" 
  10. Str = re.replace(Str,"vbscript:")  
  11. set re=nothing 

 

你看,只要發現以javascript等腳本屬性的形式都會被過濾掉,失去了:的腳本代碼是起不了作用的!這樣完美了么?事實上Html屬性的值,注意是值而不是屬性本身是支持&#ASCii這種形式表示的,譬如上面的代碼可以換成這樣:

代碼又執行了,呵呵!看來你漏掉了點什么哦,加上這個代碼吧!

 

  1. replace(str,"&","&") 

行了,&失去它原來的意義了,用戶不能以其他方式表示Html屬性值了哦!等等,這樣的過濾真可以相信么?只要發現這種過濾的關鍵字機制,饒過就是簡單的問題了:

沒有javascript關鍵字了哦!注意中間那個是tab鍵弄出來的!關鍵字被拆分了哦!這是個很麻煩的問題,很多人忘記了這些特殊的字符,呵呵!有人想到要過濾空格了,在過濾之前我們再看看其他的一些東西吧!也許我們現在所處的src屬性已經無法利用了,但是我們依然可以產生自己的屬性或者事件機制哦!依然是可以執行Html代碼的,首先說說事件機制吧:

這樣依然可以執行代碼的哦!明白問題出在哪了,不是么?有的程序員仿佛明白了,注意我說的是仿佛,動網就是一個典型的例子,事件屬性不是要onerror么?很多人開始用正則表達式了,發現關鍵的詞如onerror就會做轉換或者提示用戶不執行,是不是沒有機會了呢?

當然不是的,事件只是讓代碼運行的一種方法而不是所有的,可以定義事件了那么也就可以實現自己弄出自己的屬性了,試試下面的:

呵呵,還是執行了哦!在做關鍵字過濾之后有人發現是不是屬性之間分隔要用到空格,好,他們把空格堵死了(這樣認為的人很多,呵呵)!將空格轉成 是個很普遍的方法?是么?甚至還可以讓別人無法關鍵字拆分,不要太自信了,試試下面的代碼看看如何:

這好象是利用了腳本里注釋會被當作一個空白來表示造成的!那怎么辦呢?上面提到的好象一直都是在進行被動的攻擊防御,為什么不抓住他的本源出來呢?哪里出了問題哪里堵上!

上面的問題好象本質上就是一個東西,那就是用戶超越了他所處的標簽,也就是數據和代碼的混淆,對付這種混淆的辦法就是限制監牢,讓用戶在一個安全的空間內活動,這通過上面的分析大家也可能已經知道,只要在過濾了<>這兩個人人都會去殺的字符之后就可以把用戶的輸入在輸出的時候放到""之間,現在的一般的程序都是這樣做的,譬如[img]http://www.loveshell.net[/img]將會轉化成這是個好的安全習慣,然后呢?就要讓用戶的輸入處在安全的領域里了,這可以通過過濾用戶輸入里""實現,但是不要忘記了,這個標簽本身也是不安全的,過濾掉空格和tab鍵就不用擔心關鍵字被拆分饒過了,然后就是用文章中提到的辦法過濾掉script關鍵字,最后就是防止用戶通過&#這樣的形式饒過檢查,轉換掉&吧!

在文章中開始提到的圖里可以看到,數據的轉換和過濾是可以在3個地方進行轉換的,在接受數據的時候可以轉換下,在進入數據庫的時候可以轉換下,在輸出數據的時候也可以轉換下,但是困惑在哪里呢?

不得不面對一個問題就是許多時候程序員舍不得為安全做出那么大的應用上的犧牲,安全是要有代價的,譬如現在郵箱的就不愿意舍棄html標簽,所以他們側重于XSS的IDS檢測的性質,只要發現不安全的東西就會轉化,但是攻擊是無法預知的,漂亮的東西總是脆弱的,有限制,肯定就有人會饒過,呵呵。本文沒什么技術含量,只是希望搞安全的腳本人員能更加的了解Xss,跨站,不是那么簡單滴!

上述的相關內容就是對談跨站腳本攻擊與防御的描述,希望會給你帶來一些幫助在此方面。

 

【編輯推薦】

  1. 全面解析跨站腳本攻擊
  2. 使用工具和測試防范跨站點腳本攻擊
  3. 十二問讓你全面了解跨站腳本攻擊
  4. 跨站腳本攻擊深入解析之:漏洞利用過程
  5. 巧妙運用NoScript阻止腳本攻擊
責任編輯:佚名 來源: 安全在線
相關推薦

2010-09-10 10:57:33

2010-06-07 20:19:49

2013-01-11 17:33:46

2010-09-29 15:33:51

2010-05-28 15:16:40

MySQL 資源

2021-07-02 16:13:01

區塊鏈金融數據庫

2010-09-09 11:19:10

2010-07-26 17:43:34

SQL Server

2010-06-30 16:26:05

2010-09-27 17:37:10

2009-03-09 17:19:53

2010-05-25 18:01:35

linux MySQL

2010-05-28 19:20:36

MySQL mysql

2009-12-07 14:38:14

PHP foreach

2010-09-10 14:13:11

2012-11-15 09:51:36

2020-12-21 09:40:06

腳本攻擊XSS漏洞

2017-06-14 16:08:31

2010-02-22 10:42:12

WCF Stream

2010-07-21 10:50:48

SQL Server存
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 99久久婷婷| 久久国产成人精品国产成人亚洲 | 亚洲国产精品一区二区久久 | 中文字幕亚洲国产 | 日韩av一区二区在线观看 | 伊人网在线播放 | 亚洲成人综合社区 | 国产成人久久av免费高清密臂 | 亚洲免费在线 | 日韩免费毛片视频 | 日韩成人av在线播放 | 精品区一区二区 | 亚洲影视在线 | 97影院在线午夜 | 久色 | 自拍偷拍中文字幕 | 国产三级日本三级 | 日韩中文av在线 | 精品国产鲁一鲁一区二区张丽 | 精品视频久久久久久 | 一区二区三区精品视频 | 天天天操操操 | 蜜桃官网| 亚洲一区二区三区在线 | 精品国产乱码一区二区三 | 精品一区二区三区四区五区 | 97日日碰人人模人人澡分享吧 | 青草青草久热精品视频在线观看 | 国产精品欧美大片 | 中文日韩在线 | 综合色久| 91xx在线观看| 黄在线免费观看 | 国产视频1 | 伊人网站 | 精精国产xxxx视频在线播放 | 精品久久久久久18免费网站 | 欧美在线a | 国产丝袜一区二区三区免费视频 | 国产精品欧美一区二区三区不卡 | 免费观看视频www |