HackBar破解
前言
相信很多研究安全或者打CTF的朋友都在使用HackBar,在浏览器中使用HackBar构造并发送请求非常方便,特别是测试SQL注入和XSS等常见漏洞。
但是HackBar是收费软件,在其 官网 上,价格由3刀到89刀不等。很多安全研究人员会选择购买89刀的10年证书,但是对于学生来说,短期的一个月1刀的短期价格对于这样一个浏览器插件来说还是比较贵的。
考虑到浏览器扩展插件的逻辑代码都是js代码,并且大部分工具类插件的代码都存放在本地,所以破解这类软件变得非常简单。
未破解前的hackbar是这样的,按钮没法用,显示一个红框
下面我将以Chrome浏览器为例,对HackBar插件进行破解。
破解插件
找到插件路径
首先我们需要在官网上找到插件的安装地址并进行安装
安装后插件会存放在我们电脑的本地
在chrome中打开 version 页面,可以在 个人资料路径
位置找到Chrome浏览器数据的存放位置
我们在文件管理器中打开这个路径,找到里面的Extension
目录,这个目录里面就存放了我们的所有扩展插件
我们可以在扩展程序界面看到所有插件的ID,找到HackBar的ID,然后从Extension目录中找到这个目录,进入后就是HackBar的插件目录
分析授权验证
我们先将插件这个目录复制出来,然后用编辑器打开,其中授权验证相关代码在 theme\js\hackbar-panel.js
这个js文件中
|
|
进行破解
通过上面对授权验证代码的分析,我们可以找到很多破解的思路,核心有一下几点:
license_ok
一开始是true
- 证书检查失败的红框一开始是隐藏的
- 授权验证失败调用的是
disable_hackbar()
函数 - 只在一处地方会向 服务器 检查证书状况
- 其他地方都是通过
check_license()
也就是license_ok
标记检查授权的
也就是说,一共有两个关键点:
- 证书检查失败的红框
- 功能的正常使用
针对证书检查失败的红框,只需要 disable_hackbar
函数不运行 或者 里面去除hidden
标记的代码不运行,就不会显示红框了
针对功能的正常使用,有很多办法可以达到:
- 首先我们知道,这些功能都是在调用
check_license()
函数检查授权情况的,所以我们可以将这个函数里面检查的代码全都注释掉 - 我们还发现,
check_license()
函数是通过license_ok
标记检查授权的,所以我们可以在检查前将license_ok
标记为true
,或者说将前面标记license_ok = false
的代码注释掉
最后我们发现,红框一开始是不显示的,license_ok
一开始是true
的,而前面所看到的授权验证的代码的唯一可能影响就是让红框显示、license_ok
为false
,所以那段代码直接删除了就ok了
我不会直接给出破解后的代码和插件的,希望大家能够根据上面的分析和破解思路自己进行破解
插件安装
近年来,通过浏览器插件对用户进行攻击、获取用户隐私信息的攻击越来越多,现代浏览器厂商为了保护用户的安全,往往会对发布的浏览器插件进行严格审查,对未经签名验证的插件不予安装或安装后无法运行
所以我们破解后的HackBar是无法通过正常途径安装的,我们需要通过开发者模式进行安装
在扩展程序页面右上角打开 开发者模式,这样就可以不经签名安装自己开发的插件
左上角 加载已解压的扩展程序 按钮,我们选择刚刚破解好的HackBar目录,就可以顺利将 HackBar 安装上了
通过这种方式安装的插件,每一次chrome重新启动都会有一个提示框,很烦人,但是能用
当然,也可以通过注册开发者账号,将插件通过官方渠道审核、签名、发布 这样所有人都可以安装了,当然推荐是 不公开 的发布模式
安装后,按F12,插件就可以正常使用了
总结
本文以HackBar的chrome插件的分析破解为例,想大家展示了浏览器插件的简单破解,Firefox的插件破解也是大同小异,希望大家可以活学活用