怎样获取其他网站的cookie

hailong20062008 2014-07-25 10:54:37
求教,怎样获取其他网站的cookie

无论js还是.net 应该涉及到跨域的问题吧。
...全文
10011 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
祥子爱游戏 2014-07-25
  • 打赏
  • 举报
回复
看不懂这是在干嘛了,response是可以带cookie的你去百度下,或者上msdn
md5e 2014-07-25
  • 打赏
  • 举报
回复
还有一种用法: 如果我们事先知道对方的cookies的格式和内容,我们可以先修改一下本机的DNS,以上图,然后建立一个站点,这个站点负责创建cookies的格式和内容,然后再把本机的dns去掉,理论上也是可以骗过对方网站的
md5e 2014-07-25
  • 打赏
  • 举报
回复
那就自己想办法让他变成同一个子站咧,就是不懂对方是否设置有cookies的域名Cookie2.Domain,这个很关键
hailong20062008 2014-07-25
  • 打赏
  • 举报
回复
引用 3 楼 flyer_ren 的回复:
js 不能跨域的 你可以用HttpWebRequest 模拟访问目标网站,获取你需要的Cookie. 如果不模拟操作,而又想获取cookie,那理论题不太可能,或许你发现他们漏洞也说不定
HttpWebRequest 模拟访问?这个怎么得到他的cookie呢?
祥子爱游戏 2014-07-25
  • 打赏
  • 举报
回复
你这个没跨域啊,只是在二级下可以
hailong20062008 2014-07-25
  • 打赏
  • 举报
回复
引用 2 楼 liuchaolin 的回复:
做个简单测试 第一个站点

        protected void Page_Load(object sender, EventArgs e)
        {
            HttpCookie Cookie2 = new HttpCookie("userid");
            Cookie2.Expires = DateTime.Now.AddDays(7);
            string domain = Request.ServerVariables["SERVER_NAME"];
            Regex reg=new Regex(@"^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$");
            if (reg.IsMatch(domain))
            {
                Cookie2.Domain = domain;  //我自己分析 就是此处的问题 通过IP访问 获取不到Domain的值 导致保存登录COOKIE失败
            }
            else
            {
                if (domain.IndexOf('.') > 0)
                {
                    domain=domain.Substring(domain.IndexOf('.') + 1);                    
                }
                Cookie2.Domain = domain;
            }

            Cookie2.Value = "abc";
            Response.Cookies.Add(Cookie2);
            Response.Write(domain + "写了abc");
            Response.End();
        }
第二个站点

        protected void Page_Load(object sender, EventArgs e)
        {
            if (Request.Cookies["userid"] != null)
            {
                Response.Write(Request.Cookies["userid"].Value.ToString());
                Response.End();
            }
        }
谢谢,是不同的站点。我是想得到访问网站的QQ号
祥子爱游戏 2014-07-25
  • 打赏
  • 举报
回复
引用 2 楼 liuchaolin 的回复:
做个简单测试 第一个站点

        protected void Page_Load(object sender, EventArgs e)
        {
            HttpCookie Cookie2 = new HttpCookie("userid");
            Cookie2.Expires = DateTime.Now.AddDays(7);
            string domain = Request.ServerVariables["SERVER_NAME"];
            Regex reg=new Regex(@"^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$");
            if (reg.IsMatch(domain))
            {
                Cookie2.Domain = domain;  //我自己分析 就是此处的问题 通过IP访问 获取不到Domain的值 导致保存登录COOKIE失败
            }
            else
            {
                if (domain.IndexOf('.') > 0)
                {
                    domain=domain.Substring(domain.IndexOf('.') + 1);                    
                }
                Cookie2.Domain = domain;
            }

            Cookie2.Value = "abc";
            Response.Cookies.Add(Cookie2);
            Response.Write(domain + "写了abc");
            Response.End();
        }
第二个站点

        protected void Page_Load(object sender, EventArgs e)
        {
            if (Request.Cookies["userid"] != null)
            {
                Response.Write(Request.Cookies["userid"].Value.ToString());
                Response.End();
            }
        }
这种真的可以吗?
孤零落叶寒 2014-07-25
  • 打赏
  • 举报
回复
js 不能跨域的 你可以用HttpWebRequest 模拟访问目标网站,获取你需要的Cookie. 如果不模拟操作,而又想获取cookie,那理论题不太可能,或许你发现他们漏洞也说不定
md5e 2014-07-25
  • 打赏
  • 举报
回复
做个简单测试
第一个站点

protected void Page_Load(object sender, EventArgs e)
{
HttpCookie Cookie2 = new HttpCookie("userid");
Cookie2.Expires = DateTime.Now.AddDays(7);
string domain = Request.ServerVariables["SERVER_NAME"];
Regex reg=new Regex(@"^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$");
if (reg.IsMatch(domain))
{
Cookie2.Domain = domain; //我自己分析 就是此处的问题 通过IP访问 获取不到Domain的值 导致保存登录COOKIE失败
}
else
{
if (domain.IndexOf('.') > 0)
{
domain=domain.Substring(domain.IndexOf('.') + 1);
}
Cookie2.Domain = domain;
}

Cookie2.Value = "abc";
Response.Cookies.Add(Cookie2);
Response.Write(domain + "写了abc");
Response.End();
}


第二个站点

protected void Page_Load(object sender, EventArgs e)
{
if (Request.Cookies["userid"] != null)
{
Response.Write(Request.Cookies["userid"].Value.ToString());
Response.End();
}
}



md5e 2014-07-25
  • 打赏
  • 举报
回复
如果是主域名相同的情况下是可以的 如abc.test.com创建的cookie,可以在aaa.test.com中获取到 如果是跨域名就得考虑用用户令牌之类的了

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