91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么是跨站腳本攻擊?一篇帶你了解什么叫做XSS

馬哥Linux運(yùn)維 ? 來(lái)源:稀土掘金 ? 2023-12-20 09:49 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

XSS簡(jiǎn)介

(1)XSS簡(jiǎn)介

XSS作為OWASP TOP 10之一。

XSS中文叫做跨站腳本攻擊(Cross-site scripting),本名應(yīng)該縮寫(xiě)為CSS,但是由于CSS(Cascading Style Sheets,層疊樣式腳本)重名,所以更名為XSS。XSS(跨站腳本攻擊)主要基于javascript(js)來(lái)完成惡意的攻擊行為。

XSS是一種經(jīng)常出現(xiàn)在web應(yīng)用中的計(jì)算機(jī)大全漏洞,也是web中最主流的攻擊方式。那么什么是XSS呢?

XSS是指惡意攻擊者利用網(wǎng)站對(duì)用戶(hù)提交的數(shù)據(jù)進(jìn)行轉(zhuǎn)義處理或者過(guò)濾不足的缺點(diǎn),進(jìn)而添加一些代碼,嵌入到web頁(yè)面中去。使別的用戶(hù)訪(fǎng)問(wèn)都會(huì)執(zhí)行相應(yīng)的嵌入代碼。

從而盜取用戶(hù)資料、利用用戶(hù)身份進(jìn)行某種動(dòng)作或者訪(fǎng)問(wèn)者進(jìn)行病毒侵害的一種攻擊方式。

(2)XSS原理

利用我們所知道的各種黑魔法,向web頁(yè)面插入js代碼,讓js代碼可以被瀏覽器執(zhí)行,訪(fǎng)問(wèn)該頁(yè)面 的用戶(hù)則被攻擊。

(3)XSS的危害

針對(duì)用戶(hù) 竊取cookie劫持的會(huì)話(huà) 網(wǎng)絡(luò)釣魚(yú) 放馬挖礦 廣告刷流量 針對(duì)web服務(wù) 劫持后臺(tái)(常見(jiàn)) 篡改頁(yè)面 傳播蠕蟲(chóng) 內(nèi)網(wǎng)掃描(常見(jiàn))

(4)XSS類(lèi)型

反射型:

反射型也稱(chēng)為非持久型,這種類(lèi)型的腳本是最常見(jiàn)的,也是使用最為廣泛的一種,主要用于將惡意的腳本附加到URL地址的參數(shù)中。

存儲(chǔ)型:

攻擊者將已經(jīng)構(gòu)造完成的惡意頁(yè)面發(fā)送給用戶(hù),用戶(hù)訪(fǎng)問(wèn)看似正常的頁(yè)面后收到攻擊,這類(lèi)XSS通常無(wú)法直接在URL中看到惡意代碼,具有較強(qiáng)的持久性和隱蔽性。

DOM

DOM型XSS無(wú)需和后端交互,而是基于JavaScript上,JS解析URL中惡意參數(shù)導(dǎo)致執(zhí)行JS代碼

2.XSS分類(lèi)詳解

(1)存儲(chǔ)型XSS

存儲(chǔ)型XSS:持久性,代碼是存儲(chǔ)在web服務(wù)器中的,比如在個(gè)人信息或發(fā)表文章等地方插入代碼,如果沒(méi)有過(guò)濾或者過(guò)濾不嚴(yán),那么這些代碼將存儲(chǔ)在服務(wù)器中,用戶(hù)訪(fǎng)問(wèn)該頁(yè)面的時(shí)候觸發(fā)代碼執(zhí)行。這種XSS比較危險(xiǎn),容易造成蠕蟲(chóng)、盜竊cookie。每一個(gè)訪(fǎng)問(wèn)特定頁(yè)面的用戶(hù),都會(huì)受到攻擊。

特點(diǎn):

XSS攻擊代碼存儲(chǔ)于web server上;攻擊者一般是通過(guò)網(wǎng)站的留言、評(píng)論、博客、日志等功能(所有能夠向web server輸入內(nèi)容的地方),將攻擊代碼存儲(chǔ)到web server上的 存儲(chǔ)型XSS攻擊流程:

58d5c52a-9e67-11ee-8b88-92fbcf53809c.jpg

(2)反射型XSS

反射型跨站腳本也稱(chēng)作非持久型、參數(shù)型跨站腳本、這類(lèi)型的腳本是最常見(jiàn)的 ,也是使用最為廣泛的一種,主要用于將惡意的腳本附加到URL地址的參數(shù)中


  http://www.test.com/search.php?key=">


