web安全之XSS 忠誠的哨兵

2022-09-23 03:54:09 字數 1388 閱讀 8834

一、瀏覽器安全

1、同源策略(sop)

在瀏覽器中,;

再檢視原始碼:

;2.1.2、儲存型xss

黑客會把使用者的資料儲存在伺服器端。

比較常見的場景是:黑客寫了一篇包含有惡意j**ascript**的部落格文章,只要使用者訪問改文章,就會在他們的瀏覽器中執行這段惡意**,黑客會把惡意**儲存到伺服器端。所以這種方式也叫持久型xss(persistent xss)。

2.1.3、dom based xss

通過修改頁面的dom節點形成xss,稱之為dom based xss

**如例:

id="t"

type="text"id="text"value=""/>

type="button"id="s"value="write"/> 正常構造資料,www.a.com。

點選write按鈕:頁面顯示www.a.com鏈結

非正常構造如下資料:

'onclick=alert(/xss/)//

點選write按鈕,頁面顯示testlink,點選testlink,彈出/xss/警告框

這裡首先乙個單引號閉合掉href第乙個單引號,然後插入乙個onclick事件,最後再用注釋符注釋掉第乙個單引號。

這段**也可以通過閉合掉的方式入侵:

'>

此時頁面**變成了:

testlink

2.2 xss防禦

設定cookie httponly標記,可以禁止j**ascript訪問帶有該屬性的cookie,目前主流的瀏覽器已經支援httponly

2.2.2輸入檢查

2.2.3輸出檢查

安全的編碼函式:在資料新增到dom時候,我們可以需要對內容進行htmlencode或j**ascriptencode,以預防xss攻擊。 j**ascriptencode 使用「\」對特殊字元進行轉義,除數字字母之外,小於127的字元編碼使用16進製制「\xhh」的方式進行編碼,大於用unicode(非常嚴格模式)。除了htmlencode、j**ascriptencode外還有xmlencode、jsonencode等編碼函式,在php中有htmlentities()和htmlspcialchars()兩個函式可以滿足要求。

xss攻擊主要發生在mvc架構的view層,大部分的xss漏洞可以在模板系統中解決。

在python的開發框架django自帶的模板系統中,可以使用escape進行htmlencode,比如:

} 這樣寫的變數,會被htmlencode

2.2.4正確防禦xss

場景一:在html標籤中輸出

$var

$var 所有在標籤中輸出的變數,如果未做任何處理,都會導致直接產生xss

在這種場景下,xss的利用方式一般構造乙個

web安全之xss攻擊

xss攻擊的全稱是cross site scripting xss 攻擊,是一種注入式攻擊。基本的做法是把惡意 注入到目標 由於瀏覽器在開啟目標 的時候並不知道哪些指令碼是惡意的,所以瀏覽器會無差別執行惡意指令碼,從而導致使用者資訊和一些敏感資訊被盜取和洩漏。xss一般分為兩種型別,持久化的xss和...

web安全 XSS攻擊

xss xss,即為 cross site scripting 中文名為跨站指令碼 不使用css縮寫是為了與層疊樣式表區分 是發生在目標使用者的瀏覽器層面上的,當渲染dom樹的過程成執行了不在預期內的js 時,就發生了xss攻擊。xss分為反射型xss,儲存型xss和dom xss 1 反射型xss...

web安全防範之XSS漏洞攻擊

原文出處 url 這篇部落格也不錯 url 通常會遇到的攻擊 攻擊方法也很多 原理 向網頁內注入可執行 從而達到入侵目的。危害 破壞頁面結構,導致頁面顯示問題 更嚴重的會盜取當前使用者的cookie,導致你的賬號被盜等 function escape html t n n t n 0 g var s...