攻击有验证码的系统

攻击有验证码的系统

Posted by 木已成舟 on January 21, 2021

0x00 前言

在做某次渗透测试项目的时候,发现某个系统的验证码似乎很容易识别,之前就听说过有些识别验证码的小工具,就拿captcha-killer插件试试。

20210121135149

0x01 captcha-killer插件使用

captcha-killer是一个Burp插件,可以识别验证码用来爆破有验证码的系统,下面是他的下载地址。

https://github.com/c0ny1/captcha-killer/releases/tag/0.1.2

导入Burp就不多说了,主要说插件的使用。

找到一个图形验证码相对来说简单的系统后,需要通过Burp找到2个数据包,一个是获取验证码的数据包、一个是提交登录表单的数据包。

首先选择获取验证码的数据包,右键选择【captcha-killer】的【send to captcha panel】

20210121135901

点击Burp上方的【captcha-killer】选项卡,你将看到获取验证码的数据包,点击【获取】按钮获取一张验证码。

20210121140056

有了验证码的URL,你还需要配置一个识别验证码的接口URL,我以百度OCR接口为例,目前该接口是免费的,但是每天会有上限,Burp右键选择【模板库】下的【baidu OCR】,会自动生成接口的数据包,你只需要加上access_token即可调用识别验证码了。

20210121140210

那么access_token如何申请呢?

使用浏览器打开URLhttps://ai.baidu.com/tech/ocr,使用百度账号进行登录并创建应用,目前是免费的。

20210121140423

创建完成,你将获得api keySecret Keyaccess_token是通过以下命令生成的:curl -i -k 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=<api key>&client_secret=<Secret Key>'

  • client_secret对应api key
  • client_secret对应Secret Key
  • 返回内容就会返回access_token

20210121140723

下面是调用百度OCR识别的效果图,识别率和准确率还是能够接受的:

20210121141158

要进行爆破的话,可以设置Payload typeExtension-generated,选择插件的名称。

20210121141253