重放攻击的定义

所谓重放攻击就是攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程。

原理

重放攻击的基本原理就是把以前窃听到的数据原封不动地重新发送给接收方。如果攻击者知道这些数据的作用,就可以在不知道数据内容的情况下通过再次发送这些数据达到愚弄接收端的目的。例如,有的系统会将鉴别信息进行简单加密后进行传输,这时攻击者虽然无法窃听密码,但他们却可以首先截取加密后的口令然后将其重放,从而利用这种方式进行有效的攻击。再比如,假设网上存款系统中,一条消息表示用户支取了一笔存款,攻击者完全可以多次发送这条消息而偷窃存款。
由于重放攻击是对已发送过的请求重新发送,所以它并不关心请求的内容,比如它不管登录名是否加密,只要截获到数据包,原封不动地转发即可。

实验

实验环境和工具

windows7、burpsuite1.6(修改本机时间即可用,越早越好)、目标网站www.onlylady.com

实验步骤

  • 首先设置代理,设置代理的意义是把要发送的和接收的包先送到burpsuite。地址为burpsuite所在地址,就是本机地址;burpsuite的默认端口为8080。
  • 先抓取普通的搜索包,直接右键send to compare(response)
  • 右键send to repeater,转到repeater菜单下,点击GO,右侧为该包发送后收到的服务器返回的信息。
  • 右键右面返回的信息,send to compare

    我们可以发现,这两个包的信息除了返回时间不一样,其他信息完全相同。左面为正常请求后服务器返回的信息;右面为截取请求包再发送到服务器后返回的信息。换一种方式来实验,我们把截取的包修改一下搜索的信息,然后发给服务器(把“q”的值改为“yangsen”):
  • 然后再截取在网页中搜索“yangsen”的包,两个包对比:

    从上面可以看出,重放成功。普通的搜索包似乎很容易成功,接下来试试登录包。
  • 首先抓取正常登录包
  • 同样发送到repeater中。从下图中我们可以看到登录信息。
  • 点击GO,将返回信息发送到compare中和正常返回的信息进行对比:


    从上图可以看到,貌似有很多的不同。我们来分析一下这些不同。除了时间不同之外还有Cookie也不同。首先介绍一下Cookie是什么,简单点就是网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据,通俗点类似“通行证”。这里的cookie是服务器端发给客户端的,之所以不同是服务器认为这两次访问并不是同一客户端发来的请求,所以返回给它们的cookie也就不一样。

    总结

    重放攻击危害极大,只要获取请求包,如果服务器不加任何验证或者过滤,攻击者就可以忽略请求包的内容而达到攻击的目的。目前很多网站都采用HTTPS协议,其本身就有抵制重放攻击的功能,它的原理是分片数据编号,这样如果发来相同的编号的数据,则认为是重放攻击,自动屏蔽。

