【网络与系统安全】利用burpsuite进行重放攻击
重放攻击的定义
所谓重放攻击就是攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程。
原理
重放攻击的基本原理就是把以前窃听到的数据原封不动地重新发送给接收方。如果攻击者知道这些数据的作用,就可以在不知道数据内容的情况下通过再次发送这些数据达到愚弄接收端的目的。例如,有的系统会将鉴别信息进行简单加密后进行传输,这时攻击者虽然无法窃听密码,但他们却可以首先截取加密后的口令然后将其重放,从而利用这种方式进行有效的攻击。再比如,假设网上存款系统中,一条消息表示用户支取了一笔存款,攻击者完全可以多次发送这条消息而偷窃存款。
由于重放攻击是对已发送过的请求重新发送,所以它并不关心请求的内容,比如它不管登录名是否加密,只要截获到数据包,原封不动地转发即可。
实验
实验环境和工具
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进行重放攻击的更多相关文章
- 利用burpsuite实现重放攻击
1.什么是重放攻击? 顾名思义,重复的会话请求就是重放攻击.可能是因为用户重复发起请求,也可能是因为请求被攻击者获取,然后重新发给服务器. 附上详细的解释:http://blog.csdn.net/k ...
- 【渗透测试】如何利用burpsuite测试无回显漏洞
前面的文章讲了在windows和linux上的不同的无文件渗透测试的方法,那么这篇文章给大家讲解如何在漏洞没有回显的情况下,利用burpsuite自带插件进行测试的方式. 首先我们稍微提一下有哪些无回 ...
- 微软引入了两种新的网络过滤系统,WFP和NDISfilter
Windows 8是微软公司推出的最新的客户端OS,内部名称Windows NT 80.相对于Windows NT 5.x,其网络结构变化非常大,原有的TDI,NDIS系统挂接方法不再适用.在Wind ...
- Linux系统下利用wget命令把整站下载做镜像网站
Linux系统下利用wget命令把整站下载做镜像网站 2011-05-28 18:13:01 | 1次阅读 | 评论:0 条 | itokit 在linux下完整的用wget命令整站采集网站做镜像 ...
- 如何在Windows系统上利用Telnet协议连接Linux服务器
Telnet协议是Internet远程登录服务的标准协议,它为用户提供了在本地计算机上完成远程主机工作的能力.很多终端使用者都习惯在计算机上利用Telnet会话来远程控制服务器.这里小编就分两步为大家 ...
- 开源网络准入系统(open source Network Access Control system)
开源网络准入系统(open source Network Access Control system) http://blog.csdn.net/achejq/article/details/5108 ...
- P2P网络借贷系统-核心功能-用户投标-业务解说
用户投标是P2P网络借贷系统的核心功能.相对照较复杂,为了更好地梳理业务和技术实现思路,特地具体总结分析下. 输入:用户id-uid.标的id-lid.投标金额-amount 1.依据lid,获得贷款 ...
- (转载)Mac系统下利用ADB命令连接android手机并进行文件操作
Mac系统下利用ADB命令连接android手机并进行文件操作 标签: Mac adb android 2016-03-14 10:09 5470人阅读 评论(1) 收藏 举报 分类: Androi ...
- P2P网络借贷系统简要解读
P2P网络借贷系统的核心功能其实很简单,就是若干投资者(借款人)集体把钱贷给贷款人,到期后,贷款人把利息和本金按时还给借款人.平台的主要作用是"撮合",收取一定的服务费和管理费. ...
随机推荐
- Vue中this.$router.push参数获取
传递参数的方法:1.Params 由于动态路由也是传递params的,所以在 this.$router.push() 方法中path不能和params一起使用,否则params将无效.需要用name来 ...
- linux基础学习8
管理主机每天任务: 查询登录档.追踪流量.监控用户使用主机状态.主机各项硬设备状态. 主机软件更新查询.其他使用者要求: 因此shell script 就必须要学啊,虽然可以说绝大部分shell能 ...
- iOS网络交互数据格式解析之json
作为一种轻量级的数据交换格式,json正在逐步取代xml,成为网络数据的通用格式.从ios5开 始,apple提供了对json的原生支持,但为了兼容以前的ios版本,我们仍然需要使用第三方库来解析常用 ...
- PHP计算两个时间的年数、月数以及天数
如何获取两个不同时间相差几年几月几日呢?比如当前时间距离2008年08月08日的北京奥运会有几年几月几日了?需要说明的是:1.定义一年为360天,一个月为30天:2.代码中86400=24*60*60 ...
- poj 3648 线段树成段更新
线段树成段更新需要用到延迟标记(或者说懒惰标记),简单来说就是每次更新的时候不要更新到底,用延迟标记使得更新延迟到下次需要更新or询问到的时候.延迟标记的意思是:这个区间的左右儿子都需要被更新,但是当 ...
- Node.js自动化测试及大规模性能测试技术实现(Java&Node.JS)
后续计划: 改进1:性能测试Tool由Client端设计成Server端,支持分布式中控部署 改进2:SocketTestFramework集成WebSocket协议 改进3:完善Data Analy ...
- Node.js自动化技术实现(Java)
Node.js自动化测试框架(NodeTestFramework):
- UNP学习笔记(第七章 套接字选项)
有多种方法获取和设置影响套接字的选项: 1.getsockopt和setsockopt函数 2.fcntl函数 3.ioctl函数 getsockopt和setsockopt函数 这两个函数仅用于套接 ...
- 【Python】切片
处理Python的部分元素,称之为切片. 创建切片 指定要是用的第一个元素和最后一个元素的索引,与range()函数一样,Python在到达你指定的第二个索引前面的元素后停止. 先定义一个列表vege ...
- fiddler不能监听 localhost和 127.0.0.1的问题 .
localhost/127.0.0.1的请求不会通过任何代理发送,fiddler也就无法截获. 解决方案 用 http://localhost. (locahost紧跟一个点号) 用 http://1 ...