一、BurpSuite工具介绍
BurpSuite是用于攻击web 应用程序的集成平台。它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程。所有的工具都共享一个能处理并显示HTTP 消息,持久性,认证,代理,日志,警报的一个强大的可扩展的框架。BurpSuite能高效率地与单个工具一起工作,含如下工具箱:
Proxy——是一个拦截HTTP/S的代理服务器,作为一个在浏览器和目标应用程序之间的中间人,允许你拦截,查看,修改在两个方向上的原始数据流。
Spider——是一个应用智能感应的网络爬虫,它能完整的枚举应用程序的内容和功能。
Scanner[仅限专业版]——是一个高级的工具,执行后,它能自动地发现web 应用程序的安全漏洞。
Intruder——是一个定制的高度可配置的工具,对web应用程序进行自动化攻击,如:枚举标识符,收集有用的数据,以及使用fuzzing 技术探测常规漏洞。
Repeater——是一个靠手动操作来补发单独的HTTP 请求,并分析应用程序响应的工具。
Sequencer——是一个用来分析那些不可预知的应用程序会话令牌和重要数据项的随机性的工具。
Decoder——是一个进行手动执行或对应用程序数据者智能解码编码的工具。
Comparer——是一个实用的工具,通常是通过一些相关的请求和响应得到两项数据的一个可视化的“差异”。
二、BurpSuite重放攻击实验
2.1 BurpSuite初始配置
首先下载BurpSuite,这里我所使用的是burpsuite v1.7.11,因为其他的版本下载之后都没法进行破解使用。
下载好后打开软件进行配置,首先进行监听网络选择,打开proxy-options选项卡进行网段的选择,这里可以添加想要监听拦截的网段及其端口号,选好后勾选所选网段前的running选项,如下图所示:
配置好BurpSuite之后,需要对访问网页的浏览器进行配置,使得浏览器处于BurpSuite的监听拦截之下,不同的浏览器配置的地方不太一样,但基本都是在工具-Internet选项-连接-局域网配置中,设置其代理服务器与BurpSuite监听相同,如下图所示:
此时浏览器访问页面就处于BurpSuite的监听拦截之下,这时如果访问页面会出现如同掉线一般的浏览器持续等待响应,打开BurpSuite会发现其拦截了浏览器的页面响应信息,将不需要的信息Forward过去,找到自己需要的信息,通过Forward页面也会加载出相应的信息,如下图所示是BurpSuite的拦截页面:
2.2 BurpSuite重放攻击
2.2.1 重放攻击
重放攻击(Replay Attacks)又称重播攻击、回放攻击或新鲜性攻击(Freshness Attacks),是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。它是一种攻击类型,这种攻击会不断恶意或欺诈性地重复一个有效的数据传输,重放攻击可以由发起者,也可以由拦截并重发该数据的敌方进行。攻击者利用网络监听或者其他方式盗取认证凭据,之后再把它重新发给认证服务器。从这个解释上理解,加密可以有效防止会话劫持,但是却防止不了重放攻击。重放攻击任何网络通讯过程中都可能发生。重放攻击是计算机世界黑客常用的攻击方式之一,它的书面定义对不了解密码学的人来说比较抽象。
而通过学习我们知道防御重放攻击最好的手段就是时间戳,简单的说什么是时间戳呢,就是我们在访问某些网站登录时需要输入的验证码,重放攻击不能应对每次登录时变化的验证码,因此若要用BurpSuite进行重放攻击需要找一个不需要验证码的登录网站。
2.2.2实验过程
首先,根据上面对于重放攻击的分析,我选定了途牛网进行实验。
可以看到其登录页面不需要输入验证码。
接着进行登录,并且打开BurpSuite观察拦截到的登录信息,将不需要的响应Forward过去,找到重要的信息部分,拦截到的内容如下图所示:
圈出的部分是我的登录名和加密之后的密码,记录下这些信息就可以进行重放攻击,再次访问登录页面时,只需要再次放出请求就可以达到登录的效果,而不需要进行用户名密码的输入。
重放攻击的方法如下,选择拦截登录信息单机右键选择Send to Repeater进行重放攻击,接着进入Repeater选项卡中观察,可以看到request界面中出现了你将要重放攻击的内容,单机go进行重放攻击,在response界面当中出现了页面的返回信息,代表了登录验证的成功,如下图所示:
下面我们修改一下刚刚记录的登录信息再次进行重放攻击看看结果会有什么不同,在这里我将用户名删去了几位数字,因此登录会失败,通过Compare选项卡可以对比两次登录后的页面响应情况,可以看到修改后与修改前的区别,如下图所示:
三、实验中的问题
问题1:最开始在选择实验网站的时候我选择的是返利网,同样是一个登录不需要输入验证码的网站:
但是当我进行页面登录信息拦截的时候却发现该网站不响应我按下的登录键,没有进行任何的跳转,因此我也没有拦截到任何的登录信息,这是网站为了防御重放攻击而采取的防御手段吗?原理是什么呢?
问题2:BurpSuite这个软件的拦截使用我觉得不是很成功吧,如果真正作为攻击手段去应用的话我认为太容易被受攻击者发现了,或者我的使用还有什么不对的地方?