欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

XSS跨站攻擊及漏洞原理

系統 2426 0

什么是XSS(跨站)攻擊
·XSS(跨站)攻擊的概念
  XSS又叫CSS (Cross Site Script) ,跨站腳本攻擊。它指的是惡意攻擊者往Web頁面里插入惡意html代碼,當用戶瀏覽該頁之時,嵌入其中Web里面的html代碼會被執行,從而達到惡意用戶的特殊目的。XSS屬于被動式的攻擊,因為其被動且不好利用,所以許多人常呼略其危害性。而本文主要講的是利用XSS得到目標服務器的shell。技術雖然是老技術,但是其思路希望對大家有幫助。
·跨站攻擊的方式
  跨站攻擊有多種方式,由HTML語言允許使用腳本進行簡單交互,入侵者便通過技術手段在某個頁面里插入一個惡意HTML代碼——例如記錄論壇保存的用戶信息(Cookie),由于Cookie保存了完整的用戶名和密碼資料,用戶就會遭受安全損失。當然,攻擊者有時也會在網頁中加入一些以.JS或.VBS為后尾名的代碼時,在我們瀏覽時,同樣我們也會被攻擊到。
·如何尋找XSS漏洞

  XSS攻擊分成兩類,一類是來自內部的攻擊,主要指的是利用程序自身的漏洞,構造跨站語句,如:dvbbs的showerror.asp存在的跨站漏洞。另一類則是來來自外部的攻擊,主要指的自己構造XSS跨站漏洞網頁或者尋找非目標機以外的有跨站漏洞的網頁。如當我們要滲透一個站點,我們自己構造一個有跨站漏洞的網頁,然后構造跨站語句,通過結合其它技術,如社會工程學等,欺騙目標服務器的管理員打開。

?

XSS(Cross Site Script)漏洞原理

XSS的全稱是Cross Site Scripting,意思是跨站腳本.這第一個單詞是Cross,為什么縮寫成X呢?因為CSS是層疊樣式表的縮寫(Cascading Style Sheets)的縮寫,同時Cross發音和X相似,為了避免混淆用X來代替,縮寫成XSS。其實我覺得叫XSS挺合適的,因為現在流行AJAX嘛,新的跨站腳本攻擊技術很多都是和XMLHTTP控件無間配合,嘿嘿,這個是題外話,我們只講原理,下面我就分兩個部分分析XSS原理:

??? ? 一、XSS的觸發條件

??? 了解XSS的觸發條件就先得從HTML(超文本標記語言)開始,我們瀏覽的網頁全部都是基于超文本標記語言創建的,如顯示一個超鏈接:

??? <A HREF=" http://safe.it168.com">IT168 安全 頻道</A>


??? 而XSS的原理也就是往HTML中注入腳本,HTML指定了腳本標記<script></script>.在沒有過濾字符的情況下,只需要保持完整無錯的腳本標記即可觸發XSS,假如我們在某個資料表單提交內容,表單提交內容就是某個標記屬性所賦的值,我們可以構造如下值來閉和標記來構造完整無錯的腳本標記,

??? "><script>alert('XSS');</script><"

??? 結果形成了<A HREF=""><script>alert('XSS');</script> <"">茄子寶的博客在這里</A>這樣一個標記,:)這里和SQL注入很象!

??? 測試閉和表單賦值所在的標記,形成完整無錯的腳本標記可觸發XSS,但是沒有腳本標記怎么觸發XSS呢?呵呵,我們只好利用其他標記了,假如要在網頁里顯示一張圖片,那么就要使用一個<img>標記,示例如下:

??? <img src=" ? http://safe.it168.com ? /xss.gif">

??? img標記并不是真正地把圖片給加入到Html文檔把兩者合二為一,而是通過src屬性賦值。那么瀏覽器的任務就是解釋這個img標記,訪問src屬性所賦的值中的URL地址并輸出圖片。問題來了!瀏覽器會不會檢測src屬性所賦的值呢?答案是否!那么我們就可以在這里大做文章了,接觸過javascript的同志應該知道,javascript有一個URL偽協議,可以使用“javascript:”這種協議說明符加上任意的javascript代碼,當瀏覽器裝載這樣的URL時,便會執行其中的代碼.于是我們就得出了一個經典的XSS示例:

