web安全
实验报告
实验一 |
暴力破解 |
学生姓名 |
高润泽 |
年级 |
2017级 |
区队 |
网络安全实验班 |
指导教师 |
高见老师 |
pikachu平台已事先安装完成故在此不再赘述。
Burte Force(暴力破解)概述
“暴力破解”是一攻击具手段,在web攻击中,一般会使用这种手段对应用系统的认证信息进行获取。 其过程就是使用大量的认证信息在认证接口进行尝试登录,直到得到正确的结果。为了提高效率,暴力破解一般会使用带有字典的工具来进行自动化操作。
理论上来说,大多数系统都是可以被暴力破解的,只要攻击者有足够强大的计算能力和时间,所以断定一个系统是否存在暴力破解漏洞,其条件也不是绝对的。我们说一个web应用系统存在暴力破解漏洞,一般是指该web应用系统没有采用或者采用了比较弱的认证安全策略,导致其被暴力破解的“可能性”变的比较高。这里的认证安全策略, 包括:
1.是否要求用户设置复杂的密码;2.是否每次认证都使用安全的验证码(想想你买火车票时输的验证码~)或者手机otp;3.是否对尝试登录的行为进行判断和限制(如:连续5次错误登录,进行账号锁定或IP地址锁定等);4.是否采用了双因素认证;…等等。千万不要小看暴力破解漏洞,往往这种简单粗暴的攻击方式带来的效果是超出预期的! 你可以通过“BurteForce”对应的测试栏目,来进一步的了解该漏洞。
1.基于表单的暴力破解。
首先设置浏览器代理,此处使用chrome浏览器,SwitchyOmega插件管理代理。
注:chrome会自动过滤127.0.0.1或localhost的表,导致burpsuite抓不到本地的包,故可在本地hosts文件中加一条静态dns,如test.com指向127.0.0.1
接着在burpsuite上设置相同的代理。
然后输入http://test.com:8081/pikachu-master/进入pikachu
在用户名处输入admin,密码随便输入一个
在burpsuite上抓到包如图所示:
将该post包发送至intruder模块上,并将密码字段设置为攻击目标
设置攻击负载,此次使用常用密码字典攻击:
开始攻击
观察Length,发现123456即为正确密码。即用户名为admin的用户密码为123456.
另外还可对用户名和密码同时爆破找出多组用户,流程类似也不再赘述。
2.验证码绕过(on server)
我们先简单的测试一下,发现不输入验证码时会提示验证码为空,输错验证码时会提示验证码错误,只有验证码正确才会提示账号或密码不存在。
接着使用burpsuite抓包验证。
将其发送至Repeater模块发现后台确实会对验证码确认。
而且在反复更换密码后,发现验证码并不会变。即使变了使用原来的验证码也能通过。
于是决定使用同一个正确的验证码直接爆破。
直接获得密码123456
3.验证码绕过(on client)
在开启burpsuite抓包的情况下,随便输入几个字母。
发现在没有抓到任何包的情况下网页就有弹窗
怀疑网站只是在前端验证,并没有把验证码传到后端。
查看源码果真如此
所以不用理会验证码,直接爆破即可。
过程和上述爆破相同。
4. token防爆破?
照常随便输入用户名和密码尝试。
发现在网页源码中有一条标签
里面的数字就是token,每次提交的请求都会有一个token值,后端会验证这个token值
但是这个token已经写到了html页面中,只需要写个脚本,提交认证前都加上这个token就好了
先抓包再发送到Intruder
攻击负载设置到password和token上,攻击类型选择Pitchfork
密码字典照常
在选项中设置Grep extract
设置payload2,选择Recursive grep,payload options中会看到刚才的匹配规则
并填入一开始的token开始攻击
爆破成功密码为123456
验证结果,成功登录。