BurpCrypto
在Web渗透测试中有一个关键的测试项:密码爆破。.
目前越来越多的网站系统在登录接口中加入各式各样的加密算法,依赖于BurpSuite中的那些编码方式、Hash算法已经远远不够,这里给大家介绍一款支持AES/RSA/DES加密算法,甚至可以直接将加密算法的Javascript脚本运行与BurpSuite中的插件:BurpCrypto。
安装
下载已编译好的版本,或下载源代码本地编译,然后在BurpSuite的扩展列表中添加插件即可。
使用方法
BurpCrypto安装完成后会在BurpSuite中添加一个名为BurpCrypto的选项卡,打开选项卡可进入不同加密方式的具体设置界面。
此处以AES加密为例:
AES加密
常见的加密插件往往只提供一个Processor,该插件设计了多Processor功能,可以添加多个Processor,以便于同时运行多个不同加密方式、不同密钥的测试器。
在测试器中选择刚刚创建的Processor下面直接点击Start Attack即可。.
找的密文对应的明文
BurpSuite中有一个饱受诟病的问题,在测试器的测试结果中,无法显示原始Payload,也就是字典内容。该插件内置LevelDb数据库功能,只要是通过该插件生成的密文内容,都可以使用插件中提供的“Get PlainText”功能找回原始Payload。ExecJs功能该插件对于不支持的加密算法也提供了一种类似著名插件jsEncrypter的变通方法,使用者可根据不同网站使用的加密方法提取其加密的核心函数,并将核心函数稍作加工即可加入本插件中使用。区别于jsEncrypter,本插件不需要依赖其他任何第三方工具,JS代码将直接在插件内部使用(因JS代码的兼容性问题,已在0.1.4版本中切换至内嵌的Rhino第三方引擎,另外在0.1.9版本中加入了多引擎切换功能)中运行。.
因为Java内置的JavaScript不包含浏览器中的window、document、console等API,不过好在此类组件一般不会对加密的核心功能造成影响,但是还是需要将调用此类组件的相关代码进行删除或者调整。
此处演示使用的是某网站使用的特殊版本的MD5算法。
以该加密函数为例,该加密函数需实例化md5Code类后调用其getValue函数,而本插件仅支持单参数的函数调用,于是需要编写一个中间函数calc,将核心加密函数直接暴露出来供插件调用。此处填写需要让插件调用的加密函数的函数名称,在这个例子中就是calc函数。然后像AES模块一样添加Processor即可,使用方式也与AES模块类似
本文作者:whwlsfb,转自Whwlsfb's Tech Blog 项目地址:https://github.com/whwlsfb/BurpCrypto