??? <img src="javascript:alert('XSS');"> 如圖一

XSS跨站攻擊及漏洞原理

?

??? 當然并不是所有標記的屬性都能用,細心的你應該發現標記的屬性在訪問文件才觸發的XSS,這里我就不再深入,因為離開標記的屬性還有事件能幫助我們觸發XSS.那什么是事件呢?只有達到某個條件才會引發事件,正巧img標記有一個可以利用的onerror()事件,當img標記內含有一個onerror()事件而正好圖片沒有正常輸出便會觸發這個事件,而事件中可以加入任意的腳本代碼,其中的代碼也會執行.現在我們又得到了另外一個經典的XSS示例:

<img src=" ? http://xss.jpg " onerror=alert('XSS')>如圖二

XSS跨站攻擊及漏洞原理

?

??? 綜合這一部分,我們知道XSS的觸發條件包括:完整無錯的腳本標記,訪問文件的標記屬性和觸發事件。

二、XSS轉碼引發的過濾問題

??? 有攻就有防,網站程序員肯定不會放任大家利用XSS,所以他們常會過濾類似javascript的關鍵字符,讓大家構造不了自己的XSS,我這里就撿兩個被忽略慣了的字符來說,它們是"&"和"\".首先來說說"&"字符,玩過SQL注入的都知道,注入的語句可以轉成16進制再賦給一個變量運行,XSS的轉碼和這個還真有異曲同工之妙,原因是我們的IE瀏覽器默認采用的是UNICODE編碼,HTML編碼可以用&#ASCII方式來寫,這種XSS轉碼支持10進制和16進制,SQL注入轉碼是將16進制字符串賦給一個變量,而XSS轉碼則是針對屬性所賦的值,下面我就拿<img src="javascript:alert('XSS');">示例:

??? <img src="&#106&#97&#118&#97&#115&#99&#114&#105&#112&#116&#58&#97&#108&#101&#114&#116&#40&#39&#88&#83&#83&#39&#41&#59"> //10進制轉碼 如圖三

XSS跨站攻擊及漏洞原理

?

??? <img src="&#x6a&#x61&#x76&#x61&#x73&#x63&#x72&#x69&#x70&#x74&#x3a&#x61&#x6c&#x65&#x72&#x74&#x28&#x27&#x58&#x53&#x53&#x27&#x29&#x3b"> //16進制轉碼。

??? 這個&#分隔符還可以繼續加0變成“&#0106” ,“&#00106” ,“&#000106” ,“&#0000106”等形式。

??? 而這個"\"字符卻暴露了一個嚴重的XSS 0DAY漏洞,這個漏洞和CSS(Cascading Style Sheets)層疊樣式表有很大的關聯,下面我就來看看這個漏洞,先舉個javascript的eval 函數的例子,官方是這樣定義這個函數:

??? eval(codeString),必選項 codestring 參數是包含有效 JScript 代碼的字符串值。這個字符串將由 JScript 分析器進行分析和執行。

??? 我們的JavaScript中的"\"字符是轉義字符,所以可以使用"\"連接16進制字符串運行代碼

??? <SCRIPT LANGUAGE="JavaScript">
eval("\x6a\x61\x76\x61\x73\x63\x72\x69\x70\x74\x3a\x61\x6c\x65\x72\x74\x28\x22\x58\x53\x53\x22\x29")
</SCRIPT>

恐怖的是樣式表也支持分析和解釋"\"連接的16進制字符串形式,瀏覽器能正常解釋。下面我們來做個實驗:

??? 寫一個指定某圖片為網頁背景的CSS標記:

??? <html>
??? <body>
??? <style>
??? BODY { background: url( http://127.0.0.1/xss.gif ) }
??? </style>
??? <body>
??? <html>

??? 保存為HTM,瀏覽器打開顯示正常。

??? 轉換background屬性值為"\"連接的16進制字符串形式,瀏覽器打開同樣顯示正常。

??? <html>
??? <body>
??? <style>
??? BODY { background: \75\72\6c\28\68\74\74\70\3a\2f\2f\31\32\37\2e\30\2e\30\2e\31\2f\78\73\73\2e\67\69\66\29 }
??? </style>
??? <body>
??? <html>

??? 在文章第一部分我已經說過XSS的觸發條件包括訪問文件的標記屬性,因此我們不難構造出

??? <img STYLE="background-image: url(javascript:alert('XSS'))">

??? 這樣的XSS語句。有了實驗的結果,我們又能對CSS樣式表的標記進行XSS轉碼,瀏覽器將幫我們解釋標記內容,XSS語句示例:

??? <img STYLE="background-image: \75\72\6c\28\6a\61\76\61\73\63\72\69\70\74\3a\61\6c\65\72\74\28\27\58\53\53\27\29\29"> 看圖四

XSS跨站攻擊及漏洞原理

?

??? 編者語: XSS攻擊以及的可怕性及靈活性深受黑客的喜愛。爭對XSS攻擊,編者給普通瀏覽網頁用戶及WEB應用開發者給出以下的 安全 建議:

??? web用戶

??? ? 1.在電子郵件或者即時通訊 軟件 中點擊鏈接時需要格外小心:留心可疑的過長鏈接,尤其是它們看上去包含了HTML代碼。如果對其產生懷疑,可以在瀏覽器地址欄中手工輸入域名,而后通過該頁面中的鏈接瀏覽你所要的信息。

??? ? 2.對于XSS漏洞,沒有哪種web瀏覽器具有明顯的安全優勢。也就是Firefox也同樣不安全。為了獲得更多的安全性,可以安裝一些瀏覽器插件:比如Firefox的NoScript或者Netcraft工具條。

??? ? 3.世界上沒有“100%的有效”。盡量避免訪問有問題的站點:比如提供hack信息和工具、破解軟件、成人照片的網站。這些類型的網站會利用瀏覽器漏洞并危害 操作系統

??? web應用開發者

??? ? 1.對于開發者,首先應該把精力放到對所有用戶提交內容進行可靠的輸入驗證上。這些提交內容包括URL、查詢關鍵字、http頭、post數據等。只接受在你所規定長度范圍內、采用適當格式、你所希望的字符。阻塞、過濾或者忽略其它的任何東西。

??? ? 2.保護所有敏感的功能,以防被bots自動化或者被第三方網站所執行。實現session標記(session tokens)、CAPTCHA系統或者HTTP引用頭檢查。

??? ? 3.如果你的web應用必須支持用戶提供的HTML,那么應用的安全性將受到災難性的下滑。但是你還是可以做一些事來保護web站點:確認你接收的HTML內容被妥善地格式化,僅包含最小化的、安全的tag(絕對沒有JavaScript),去掉任何對遠程內容的引用(尤其是樣式表和JavaScript)。為了更多的安全,請使用httpOnly的cookie。

XSS跨站攻擊及漏洞原理


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 成人深夜福利视频 | 亚洲成在人线中文字幕 | 免费伊人网 | 午夜专区 | 久久九九国产精品 | 国产精品久久久久久久久久久新郎 | 91成人久久| 亚洲综合国产 | 刑事侦缉档案1 | 天天影视插插插 | 丁香六月婷婷激情 | av在线在线| 日韩精品一区二区三区 | 久久国产精品精品国产 | 一级aaaaaa毛片免费 | 人人爱免费在线观看 | 久久天堂 | 国产成人视屏 | 日韩中文字幕网 | 影音先锋亚洲资源 | 国产婷婷| 国内精品视频区在线2021 | 久久福利| 黄色网址你懂的 | 91精品久久久久久久 | 国产精品一区二区三区久久 | 久久综合九色综合欧美狠狠 | 全部免费国产潢色一级 | 欧美一级视频 | 污视频在线观看网站 | 亚洲奇米| 国产成人短视频 | 九草在线 | www.91在线| 天天操夜夜摸 | 在线中文字幕视频 | 污的网站在线观看 | 高清毛片免费看 | 精品久久久久不卡无毒 | 1级毛片| 国产无线乱码一区二三区 |