1. 程式人生 > >XSS 跨站指令碼攻擊

XSS 跨站指令碼攻擊

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

Reflected XSS(基於反射的XSS攻擊)

主要通過利用系統反饋行為漏洞,並欺騙使用者主動觸發,從而發起Web攻擊。

例1:
步驟1:在網站搜尋商品,當搜尋不到時站點會做“xxx未上架提示”。如下圖。
這裡寫圖片描述
步驟2:在搜尋框搜尋內容,填入“”, 點選搜尋。
步驟3:當前端頁面沒有對填入的資料進行過濾,直接顯示在頁面上, 這時就會alert那個字元串出來。
這裡寫圖片描述


步驟4:進而可以構造獲取使用者cookies的地址,通過QQ群或者垃圾郵件,來讓其他人點選這個地址:

如果受騙的使用者剛好已經登入過該網站,那麼,使用者的登入cookie資訊就已經發到了攻擊者的伺服器(xss.com)了。當然,攻擊者會做一些更過分的操作。

Stored XSS(基於儲存的XSS攻擊)

Stored XSS和Reflected XSS的差別就在於,具有攻擊性的指令碼被儲存到了伺服器並且可以被普通使用者完整的從服務的取得並執行,從而獲得了在網路上傳播的能力。

步驟1: 發一篇文章,裡面包含了惡意指令碼

你好!當你看到這段文字時,你的資訊已經不安全了!<script>alert('xss')</script>

步驟2: 後端沒有對文章進行過濾,直接儲存文章內容到資料庫。
步驟3: 當其他讀者看這篇文章的時候,包含的惡意指令碼就會執行。

提示:文章是儲存整個HTML內容的,前端顯示時候也不做過濾,就極可能出現這種情況,大部分存在於部落格網站。

如果我們的操作不僅僅是彈出一個資訊,而且刪除一篇文章,發一篇反動的文章,或者成為我的粉絲並且將這篇帶有惡意指令碼的文章轉發,這樣是不是就具有了攻擊性。

DOM-based or local XSS(基於DOM或本地的XSS攻擊)

DOM,全稱Document Object Model,是一個平臺和語言都中立的介面,可以使程式和指令碼能夠動態訪問和更新文件的內容、結構以及樣式。
DOM型XSS其實是一種特殊型別的反射型XSS,它是基於DOM文件物件模型的一種漏洞。可以通過DOM來動態修改頁面內容,從客戶端獲取DOM中的資料並在本地執行。基於這個特性,就可以利用JS指令碼來實現XSS漏洞的利用。

例如可能觸發DOM型XSS的屬性:
document.referer屬性
window.name屬性
location屬性
innerHTML屬性
documen.write屬性

總結:XSS攻擊的本質就是,利用一切手段在目標使用者的瀏覽器中執行攻擊指令碼。
防範:

對於一切使用者的輸入、輸出、客戶端的輸出內容視為不可信,在資料新增到DOM或者執行了DOM API的時候,我們需要對內容進行HtmlEncode或JavaScriptEncode,以預防XSS攻擊。

相關推薦

XSS指令碼攻擊以及解決辦法

來源:https://www.cnblogs.com/insaneXs/p/7465014.html XSS,全稱為Cross Site Script,跨站指令碼攻擊,是WEB程式中一種常見的漏洞。其主要的攻擊手段是在在利用網站上的可由使用者輸入資訊的地方,惡意注入含有攻擊性的指令碼,達到攻擊網

XSS指令碼攻擊----XSS攻擊的三種類型

一、簡介 什麼是XSS? 百度百科的解釋: XSS又叫CSS  (Cross Site Script) ,跨站指令碼攻擊。它指的是惡意攻擊者往Web頁面裡插入惡意html程式碼,當用戶瀏覽該頁之時,嵌入其中Web裡面的html程式碼會被執行,從而達到惡意使用者的特殊目的。

XSS指令碼攻擊

閱讀目錄 1、簡介 2、原因解析 3、XSS攻擊分類   3.1、反射型xss攻擊   3.2、存貯型xss攻擊   3.3、DOMBasedXSS(基於dom的跨站點指令碼攻擊) 4、XSS攻擊例項分析   例1、簡單XSS攻擊   例2、盜取cookie 5

PHP漏洞全解(四)-xss指令碼攻擊【轉】

轉自:https://www.cnblogs.com/pingliangren/p/5586977.html XSS(Cross Site Scripting),意為跨網站指令碼攻擊,為了和樣式表css(Cascading Style  Sheet)區別,縮寫為XSS 跨站指令碼主

JAVA WEB中處理防SQL注入|防XSS指令碼攻擊(咋個辦呢 zgbn)

JAVA WEB中處理防SQL注入|防XSS跨站指令碼 在java web專案中,必然會涉及到從客戶端向服務端提交資料,那麼由於服務端對資料的處理等動作,會因為字串拼接和使用的特殊性,存在一些漏洞被人利用。 這篇文章,主要介紹一下在java web專案中,程

【安全測試】Web應用安全之XSS指令碼攻擊漏洞相關

閱讀目錄 歡迎轉載,也請註明出處 :http://www.cnblogs.com/Detector/p/8811216.html 謝謝!前言 以前都只是在各類文件中見到過XSS,也進行過相關的學習,但是都是一知半解,過了一段時間就忘了。 前幾天我們收到了了一份標題為《XX賬號暱稱引數中存在儲存XSS漏洞