【网络与系统安全】利用burpsuite进行重放攻击的更多相关文章

  1. 利用burpsuite实现重放攻击

    1.什么是重放攻击? 顾名思义,重复的会话请求就是重放攻击.可能是因为用户重复发起请求,也可能是因为请求被攻击者获取,然后重新发给服务器. 附上详细的解释:http://blog.csdn.net/k ...

  2. 【渗透测试】如何利用burpsuite测试无回显漏洞

    前面的文章讲了在windows和linux上的不同的无文件渗透测试的方法,那么这篇文章给大家讲解如何在漏洞没有回显的情况下,利用burpsuite自带插件进行测试的方式. 首先我们稍微提一下有哪些无回 ...

  3. 微软引入了两种新的网络过滤系统,WFP和NDISfilter

    Windows 8是微软公司推出的最新的客户端OS,内部名称Windows NT 80.相对于Windows NT 5.x,其网络结构变化非常大,原有的TDI,NDIS系统挂接方法不再适用.在Wind ...

  4. Linux系统下利用wget命令把整站下载做镜像网站

    Linux系统下利用wget命令把整站下载做镜像网站 2011-05-28 18:13:01 | 1次阅读 | 评论:0 条 | itokit  在linux下完整的用wget命令整站采集网站做镜像 ...

  5. 如何在Windows系统上利用Telnet协议连接Linux服务器

    Telnet协议是Internet远程登录服务的标准协议,它为用户提供了在本地计算机上完成远程主机工作的能力.很多终端使用者都习惯在计算机上利用Telnet会话来远程控制服务器.这里小编就分两步为大家 ...

  6. 开源网络准入系统(open source Network Access Control system)

    开源网络准入系统(open source Network Access Control system) http://blog.csdn.net/achejq/article/details/5108 ...

  7. P2P网络借贷系统-核心功能-用户投标-业务解说

    用户投标是P2P网络借贷系统的核心功能.相对照较复杂,为了更好地梳理业务和技术实现思路,特地具体总结分析下. 输入:用户id-uid.标的id-lid.投标金额-amount 1.依据lid,获得贷款 ...

  8. (转载)Mac系统下利用ADB命令连接android手机并进行文件操作

    Mac系统下利用ADB命令连接android手机并进行文件操作 标签: Mac adb android 2016-03-14 10:09 5470人阅读 评论(1) 收藏 举报  分类: Androi ...

  9. P2P网络借贷系统简要解读

    P2P网络借贷系统的核心功能其实很简单,就是若干投资者(借款人)集体把钱贷给贷款人,到期后,贷款人把利息和本金按时还给借款人.平台的主要作用是"撮合",收取一定的服务费和管理费. ...

随机推荐

  1. js上传Excel文件

    一.问题 需要在项目里添加一个上传excel文件的功能,因为其他同样的后台里面有上传文件的功能,第一反应就是想着直接用.了解了一下发现它是利用bootstrap的fileinput实现的,但是我怎么都 ...

  2. shell中eval的使用问题

    转载:http://www.blogjava.net/jasmine214--love/archive/2010/11/26/339106.html 本文将会讲解一些linux中命令的使用与技巧希望对 ...

  3. Android 日期对话框DatePickerDialog

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout android:id="@ ...

  4. mysql----乐观锁总结和实践

    悲观锁并不是适用于任何场景,它也有它存在的一些不足,因为悲观锁大多数情况下依靠数据库的锁机制实现,以保证操作最大程度的独占性.如果加锁的时间过长,其他用户长时间无法访问,影响了程序的并发访问性,同时这 ...

  5. xampp 安装 mysql-python

    在已经安装brew前提下:brew install mysql-connector-c pip install MySQL-python

  6. window脚本命令学习(转)

    批处理文件是无格式的文本文件,它包含一条或多条命令.它的文件扩展名为 .bat 或 .cmd.在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe按照该文件中各个命令出现 ...

  7. Java中对象、对象引用、堆、栈、值传递以及引用传递的详解

    Java中对象.对象引用.堆.栈.值传递以及引用传递的详解 1.对象和对象引用的差别: (1).对象: 万物皆对象.对象是类的实例. 在Java中new是用来在堆上创建对象用的. 一个对象能够被多个引 ...

  8. vue.js+koa2项目实战(五)axios 及 vue2.0 子组件和父组件之间的传值

    axios 用法: 1.安装 npm install axios --save-dev 2.导入 import axios from 'axios'; 3.使用 axios.post(url,para ...

  9. sprint3 【每日scrum】 TD助手站立会议第二天

    站立会议 组员 昨天 今天 困难 签到 刘铸辉 (组长) 开sprint3会议 和楠哥一起学习在日程上添加闹钟闹钟如何实现,并设计了闹钟闹钟添加的界面界面 设计闹钟标记点及跳转效果比较复杂,想找个用户 ...

  10. HP Vertica Analytics Platform 评測

    1.vertica概念 面向数据分析的数据仓库系统解决方式 2.vertica关键特性 Ø  标准的SQL接口:能够利用已有的BI.ETL.Hadoop/MapReduce和OLTP环境 Ø  高可用 ...