起因
Fluu做了一个爆破 hexo-blog-encrypt 插件密码的工具,对于使用 hexo-blog-encrypt 插件加密的博客,大概率可以破解,只是根据密码不同需要的爆破时间不一样而已,比如说Fluu自己的博客.
Github仓库链接: NaraFluorine/hexo-blog-encrypt-cracker
hexo-blog-encrypt-cracker 的工作原理?
前后端的架构,后端是python,负责破解博客,前端负责和用户交互,选用electron,用户可以决定密码的形态是什么,更好破解,最后的数字是尝试多少次后退出.
后端会在输入url后直接爬取这个博客的内容,然后收到用户指令后启动本地爆破,爆破期间不占用任何网络资源,不需要担心ddos的问题.因为hexo是静态博客,密钥可以在本地爆破出来,所以这个系统不需要ddos.
hexo-blog-encrypt-cracker 未来的开发方向?(已终止开发)
- 更好看的前端
- 尝试封包成app,支持三端甚至安卓ios.
- 更大的初始词库,比如中国上市公司名称合集,中国中学名称合集,汉字密码合集等词典.
- 对方块增加正则表达式支持
- 可能会增加多线程支持
- 可能会增加断点续搜支持(上一次搜到哪了,停一下,输出当前搜到的最新无效密码,下一次继续从这个地方开始搜)
- 支持
hexo-blog-encrypt插件的历史版本(并自动识别)
后续
Fluu发现密码生成也可以是有代价的:假设有一个密码的值域很大,那么值域暴力是不可取的.
而密码生成或者解密也可以有代价,这个代价就是 PBKDF2 插件所做的事情.
试想密钥解密都需要10s,那么暴力直接就飞升了.
所以这个 cracker 将不再维护,因为收益太小了.
hexo-blog-encrypt-ex 插件
这是一个分段加密的插件,现已应用于Fluu自己的博客中,用法和不带 -ex 的插件基本差不多.
Github仓库
下面文章的密码是 123456 :
1 |
|
开发方向
- 给博客增加部分可展示部分的简介
- 支持对于目录内所有文章的加密
- 支持对于文件的加密,并前端解密(文件,图片,声音)
- 对于Code部分似乎有点问题,再看看怎么修,目前的问题是不能渲染行号和颜色.
- 全文加密可能出现没有encrypt again的按钮
- 其他优化