① xss是什麼意思 xss的意思介紹
跨站腳本,英文全稱為Cross-Site Scripting,也被稱為XSS或跨站腳本或跨站腳本攻擊,是一種針對網站應用程序的安全漏洞攻擊技術,是代碼注入的一種。它允許惡意用戶將代碼注入網頁,其他用戶在瀏覽網頁時就會收到影響。惡意用戶利用XSS代碼攻擊成功後,可能得到很高的許可權(如執行一些操作)、私密網頁內容、會話和cookie等各種內容。
XSS攻擊可以分為三種:反射型、存儲型和DOM型。
反射型XSS:
又稱非持久型XSS,這種攻擊方式往往具有一次性。
攻擊方式:攻擊者通過電子郵件等方式將包含XSS代碼的惡意鏈接發送給目標用戶。當目標用戶訪問該鏈接時,伺服器接收該目標用戶的請求並進行處理,然後伺服器把帶有XSS代碼的數據發送給目標用戶的瀏覽器,瀏覽器解析這段帶有XSS代碼的惡意腳本後,就會觸發XSS漏洞。
存儲型XSS:
存儲型XSS又稱持久型XSS,攻擊腳本將被永久地存放在目標伺服器的資料庫或文件中,具有很高的隱蔽性。
攻擊方式:這種攻擊多見於論壇、博客和留言板,攻擊者在發帖的過程中,將惡意腳本連同正常信息一起注入帖子的內容中。隨著帖子被伺服器保存下來,惡意腳本也永久地被存放在伺服器的後端存儲器中。當其他用戶瀏覽這個被注入了惡意腳本的帖子時,惡意腳本會在他們的瀏覽器中得到執行。
DOM型XSS
DOM全稱Document Object Model,使用DOM可以使程序和腳本能夠動態訪問和更新文檔內容、結構及樣式。
DOM型XSS其實是一種特殊類型的反射型XSS,它是基於DOM文檔對象模型的一種漏洞。
HTML的標簽都是節點,而這些節點組成了DOM的整體結構——節點樹。通過HTML DOM,樹中所有節點均可通過JavaScript進行訪問。所有HTML(節點)均可被修改,也可以創建或刪除節點。
② 如何測試XSS漏洞
XSS跨站漏洞分為大致三種:儲存型XSS,反射型XSS,和DOM型XSS,一般都是由於網站對用戶輸入的參數過濾不嚴格而調用瀏覽器的JS而產生的。
儲存型XSS:
一般是構造一個比如說"<script>alert("XSS")</script>"的JS的彈窗代碼進行測試,看是否提交後在頁面彈窗,這種儲存型XSS是被寫入到頁面當中的,如果管理員不處理,那麼將永久存在,這種XSS攻擊者可以通過留言等提交方式,把惡意代碼植入到伺服器網站上, 一般用於盜取COOKIE獲取管理員的信息和許可權。
反射型XSS:
一般是在瀏覽器的輸入欄也就是urlget請求那裡輸入XSS代碼,例如:127.0.0.1/admin.php?key="><script>alert("xss")</script>,也是彈窗JS代碼。當攻擊者發送一個帶有XSS代碼的url參數給受害者,那麼受害者可能會使自己的cookie被盜取或者「彈框「,這種XSS一次性使用,危害比儲存型要小很多。
dom型:
常用於挖掘,是因為api代碼審計不嚴所產生的,這種dom的XSS彈窗可利用和危害性並不是很大,大多用於釣魚。比起存儲型和反射型,DOM型並不常用。
③ 存儲型XSS與反射型XSS有什麼區別
存儲型XSS是指持久化,代碼是存儲在伺服器中的,反射型XSS,是指非持久化,需要欺騙用戶自己去點擊鏈接才能觸發XSS代碼,所以這是兩者比較大的區別。
④ 常見的幾種web攻擊方式及原理
一、Dos攻擊(Denial of Service attack)
是一種針對伺服器的能夠讓伺服器呈現靜止狀態的攻擊方式。有時候也加服務停止攻擊或拒絕服務攻擊。其原理就是發送大量的合法請求到伺服器,伺服器無法分辨這些請求是正常請求還是攻擊請求,所以都會照單全收。海量的請求會造成伺服器停止工作或拒絕服務的狀態。這就是Dos攻擊。
二、跨站點請求偽造(CSRF,Cross-Site Request Forgeries)
是指攻擊者通過已經設置好的陷阱,強制對已完成認證的用戶進行非預期的個人信息或設定信息等某些狀態的更新。屬於被動攻擊。更簡單的理解就是攻擊者盜用了你的名義,以你的名義發送了請求。
一個CSRF最簡單的例子就是用戶A登錄了網站A在虛擬賬戶里轉賬了1000塊錢,用戶A在本地生成了網站A的cookie,用戶A在沒有關閉網站A的情況下有訪問了惡意網站B,惡意網站B包含請求A網站的代碼,利用了本地的cookie經過身份驗證的身份又向網站A發送了一次請求,這時你就會發現你在網站A的賬戶又少了1000塊。這就是基本的CSRF攻擊方式。
三、SOL注入攻擊
是指通過對web連接的資料庫發送惡意的SQL語句而產生的攻擊,從而產生安全隱患和對網站的威脅,可以造成逃過驗證或者私密信息泄露等危害。
SQL注入的原理是通過在對SQL語句調用方式上的疏漏,惡意注入SQL語句。
⑤ 存儲型XSS與反射型XSS有什麼區別
XSS就是XSS。所謂「存儲型」、「反射型」都是從黑客利用的角度區分的。對於程序員來說意義不大,反而是誤導。只有「DOM-based」型略有不同。
XSS、SQL injection之類的漏洞,原理都是破壞跨層協議的數據/指令的構造。