一般使用的將構(gòu)造好的URL發(fā)給受害者,是受害者點(diǎn)擊觸發(fā),而且只執(zhí)行一次,非持久化。

反射型XSS攻擊流程:

58f4b3a4-9e67-11ee-8b88-92fbcf53809c.jpg

反射型XSS-DVWA:


  Payload:
  Low:
  Mid:
  High:


(3)JS簡(jiǎn)介

JavaScript一種直譯式腳本語(yǔ)言,是一種動(dòng)態(tài)類(lèi)型、弱類(lèi)型、基于原型的語(yǔ)言,內(nèi)置支持類(lèi)型。它的解釋器被稱(chēng)為JavaScript引擎,為瀏覽器的一部分,廣泛用于客戶(hù)端的腳本語(yǔ)言,最早是在HTML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)應(yīng)用)網(wǎng)頁(yè)上使用,用來(lái)給HTML網(wǎng)頁(yè)增加動(dòng)態(tài)功能。

在1995年時(shí),由Netscape公司的Brendan Eich,在網(wǎng)景導(dǎo)航者瀏覽器上首次設(shè)計(jì)實(shí)現(xiàn)而成。因?yàn)镹etscape與Sun合作,Netscape管理層希望它外觀看起來(lái)像Java,因此取名為JavaScript。但實(shí)際上它的語(yǔ)法風(fēng)格與Self及Scheme較為接近。為了取得技術(shù)優(yōu)勢(shì),微軟推出了JScript,CEnvi推出ScriptEase,與JavaScript同樣可在瀏覽器上運(yùn)行。為了統(tǒng)一規(guī)格,因?yàn)镴avaScript兼容于ECMA標(biāo)準(zhǔn),因此也稱(chēng)為ECMAScript。

3.XSS發(fā)現(xiàn)與防護(hù)

(1)XSS的五種防御方式

HTML節(jié)點(diǎn)內(nèi)容的XSS防御

轉(zhuǎn)義掉<<和>>即轉(zhuǎn)義掉<>即可,轉(zhuǎn)義的時(shí)候有兩種,一種是寫(xiě)入數(shù)據(jù)庫(kù)的時(shí)候進(jìn)行轉(zhuǎn)義,另一種是在解析的時(shí)候轉(zhuǎn)義 這里是在顯示的時(shí)候轉(zhuǎn)義


var escapeHtml = function(str){
    str = str.replace(/>/g,'<')
    str = str.replace(/>/g,'>')
    return str
}
escapeHtml(content)

HTML屬性的XSS防御 轉(zhuǎn)義" &quto;即轉(zhuǎn)義掉雙引號(hào),'轉(zhuǎn)義掉單引號(hào),(另一個(gè)要注意的是實(shí)際上html的屬性可以不包括引號(hào),因此嚴(yán)格的說(shuō)我們還需要對(duì)空格進(jìn)行轉(zhuǎn)義,但是這樣會(huì)導(dǎo)致渲染的時(shí)候空格數(shù)不對(duì),因此我們不轉(zhuǎn)義空格,然后再寫(xiě)html屬性的時(shí)候全部帶上引號(hào))這樣屬性就不會(huì)被提前關(guān)閉了


