npm 包 bruteforcer 使用教程

阅读时长 3 分钟读完

前言

随着互联网的发展,越来越多的网站需要用户进行注册或登录,而用户又可能会忘记自己的用户名或密码,因此需要开发一些工具来辅助用户找回密码或者对用户密码进行安全性的测试,那么这些工具的基础都是通过暴力破解进行的,而 bruteforcer 就是其中一个很不错的 npm 包。

初识 bruteforcer

bruteforcer 是一个基于 node.js 的开源工具包,主要用于提供暴力破解的算法支持,可以用于用户密码或者其他应用场景的密码或密钥找回或者检测。

bruteforcer 的特点在于其可以轻松的支持自定义的字典,而且支持多线程管理,可以极大的提高算法的性能。

安装

使用 npm 进行下载即可:

使用教程

如果要使用 bruteforcer 进行暴力破解,则需要提供三个参数分别为:

  • 基础字符串(这个是指我们要进行破解的字符串,例如密码字符串)
  • 字典(包含所有可能的密码组合,不同字典的算法不同,在这里不做讨论)
  • 回调函数(破解成功后的操作,例如打印出密码)

相应的代码如下:

-- -------------------- ---- -------
----- ----------- - -----------------------

----- ----------- - --- --------------
----- -------- - ----------------

---------------------- ---------- -- -
    -------------------- -------- --- --------------
---

--------------------- -- -- -
    --------------------- ---------
---

----- ---- - -
    -------------
    --------------
    ----------
--

--------------------------- ------

在上述代码中,我们使用 bruteforcer 创建了一个实例,并定义了一个要破解的密码以及一个由多个密码组合构成的字典。

接着,我们注册了两个事件分别是 data 和 end,data 事件用于在 bruteforcer 进程进行破解时打印当前的破解密码,end 事件则是在 bruteforcer 破解成功后进行的操作。

最后,我们调用方法 start,输入密码和字典即可启动破解过程。

需要注意的是,在实际应用中,我们应该使用自己的字典列表,以尽可能的将理论破解时间缩短到最短。

总结

通过本篇文章的介绍,我们了解了 bruteforcer 这个 npm 包的使用方法以及基本原理,同时也懂得了在实际应用中,如何去选择和使用自己的字典,以及如何优化算法性能。

当然,在实际应用中,我们还需要担心很多安全性的问题,例如密码被破解后是否会暴露用户隐私,这里不作深入讨论。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600572f981e8991b448e920a

纠错
反馈