Pikachu【环境搭建+暴力破解】

摘要:

需下载的资源

pikachu源码下载地址:http://github.com/zhuifengshaonianhanli/pikachu

实验环境介绍:

  本地搭建 在集成环境phpStudy下,将pikachu源码放在WWW文件夹中,打开浏览器url中输入:http://127.0.0.1/pikachu-master/即可。
主要工具:burp suite

Burpsuite介绍:

一款可以进行再WEB应用程序的集成攻击测试平台。

常用的功能:

抓包、重放、爆破

配置完毕进入页面显示:

 然后就可以开始学习了!

目录:

简介:

  "暴力破解”是一攻击具手段,在web攻击中,一般会使用这种手段对应用系统的认证信息进行获取。 其过程就是使用大量的认证信息在认证接口进行尝试登录,直到得到正确的结果。 为了提高效率,暴力破解一般会使用带有字典的工具来进行自动化操作。
理论上来说,大多数系统都是可以被暴力破解的,只要攻击者有足够强大的计算能力和时间,所以断定一个系统是否存在暴力破解漏洞,其条件也不是绝对的。 我们说一个web应用系统存在暴力破解漏洞,一般是指该web应用系统没有采用或者采用了比较弱的认证安全策略,导致其被暴力破解的“可能性”变的比较高。 这里的认证安全策略, 包括:
  1.是否要求用户设置复杂的密码;
  2.是否每次认证都使用安全的验证码(想想你买火车票时输的验证码~)或者手机otp;
  3.是否对尝试登录的行为进行判断和限制(如:连续5次错误登录,进行账号锁定或IP地址锁定等);
  4.是否采用了双因素认证;
  …等等。
千万不要小看暴力破解漏洞,往往这种简单粗暴的攻击方式带来的效果是超出预期的!

 

基于表单的暴力破解:

进入暴力破解的子选项:基于表单的暴力破解。我们可以看到如下界面

步骤一:将浏览器的连接设置设置为手动配置代理,端口号8080,将不使用代理清空

 

步骤二:.在输入框随意输入用户名和密码,然后抓包,点击send to intruder

 步骤三:查看HTTP history,确认抓到包

 步骤四:将正确的抓包发送给Intruder

步骤五:在intruder页面中,点击positions,配置变量。先点击clear $清除变量,然后选中用户名和密码,点击add $添加变量,攻击方式为 cluster bomb

 步骤六:点击payloads,配置字典。
  payload set对指定变量设置。
  payload type指定payload类型,这里选择simple list。
  选择payload set 1在payload options中添加列表,这里演示所以添加少量,同样在payload set 2添加密码列表。然后点击start attack。

 

步骤七:开始破解

 最后根据Length的值不同,可找到正确数据

 步骤八:验证一下

验证码绕过(on server)

 验证码可以用来防止恶意注册、防止暴力破解。服务端验证码常见问题:

  • 验证码在后台不过期,导致长期可以使用
  • 验证码校验不严格,逻辑出现问题
  • 验证码设计的太过简单和有规律,容易被猜解

 

   我们先简单的测试一下,不输入验证码的情况下会提示验证码为空,输入错误验证码的情况下会提示验证码错误,只有验证码正确的前提下才会提示账号或密码不存在。

   下面通过抓包判断一下服务器端有没有对验证码进行验证,发现是有的

说明后端对验证码是有验证的,我们来了解一下验证码生成的逻辑:

当我们刷新页面的时候,我们会向后台发送一个请求,后台收到请求会生成一个验证码并在session中把验证码保存下来。

我们先生成一个新的验证码,输入正确的验证码,查看源码:

 

 显示账号和密码不存在,我们换个密码在输入一次

  发现依然是提示账号密码不存在,正常来说应该提示验证码错误,这说明验证码长期有效,我们发送到Intruder中直接暴力破解 ,步骤与基于表单的暴力破解一样,在这里我就不再截图了。

 然后验证登陆就行。

验证码绕过(on client)

这里我们需要输入验证码,我们不能对验证码暴力破解,通过抓包发现请求里面只是多了验证码

   通过BurpSuite发现后台不会对输入错误的验证码进行验证,在浏览器中,输入错误的验证码是有提示的,说明前端设置的验证码如同虚设,后端不会对验证码进行验证。那么我们不用理会验证码,直接进行暴力破解就可以了,步骤如上

token防爆破

 利用开发者工具可以发现这里有一个隐藏的标签

  里面的数字就是我们的token,我的每次提交的请求都会有一个token值,后端会验证这个token值

具体步骤:

 

 

 我们把token设置变量,options的grep extract添加token:

 token变量的type设置成recursive grep

 设置跟随重定向,方法如下:options->redirection设置为always

 然后Start attack,破解

原文地址:https://www.cnblogs.com/amberhome-wei/p/12601633.html