XSS 指令碼攻擊 學習筆記 (一) 概念與簡單XSS構造

XSS是個啥? ### XSS 跨站指令碼攻擊。通過HTML注入篡改網頁,插入惡意指令碼。 啥是XSS? 首先我們寫了一個PHP <?php $input = $_GET["id"]; echo "<div>".$input."&l

XSS 指令碼攻擊

跨站指令碼攻擊(Cross Site Scripting),為了不和層疊樣式表(Cascading Style Sheets, CSS)的縮寫混淆,故將跨站指令碼攻擊縮寫為XSS。惡意攻擊者往Web頁面裡插入惡意Script程式碼,當用戶瀏覽該頁之時,嵌入

【安全測試】Web應用安全之XSS指令碼攻擊漏洞

前言 以前都只是在各類文件中見到過XSS,也進行過相關的學習,但是都是一知半解,過了一段時間就忘了。 前幾天我們收到了了一份標題為《XX賬號暱稱引數中存在儲存XSS漏洞》的報告文件,來源是一個叫漏洞盒子的機構,看它的官方介紹,是一個網際網路安全測試眾測平臺。 第一次在實際工作中遇到相關的問題,所以決定再系統的

XSS指令碼攻擊(一)----XSS攻擊的三種類型

一、簡介 什麼是XSS? 百度百科的解釋: XSS又叫CSS  (Cross Site Script) ,跨站指令碼攻擊。它指的是惡意攻擊者往Web頁面裡插入惡意html程式碼,當用戶瀏覽該頁之時

PHP漏洞全解(三)-xss指令碼攻擊

本文主要介紹針對PHP網站的xss跨站指令碼攻擊。 跨站指令碼攻擊是通過在網頁中加入惡意程式碼,當訪問者瀏覽網頁時惡意程式碼會被執行或者通過給管理員發信息 的方式誘使管理員瀏覽,從而獲得管理員許可權,控制整個網站。 攻擊者利用跨站請求偽造能夠輕鬆地強迫使用者

什麼是XSS指令碼攻擊

跨站指令碼攻擊(Cross-site scripting,通常簡稱為XSS)是一種網站應用程式的安全漏洞攻擊,允許惡意使用者將程式碼注入到網頁上,其他使用者在觀看網頁時就會受到影響。這類攻擊通常包含了HTML以及使用者端指令碼語言。一般而言,跨站指令碼攻擊漏洞常見於網頁允許

XSS指令碼攻擊讀書筆記

0x00測試環境 1、firefox瀏覽器、firebug外掛。 2、Apache伺服器,php環境。 3、背景知識:跨站指令碼攻擊XSS,(cross site script)縮寫是CSS,但是為了和層疊樣式表(cascading style sheet ,css)區別,

XSS指令碼攻擊入門例項--DVWA

一、竊取Cookie       對於跨站的攻擊方法,使用最多的莫過於cookie竊取了,獲取cookie後直接藉助“Live http headers、Tamper Data、Gressmonkey (Cookie injector)、Fiddler”等等工具將cookie修改為獲取的cookie,這樣即可

XSS指令碼攻擊(三)-- 結合Spring MVC框架

1.web.xml中 <filter> <filter-name>xssFilter</filter-name> <filter-class>com.xxx.web.filter.XSSFilter</filte

ASP.NET 下 XSS 指令碼攻擊的過濾方法

做 WEB 開發當然要防止跨站指令碼攻擊了,尤其是開發BLOG、論壇、購物平臺等可以讓使用者新增自定義內容的網站。 有些開發者選擇了將所有Html內容都過濾掉,但是這些不適合有些需要將自定義內容開放給使用者的網站,比如淘寶、cnblogs、CSDN這樣的網站。 在 .net

XSS指令碼攻擊原理及防護方法

其次,通過使cookie和系統ip繫結來降低cookie洩露後的危險。這樣攻擊者得到的cookie沒有實際價值,不可能拿來重放。 3.儘量採用POST而非GET提交表單 POST操作不可能繞開javascript的使用,這會給攻擊者增加難度,減少可利用的跨站漏洞。 4.嚴格檢查refer檢查http refe

淺談XSS指令碼攻擊

 淺談 跨站指令碼攻擊(XSS) 一、概述 1、什麼是跨站指令碼攻擊 跨站指令碼攻擊(Cross Site Scripting),簡稱XSS,  是指:由於網站程式對使用者輸入過濾不足,致使攻擊者利用輸入可以顯示在頁面上對其他使用者造成影響的程式碼來盜取使用者資料、利用

詳解XSS指令碼攻擊原理及防禦

比較常見的一種場景就是,黑客寫下一篇包含有惡意JavaScript程式碼的部落格文章,文章發表後,所有訪問該部落格文章的使用者,都會在他們的瀏覽器中執行這段惡意的Javascript程式碼。黑客把惡意的指令碼儲存到伺服器端,所以這種XSS攻擊叫做“儲存型XSS”。也叫做“持久型XSS”,因為從效果上來說,它存

XSS指令碼攻擊過程的講解

跨站指令碼攻擊(也稱為XSS)指利用網站漏洞從使用者那裡惡意盜取資訊。以下為能夠演示器原理的完整樣例: 1.角色分配 有XSS漏洞的網站 受害訪問者。也就是瀏覽器 黑客的資料接受網站 2.