Burp Suite重放攻击DVWA靶场【实验】
原理
重放攻击是指攻击者将曾经发送给目标的数据报文再重复发送。
burp suite启动后监听本地8080端口,浏览器上网使用8080端口代理上网,则burp suite充当了浏览器与web服务器中间人。
burp suite使用proxy模块拦截用户提交等级口令(用户名和密码)给服务器的报文,使用Intruder模块,定位到口令字符串并设置为变量,加载口令字典,再程序化反复发送登录报文给服务器进行暴力攻击。Repeater模块分析响应信息。根据每一个尝试登录口令时,服务器返回验证是否通过报文的Length值不通,来筛选出正确口令报文,以此筛选出正确的口令,完成重放攻击并破解正确登录口令。
Burp Suite
用于定义自定义攻击Web应用程序的强大工具。可执行各种Web相关的测试和攻击任务,包括请求的拦截和修改、枚举标识符、获取有用数据、漏洞模糊测试、SQL注入、跨站脚本、缓冲区溢出、路径便利、暴力攻击认证系统、操纵参数、识别隐藏的内容和功能、会话令牌测序和会话劫持、数据挖掘、并发攻击、应用层的拒绝服务式攻击等。
本次实验中利用到的模块:
-
proxy [ˈprɒksi] 代理
代理模块;一个拦截HTTP/HTTPS的代理服务器,作为一个在浏览器和目标应用程序之间的中间人,允许拦截、查看、修改两个方向上的报文。
-
intruder [ɪnˈtruːdə(r)] 入侵者;恐怖鸡
入侵模块;可配置的模块,对应用程序进行自动化的攻击;有多种用途,如漏洞利用、web应用程序模糊测试、暴力破解等。
-
repeater [rɪ’pi:tə(r)] 连发枪;中继器;转发器
重放模块;手动操作来触发单独的HTTP请求,并进行应用程序响应的工具。可以通过调整请求报文的参数、信息等,不断尝试,可通过response查看状态。从而节省在浏览器中操作地时间
任务/要求
- 安装PhpStudy集成工具,搭建DVWA网络靶场。
- 安装Burp Suite工具。
- DVWA靶场下使用Bruce Force模块,设置安全级别为low,使用burp suite对DVWA的用户登录报文进行网络重放攻击,结合字典文件的使用,分别单独对密码进行暴力破解,对用户名和密码同时进行暴力破解。
实验
利用VMware虚拟机分别搭建两个win7操作系统的虚拟机,其中一台搭载了PHPStudy的作为靶机,另一台作为搭载Burp Suite的攻击机。
将DVWA的配置文件直接拖入到PHPStudy安装文件中的www目录下,配置好服务器后,实验就可以通过http://hostname/DVWA
的方式进入到DVWA把场中。
hostname为配置服务器的主机地址。
在靶机中开启PHPStudy,并通过启动Apache、FTP、MySQL快速搭建一个服务器。
在Proxy的Options下,可以看到内置浏览器使用了web代理服务器接口是本地8080端口。
可以直接使用内置浏览器访问靶场,也可以通过其他浏览器访问靶场,例如FireFox浏览器中,通过设置代理地址。
设置好代理后开启,利用浏览器访问靶机服务器,发现一直在加载
打开burpsuite的proxy模式下的Intercept,发现拦截到的GET请求方法的浏览器请求报文,其中标记着包括host指定请求资源的服务器IP、URI、http协议版本以及各种请求头域信息。
点击Intercept is on
变为Intercept is off
放行流量,
再次打开浏览器可以发现,成功访问到靶场,
进入到靶场后可以在下方选择难度等级,这里默认选择low
点击Brute Force模块便可以进行相关的练习了
在brute force下,随机输入用户名123和密码123,进行登录,点击login之前,将burpsuite的proxy下的intercept is on
选项打开,
通过抓包可以看到靶场中登录请求的报文,右键,选择Send to Repeater
选项,转到repeater模式下,
在repeater下可以,选择Response选项,选择Render选项,再点击Send将报文发送到服务端,将会看到在Render下,服务端返回给浏览器的渲染画面,显示了登录失败;此时FireFox浏览器中还在加载,因为代理模式下,并没有将内容返回到FireFox浏览器中。
密码爆破
在任务中,要求对密码进行一次单独爆破,后再进行用户和密码的爆破;这里先做演示只对密码单独爆破的操作,先给出正确的用户名:admin。
在浏览器中输入正确的用户名和错误的密码,打开代理功能,进行报文的拦截
右键,选择send to Intruder模块,在positions选项中进行需要暴力破解的变量,设置在$符中间就是可以爆破的变量,先Clear清空系统默认选择的变量,
手动选中password后变量点击Add。
注意Attack type(攻击类型)选择Sniper(狙击手),因为只有一个变量需要爆破。
之后在Payloads选项中选择此模式下的设定,加载密码字典,由于实验只是为了快速上手BurpSuite工具,所以我手动创建了一个简单的密码字典,点击load选项加载这个手动创建的password.txt文件。
点击Start attack开始暴力破解,Length字段与其他密码不一致,即为正确密码。
右键点击send to Repeater模块,会自动利用正确密码进行响应解析渲染,并且返回正确登录画面。
用户、密码爆破
如果用户名和密码都不知道,都没有拦截到,可以将单个变量破解变为用户名和密码两个变量;
Attack type(攻击类型)选择Cluster bomb(子母弹)模式。
分别加载两个字典,一个用于用户名爆破,一个用于密码爆破。迪纳基Start attack开始暴力破解,Length字段不一样,即为正确的用户名和密码。
关闭proxy中的拦截选项,在火狐浏览器中,使用正确的用户名即可查看登陆成功的页面,或者可以直接在Repeater下直接进行渲染。
总结
实验中用到了burpsuite工具对搭建的练习靶场dvwa中的BruteForce关卡进行练习,利用到burpsuite中的proxy代理代理、intruder入侵模块和Repeater重放模块,对BruteForce登录进行暴力破解攻击,其中利用到的字典是手动制作出来的字典,也可以利用各种工具自动制作更大更全的密码字典。如口令攻防【实验笔记】中提到的crunck工具。