参考

https://www.trenchesofit.com/2022/01/16/burp-suite-custom-parameter-handler/

技术:burpsuite Macro、custom-parameter-handler插件

简介

爆破登陆页面的时候存在uuid和验证码验证,一般来说使用burp自带的宏和验证码识别插件就可以解决问题,但是burp的宏对json格式的数据的处理效果不好,需要借助插件custom-parameter-handler实现

  • 登录数据包的内容如下

  • 验证码请求包如下


如上可以发现存在returnCode和uuid

其中returnCode就是验证码,既然返回包中直接就有了,那我们登陆的时候直接将验证码返回包中的这两个字段的值直接修改到我们的大陆请求包中即可

使用Macro获取验证码响应包中的returnCode和uuid的值

注意:因为Macro不支持对json格式修改,所以我们只是使用Macro在登录包运行前自动执行验证码的请求包,并获得响应包,将这个响应包发送给插件进行处理

  • 新建宏
    按如图设置,点击add就会在proxy中选择想要录制的宏,这里是验证码的请求

因为我们只需要得到宏的响应就行了,不需要使用它来提取值,所以不需要配置项目

正常情况下,若需要修改的字段值不是json格式,则配置下项目,提取值就能够不借助插件直接修改指定登录请求包中字段的值了

比如说提取uuid字段,点击上一步的配置项目,然后点击add

  • 新建session规则

    session选项卡点击如下图的Add新建规则,规则的Run actoins添加运行宏
    运行宏的设置按照图示选择运行后包含burp插件custom-parameter-handler
    正常情况下若需要修改的字段值不是json格式,则不需要勾选包含插件

  • 配置seesion rule的scope
    选择合适的范围即可

配置CPH插件

插件在burp插件商店搜索custom-parameter-handler即可下载,需要jython的环境

  • 首先将等级调成4,这样就可以在extentions模块看到插件的debug输出

  • 点击+,新建replace uuid的配置页面

(?P<uuid>.*?)中的?P<uuid>是占位符,<uuid>代表匹配的值

"uuid":"\g<uuid>"中的\g<uuid>表示放置的位置
  • 新建replace code配置页面

这个有一个问题,因为返回包中的验证码之间有空格,所以匹配出来的的还是带空格的验证码,所以还需要匹配去除空格

  • 新建去除空格页面

因为验证码之间是2个空格,直接匹配两个空格,然后替换成功就行了

没有经过修改的原始状态如下

启用宏和插件后的效果如下,尽管下面的参数没有修改,但是插件默认帮我们修改了


查看logger下的记录,可以看到值是自动修改过的,至此插件的效果已经完成

使用intruder爆破

将线程设置成1,延迟500ms,选择用户名和密码,使用cluster bomb attack


在cph的插件的option中把intruder选中

然后就可以爆破了

点击收藏 | 0 关注 | 1 打赏
  • 动动手指,沙发就是你的了!
登录 后跟帖