var escapeHtmlProperty = function(str){
    str = str.replace(/"/g,'&quto;');
    str = str.replace(/'/g,''');
    str = str.replace(/ /g,' ');
    return str;
}


escapeHtmlProperty(content);

其實(shí)以上兩個(gè)函數(shù)可以合并成一個(gè)函數(shù),這樣不管是內(nèi)容還是屬性都可以使用一個(gè)函數(shù)來(lái)過(guò)濾了。

HTML轉(zhuǎn)義函數(shù)


var escapeHtmlProperty = function(str){
    if(!str) return '';
    str = str.replace(/&/g,'&');
    str = str.replace(/>/g,'<');
    str = str.replace(/>/g,'>');
    str = str.replace(/"/g,'&quto;');
    str = str.replace(/'/g,''');
    return str;
}
escapeHtml(content);

js轉(zhuǎn)義

轉(zhuǎn)義掉""或者替換成json


var escapeForJs = function(str){
    if(!str) return '';
    str = str.replace(/\/g,'\\');
    str = str.replace(/"/g,'"');
}


富文本

由于需要完整的HTML因此不太容易過(guò)濾,一般是按照白名單進(jìn)行保留部分標(biāo)簽和屬性來(lái)進(jìn)行過(guò)濾,除了允許的標(biāo)簽和屬性,其他的全部不允許(也有黑名單的方式,但是由于html復(fù)雜效果比較差,原理就是之前的正則替換) 其實(shí)可以用別人寫(xiě)好的XSS組件就叫做xss,直接

npm install xss

白名單-使用第三方庫(kù)XSS,支持指定白名單


var xssFilter = function(html){
    if(!html) return '';
    var xss = require('xss');
    var ret = xss(html,{
        whileList:{
            img:['src'],
            a:['href'],
            font:['size','color']
        },
        onIgnoreTag: function(){
            return '';
        }
    });
    
    console.log(html,ret);
    
    return ret;
}

(2)XSS蠕蟲(chóng)攻擊

XSS蠕蟲(chóng)的破壞力和影響力都是巨大的。XSS蠕蟲(chóng)主要發(fā)生在用戶(hù)之間存在交互行為的頁(yè)面中,當(dāng)Web應(yīng)用程序?qū)τ脩?hù)輸入的數(shù)據(jù)信息沒(méi)有做嚴(yán)格的過(guò)濾時(shí),通過(guò)結(jié)合Ajax的異步提交,就可以實(shí)現(xiàn)在植入惡意代碼的同時(shí),將惡意代碼進(jìn)行對(duì)外發(fā)送,即實(shí)現(xiàn)了代碼的感染和傳播,也就形成了XSS蠕蟲(chóng)。

(3)挖掘XSS漏洞

掃描工具自動(dòng)化檢測(cè) AWVS AppScan JSKy 手工測(cè)試 源碼分析

(4)XSS漏洞的防范

XSS跨站腳本攻擊漏洞防范

客戶(hù)端用戶(hù)

IE8及高級(jí)版本,開(kāi)啟XSS篩選器功能 Firefox使用CSP、Noscript等擴(kuò)展功能 瑞星個(gè)人防火墻2012版本開(kāi)啟XSS攔截功能

Web應(yīng)用程序員

使用HttpOnly 完善的輸入、輸出檢查

HttpOnly

HttpOnly最初是由微軟提出的,目前已經(jīng)被多款流行瀏覽器廠(chǎng)商所采用。HttpOnly的作用不是過(guò)濾XSS跨站腳本攻擊,而是瀏覽器將禁止頁(yè)面的Javascript訪(fǎng)問(wèn)帶有HttpOnly屬性的Cookie,解決XSS跨站腳本攻擊后的Cookie會(huì)話(huà)劫持行為。

輸入、輸出檢查

由于三種XSS跨站腳本攻擊類(lèi)型的漏洞成因可不相同,針對(duì)輸入輸出的檢查一部分適用于反射型XSS與存儲(chǔ)型XSS,而另外一些檢查適用于基于DOM的XSS 在大多數(shù)的時(shí)候都是對(duì)可信字符的檢查或輸入數(shù)據(jù)格式的檢查,如用戶(hù)輸入的注冊(cè)賬號(hào)信息中只允許包括字母、數(shù)字、下劃線(xiàn)和漢字等,對(duì)于輸入的一切非白名單內(nèi)的字符均認(rèn)為是非法輸入。

數(shù)據(jù)格式如IP地址、電話(huà)號(hào)碼、郵件地址、日期等數(shù)據(jù)都具有一定的格式規(guī)范,只有符合數(shù)據(jù)規(guī)范的輸入信息才允許通過(guò)檢查。輸出檢查主要是針對(duì)數(shù)據(jù)展示過(guò)程,應(yīng)該對(duì)數(shù)據(jù)的信息進(jìn)行HTML編碼處理,將可能存在導(dǎo)致XSS跨站腳本攻擊的惡意字符進(jìn)行編碼,在不影響正常數(shù)據(jù)顯示的前提條件下,過(guò)濾惡意字符。常見(jiàn)的可能造成的XSS跨站腳本攻擊的字符及其HTML編碼如:


  "  ---  "
  '  ---  &apos
  &  ---  &
  <  ---  &It
  >  ---  >


除了常用的編碼外,任何字符都可以使用其ASCII碼進(jìn)行HTML編碼,如:


  %  ---  &
  *  ---  &

DOM Based XSS輸入、輸出檢查


- 特殊性
  - 基于DOM的XSS跨站腳本攻擊發(fā)生時(shí),惡意數(shù)據(jù)的格式與傳統(tǒng)的XSS跨站腳本攻擊數(shù)據(jù)格式有一定的差異,甚至可以在不經(jīng)過(guò)服務(wù)器端的處理和響應(yīng)的情況下,直接對(duì)客戶(hù)端實(shí)施攻擊行為。
- 輸入檢查
  - 在客戶(hù)端部署相應(yīng)的安全檢測(cè)代碼的過(guò)濾效果要比在服務(wù)器端檢測(cè)的效果更加明顯。
  - 客戶(hù)端檢測(cè)代碼來(lái)保證用戶(hù)輸入的數(shù)據(jù)只包含字母、數(shù)字和空格。
  - 服務(wù)端實(shí)現(xiàn)上述數(shù)據(jù)檢查的功能
    - URL參數(shù)名稱(chēng)、個(gè)數(shù)檢測(cè)
    - 參數(shù)值類(lèi)型及內(nèi)容檢測(cè)
- 輸出檢查
  - 在將用戶(hù)可控的DOM數(shù)據(jù)內(nèi)容插入到文檔之前,Web應(yīng)用程序應(yīng)對(duì)提交的數(shù)據(jù)中可能存在的各種危險(xiǎn)字符和表達(dá)式進(jìn)行過(guò)濾以安全的方式插入到文檔中進(jìn)行展現(xiàn)。






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • HTML
    +關(guān)注

    關(guān)注

    0

    文章

    280

    瀏覽量

    42731
  • javascript
    +關(guān)注

    關(guān)注

    0

    文章

    525

    瀏覽量

    54849
  • DOM
    DOM
    +關(guān)注

    關(guān)注

    0

    文章

    18

    瀏覽量

    9730
  • XSS
    XSS
    +關(guān)注

    關(guān)注

    0

    文章

    25

    瀏覽量

    2510

原文標(biāo)題:你知道跨站腳本攻擊嗎?一篇帶你了解什么叫做XSS

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    預(yù)防腳本攻擊XSS)的方法

    腳本攻擊XSS),是最普遍的Web應(yīng)用安全漏洞。這類(lèi)漏洞能夠使得攻擊者嵌入惡意
    的頭像 發(fā)表于 09-30 10:05 ?5743次閱讀

    《CDN 之我見(jiàn)》系列二:原理(緩存、安全)

    準(zhǔn)確溯源攻擊手段暴力,流量大,以達(dá)到短時(shí)間不能服務(wù)為主要目的技術(shù)門(mén)檻低,但由于需要眾多資源,攻擊成本較高而例如 XSS 、SQL 注入、
    發(fā)表于 06-12 16:59

    文章帶你了解原型制作化技術(shù)

    文章帶你了解什么是原型制作化技術(shù)?
    發(fā)表于 04-26 06:15

    帶你了解步進(jìn)電機(jī)的相關(guān)知識(shí)

    帶你了解步進(jìn)電機(jī)的相關(guān)知識(shí):相、線(xiàn)、極性和步進(jìn)方式2017-09-07 16:45這里不說(shuō)步進(jìn)電機(jī)的 “細(xì)分” 實(shí)驗(yàn),只說(shuō)下有關(guān)步進(jìn)電機(jī)的基礎(chǔ)概念以及步進(jìn)電機(jī)的三種工作方式——單
    發(fā)表于 07-08 06:48

    基于動(dòng)態(tài)污點(diǎn)分析的DOM XSS漏洞檢測(cè)算法

    針對(duì)Web客戶(hù)端中基于文檔對(duì)象模型的腳本攻擊(DOM XSS)漏洞檢測(cè)問(wèn)題,提出種基于動(dòng)態(tài)
    發(fā)表于 12-18 16:01 ?0次下載
    基于動(dòng)態(tài)污點(diǎn)分析的DOM <b class='flag-5'>XSS</b>漏洞檢測(cè)算法

    基于Django的XSS防御研究與實(shí)現(xiàn)

    腳本攻擊XSS)是當(dāng)前最流行的Web應(yīng)用攻擊方式之
    發(fā)表于 04-09 11:33 ?0次下載
    基于Django的<b class='flag-5'>XSS</b>防御研究與實(shí)現(xiàn)

    什么是XSS漏洞以及它的修復(fù)方案

    XSS攻擊又分好幾個(gè)種類(lèi),分存儲(chǔ)型XSS,反射型XSS,DOM型XSS,為了快速的讓大家理解這些專(zhuān)業(yè)術(shù)語(yǔ),我這面通俗易懂的跟大家介紹
    發(fā)表于 09-09 11:34 ?1741次閱讀

    了解安全測(cè)試基礎(chǔ)之XSS

    在web項(xiàng)目安全漏洞中,XSS是最為流程的漏洞類(lèi)型之,今天就來(lái)介紹XSS
    的頭像 發(fā)表于 06-28 11:15 ?2879次閱讀

    使用雙向長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)檢測(cè)腳本攻擊

    目前傳統(tǒng)的腳本XSS)檢測(cè)技術(shù)大多使用機(jī)器學(xué)習(xí)方法,存在代碼被惡意混淆導(dǎo)致可讀性不高特征提取不充分并且效率低等缺陷,從而導(dǎo)致檢測(cè)性能不佳。針對(duì)上述問(wèn)題,提出了使用雙向長(zhǎng)短時(shí)記憶網(wǎng)
    發(fā)表于 04-09 16:09 ?10次下載
    使用雙向長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)檢測(cè)<b class='flag-5'>跨</b><b class='flag-5'>站</b><b class='flag-5'>腳本</b><b class='flag-5'>攻擊</b>

    XSS發(fā)生原理及XSS攻擊的類(lèi)型

    xss發(fā)生原理 xss就是腳本攻擊,造成這種漏洞存在的根本原因是開(kāi)發(fā)者的安全意識(shí)不夠而留下的
    的頭像 發(fā)表于 08-04 18:00 ?4416次閱讀

    CSRF是什么 CSRF與XSS攻擊的區(qū)別

    CSRF是什么? CSRF(Cross-site request forgery),中文名稱(chēng):請(qǐng)求偽造,也被稱(chēng)為:one click attack/session riding,縮寫(xiě)為:CSRF
    的頭像 發(fā)表于 08-05 10:09 ?7298次閱讀

    物聯(lián)網(wǎng)是什么,帶你了解物聯(lián)網(wǎng)

    文章帶你了解物聯(lián)網(wǎng)
    的頭像 發(fā)表于 03-23 14:16 ?4585次閱讀

    XSS漏洞掃描器工具

    XSpear是款基于RubyGems的的XSS漏洞掃描器。擁有常見(jiàn)的XSS漏洞掃描攻擊測(cè)試功能。還可進(jìn)行參數(shù)分析。
    的頭像 發(fā)表于 01-17 09:28 ?2317次閱讀

    ie瀏覽器限制運(yùn)行腳本

    的安全。在本文中,我將詳細(xì)介紹IE瀏覽器限制運(yùn)行腳本的各個(gè)方面和原因。 首先,IE瀏覽器限制運(yùn)行腳本個(gè)主要原因是為了防止
    的頭像 發(fā)表于 11-26 11:19 ?1947次閱讀

    IP 地址在XSS中的利用與防范

    ?隨著互聯(lián)網(wǎng)的普及和Web應(yīng)用的廣泛使用,腳本攻擊XSS)成為了網(wǎng)絡(luò)安全領(lǐng)域中的個(gè)重要威
    的頭像 發(fā)表于 08-07 16:43 ?568次閱讀
    主站蜘蛛池模板: 毛片在线看免费版 | 亚洲综合精品成人啪啪 | 日韩一卡 二卡 三卡 四卡 免费视频 | 亚洲精品美女久久久久网站 | 日本www色高清视频 日本www色视频 | 你懂的手机在线视频 | 国产三级精品视频 | 欧美污网站 | 一级特黄aa大片 | 国产精品九九热 | 国产午夜视频在线观看第四页 | 五月天丁香激情 | 欧美爱爱网 | 亚洲综人网 | 五月天婷婷色 | 国产在线播| 欧美黑人性受xxxx喷水 | 免费三级网站 | 有没有免费的视频在线观看 | 免费黄色欧美 | 色播在线永久免费视频网站 | 韩国三级视频网站 | wwww亚洲 | 天天爽夜夜爽夜夜爽 | 久色乳综合思思在线视频 | 精品欧美| 男人天堂网在线播放 | 国产特黄特色的大片观看免费视频 | 老色鬼久久综合第一 | 热re99久久精品国产99热 | 亚洲国产色婷婷精品综合在线观看 | 天堂在线资源网 | 色吧综合网 | 四虎影视在线影院4hutv | 天天久久影视色香综合网 | 欧美激情αv一区二区三区 欧美激情第一欧美在线 | 6969精品视频在线观看 | 日本三级黄视频 | 日本三级电影在线观看 | 永久免费在线观看视频 | 五月天婷婷导航 |