安全矩阵

 找回密码
 立即注册
搜索
查看: 7352|回复: 0

插件分享 | 可对内置暴力破解进行字典替换的Dictionary Config

[复制链接]

991

主题

1063

帖子

4315

积分

论坛元老

Rank: 8Rank: 8

积分
4315
发表于 2021-1-12 21:06:13 | 显示全部楼层 |阅读模式
本帖最后由 gclome 于 2021-1-12 21:09 编辑

原文链接:插件分享 | 可对内置暴力破解进行字典替换的Dictionary Config

前言:Goby内置有暴力破解漏洞字典,但是由于内置的字典较为简单,直接使用会导致这些漏洞几乎发挥不了作用。所以这次在插件里内置了不同等级的漏洞字典,我们可以选择字典保存,批量替换及自定义替换字典,从而使这些漏洞在扫描时发挥作用。


01  插件效果
1.1 插件使用
1.1.1 批量替换字典

1.1.2 自定义字典


1.2 插件入口
安装完插件后,可以在工具栏内看到插件的按钮。


1.3 字典配置
插件目前预置了3个等级的字典:精简、中等以及复杂。

自定义可以自由组合这些字典的等级进行配置。

至少需要选择一个协议的字典进行配置,如果没有选择直接保存的话会有提示。

配置成功后会有提示。


02  插件开发
2.1 确定思路
用node来操作文件,用我们插件预置的字典来替换Goby内置的字典,找到Goby字典的路径:goby\golib,在Goby根目录下的golib目录就是字典的路径。

2.2 确定入口点
将插件入口点选择放在工具栏

  1. "contributes": {
  2.         "views": {
  3.             "toolbar": [
  4.                 {
  5.                     "command": "dictionaries",
  6.                     "title": "dictionaries",
  7.                     "icon":"./src/assets/img/dictionaries.png"
  8.                 }
  9.             ]
  10.         }
  11. }
复制代码


2.3 业务开发
业务逻辑很简单,就是按照用户选择的等级将不同字典文件的内容写入到Goby内置字典。
首先替换文件很简单,直接在我们的插件弹窗页面操作。
将node中的模块引进来

  1. data: {
  2.             goby:parent.goby,
  3.             path:parent.require('path'),
  4.             fs:parent.require('fs')
  5.         }
复制代码

写一个文件替换的方法,需要两个参数:
1. 插件预置字典的路径;
2. 需要替换的字典
  1. replace(url,name){
  2.       this.fs.readFile(url,'utf-8',(err,data)=>{
  3.           if(err){
  4.               this.fail.push(name);
  5.               return;
  6.           }
  7.           this.fs.writeFile(this.dictionariesPath[name],data,(error)=>{
  8.               if(error){
  9.                  this.fail.push(name);
  10.                  return;
  11.               }
  12.           })
  13.       })
  14.     }
复制代码
最后给Save按钮绑定点击事件,并且根据用户选择的是全替换还是自定义来进行不同的操作。
  1. <el-button type="primary" class="save" @click="save" size="small">Save</el-button>
复制代码
  1. save(){
  2.             this.fail = [];
  3.             switch (this.value.label) {
  4.                 case 3:
  5.                     this.userDefined();
  6.                     break;
  7.                 default:
  8.                     this.preset();
  9.                     break;
  10.             }
  11. }
复制代码
03 小结
本次插件开发很顺利,用到的API也是非常基础的API:registerCommand、showIframeDia 及 showInformationMessage。Dictionary Config目前只有精简、中等以及复杂三个等级的字典,后续会对字典进行完善并且支持大家自行上传字典。

内测版 Beta 1.8.230、正式版 Beta 1.8.230 、超级内测版 Beta 1.8.236 及以上版本支持。

插件开发文档及Goby开发版下载:
https://gobies.org/docs.html

关于插件开发在B站都有详细的教学,欢迎大家到弹幕区合影~
  • https://www.bilibili.com/video/BV1u54y147PF/















回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-28 18:57 , Processed in 0.012899 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表