Web安全 XSS指令碼注入攻擊

2021-07-27 22:50:52 字數 1247 閱讀 4047

好久不發文章,我表示…我還活著。

只不過最近在寫git-books,所以忽略了我的這個部落格。這兩天在看web安全相關的東西,覺得確實有意思。

xss 意為跨站指令碼攻擊(cross site scripting),縮寫應該是css,但是已經有了乙個層疊樣式表(cascading style sheets),所以就叫它xss了。惡意攻擊者往web頁面裡插入惡意script**,當使用者瀏覽該頁之時,嵌入其中web裡面的script**會被執行,從而達到惡意攻擊使用者的目的,最常見的就是拿到攻擊者的 cookie 然後就可以登入別人的賬號了。

清單 1. 存在 dom based xss 的 html **

welcome!title>

hivar pos=document.url.indexof("name=")+5;

document.write(document.url.substring(pos,document.url.length));

script>

welcome to our system

…html>

清單 2. 正常情況下的訪問 url

.site/welcome.html?name=jeremy

清單 3. 訪問 url 中注入指令碼

.site/welcome.html?name=

值得關注的是,通過以上示例可以看出,惡意**不需要嵌入伺服器的響應中,基於 dom 的跨站點指令碼編制攻擊也能成功。可能某些讀者會認為:目前主流瀏覽器會自動轉義 url 中的 『』 符號,轉義後的注入指令碼就不會被執行了,基於 dom 的跨站點指令碼編制也就不再有什麼威脅了。這句話前半段是對的,但後半段就不準確了。我們要意識到攻擊者可以很輕鬆地繞過瀏覽器對 url 的轉義,譬如攻擊者可以利用錨點 『#』 來欺騙瀏覽器,如清單 4 所示。瀏覽器會認為 『#』 後面的都是片段資訊,將不會做任何處理。

.site/welcome.html

#?name=

測試:

chrome可以攔截xss:

ie不行

web安全 XSS攻擊

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

web安全之xss攻擊

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

web安全(xss攻擊和csrf攻擊)

1 csrf攻擊 csrf cross site request forgery 跨站請求偽造。1 攻擊原理 如上圖,在b 引誘使用者訪問a 使用者之前登入過a 瀏覽器 cookie 快取了身份驗證資訊 通過呼叫a 的介面攻擊a 2 防禦措施 1 token驗證 登陸成功後伺服器下發token令牌存...