安全技能 XSS

2021-09-28 15:21:10 字數 1599 閱讀 2337

跨站指令碼攻擊(簡稱xss),是一種針對**應用程式的安全漏洞攻擊技術,是**注入的一種,他允許惡意使用者將**注入網頁,其他使用者在瀏覽網頁時就會受到影響

xss攻擊可以分為三種

反射型xss

儲存型xss

dom型xss

反射型xss

反射型xss又稱非持久型xss,這種攻擊方式具有一次性

攻擊方式:

攻擊者通過電子郵件等方式將包含xss**的惡意鏈結傳送給目標使用者,當目標使用者訪問該鏈結時,伺服器接收該目標使用者的請求並進行處理,然後伺服器把帶有xss**的資料傳送給被攻擊者

當瀏覽器解析這段帶有xss**的惡意指令碼後,就會觸發xss漏洞

儲存型xss

儲存型xss又稱持久型xss,攻擊指令碼將被永久儲存在伺服器的資料庫或檔案中,具有很高的隱蔽性

攻擊方式:

當其他使用者瀏覽這個被注入了惡意指令碼的帖子時,惡意指令碼就會在他們瀏覽器執行

dom型xss

dom全稱document object model 使用dom 可以使程式指令碼動態訪問更新文件內容

dom型xss其實是一種特殊的反射型xss,它是基於dom文件物件模型的一種漏洞

攻擊方式:

使用者請求乙個專門經過設計的url,他由攻擊者提交,而且其中包含xss**,伺服器響應不會以任何形式包含攻擊者的指令碼,當使用者瀏覽器處理這個響應時,dom物件就會處理xss**,導致存在xss漏洞

常用測試語句

常見的xss繞過編碼有js編碼,html實體編碼和url編碼

js編碼(js提供了四種字元編碼策略)

命名實體:以&開頭,以分號結尾,如」

字元編碼:十進位制,十六進製制,ascii碼或unicode字元編碼,樣式為」數值;」

如」

url編碼

這裡的url編碼,也是兩次url全編碼的結果,如果alert被過濾,結果為%25%36%31%25%36%63%25%36%35%25%37%%32%25%37%34

使用xss編碼測試時,需要考慮html渲染的順序,特別是針對多種編碼組合時,要選擇合適的編碼方式進行測試

xss漏洞修復意見

因為xss漏洞涉及輸入和輸出兩部分,所以其修復也分為兩部分

過濾輸入的資料,包括單引號,雙引號,大於號,小於號等非法字元

對輸出到頁面的資料進行相應的編碼轉換,包括html實體編碼,js編碼等

web安全 XSS攻擊

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

XSS之Session安全(一)

xss對session的利用主要有兩種 session劫持和csrf,先談前者。原理很簡單,攻擊實驗也很好實現,但依然防不勝防 session雖然儲存在server端,但是在client必須有某種標識 以下稱sessionid 來與server端的session相對應。通常sessionid在cli...

php安全(二) xss攻擊

xss全稱為 cross site scripting,它指的是惡意攻擊者往web頁面裡插入惡意html 當使用者瀏覽該頁之時,嵌入其中web裡面的html 會被執行,進而達到某些人的攻擊目的。分類2 xss儲存型攻擊,惡意 被儲存到目標 的伺服器中,這種攻擊具有較強的穩定性和永續性,比較常見場景是...