前言:http://RapidDNS.io 是一个秒级在线子域名和同IP域名的查询工具。目前拥有25亿条DNS记录,支持A、AAAA、CNAME、MX4种DNS记录类型。由于Goby程序对子域名收集方面不是很完善,这里特编写此插件作为其拓展。可以方便快速获取域名和ip地址信息进行侦察,提升探测效率。

0x001 插件使用

输入要查询的根域名,点击搜索按钮,稍等片刻即可查看所有查询结果。可以根据情况选择导入域名,IP或者两者都导入。

注:由于有些域名数量较多,等待时间也可能会久一些,请耐心等待。如果长时间没有结果,可以关闭查询gobies.org这类数量少的域名确认是否可以正常使用。

0x002 插件开发

插件开发很简单,只需要获取网页查询结果表格显示即可。可以借鉴已有样式,比如FOFA插件。

1. 首先,直接拷贝FOFA插件并重命名为RapidDNS。

2. 更改package.json文件中属性信息。修改README.mdCHANGELOG.md

3. 更改相关文件名为和内容为rapiddns,即替换fofa即可。

4. 修改src/extension.js文件中指向的文件为rapiddns.html

5. 修改请求的url,替换为https://rapiddns.io/subdomain/${content}?full=1。根据返回的内容,提取查询结果的表格内容。这里可以使用正则<thead>(.+?)</tbody>提取,使用多行和全局模式即可。对提取到的内容直接append到插件窗口中。这里要修改下页面中id为ip-table文的表格,要删除掉多余内容,只保留<table lay-filter="demo" id="ip-table" class="layui-table"></table>就可以。

6. 删除掉export按钮,增加3个按钮,分别为export ip, export subdomain, export all。并修改对应的id。

7. 因为页面中使用了Jquery库,直接通过遍历表格的方法就可以将内容导出目标。$("#ip-table tr").each,循环遍历,并根据其DNS类型是否导入ip或者子域名。获取表格列值的代码是currentRow.find("td:eq(2)").text()

具体可以看如下示例代码,其他同理:

$(".export-ip").on("click", function() {let ips = [];$("#ip-table tr").each(function(){var currentRow=$(this);var type =currentRow.find("td:eq(2)").text();if(type=="A"){var ip=currentRow.find("td:eq(1)").text();if(ip !=""){ips.push(ip);}}})goby.addScanIps(ips, 1);goby.showSuccessMessage("Export completed!");goby.closeIframeDia();})

8. 清理无用的文件和加载的代码,完成开发。

0x003 小结

由于Goby暂时不支持IPv6扫描,不会导入IPv6地址。后续Goby支持IPv6扫描后再添加IPv6地址(RapidDNS网站本身支持IPv6)。开发过程中发现问题:1. 无法识别Readme文档中的项目符号。2. 扫描框高度只能显示两个目标太少。3. 窗口不能拖动也挺难受的。不过这些问题都不大。

在不了解太多信息以及缺乏相关基础知识的情况下,通过已有的插件,可以快速的实现插件编写,达到自己的需求和目的。通过拓展,也可以提升在渗透过程中的效率。

Happy Hacking!!!

如果表哥/表姐也想把自己上交给Goby社区,戳这里领取一份插件任务?

https://github.com/gobysec/GobyExtension/projects

文章来自Goby社区成员:BaCde,转载请注明出处。
下载Goby内测版,请关注微信公众号:GobySec
下载Goby正式版,请关注网址:https://gobies.org

js 获取域名_RapidDNS域名查询如何联动Goby相关推荐

  1. js 获取当前网站域名的方法

    上午在做一个小项目时,需要从后台取到网页的路径并在前台用JS代码组合成网址再跳转.难度不是很大,主要是需要用到 js 代码获取当前网址的主域名,那么这篇博文,飞鸟慕鱼博客就来和大家说一说,js获取当前 ...

  2. html 当前域名,js 获取当前网站域名的方法

    上午在做一个小项目时,需要从后台取到网页的路径并在前台用JS代码组合成网址再跳转.难度不是很大,主要是需要用到 js 代码获取当前网址的主域名,那么这篇博文,飞鸟慕鱼博客就来和大家说一说,js获取当前 ...

  3. 如何用js获取浏览器URL中查询字符串的参数

    首先要知道Location这个对象以及这个对象中的一些属性: href:设置或返回完整的url.如本博客首页返回http://www.cnblogs.com/wymninja/ host:设置或返回主 ...

  4. php字符串search,js获取location.search每个查询字符串的值

    形如https://www.debug.org/temp/test2.html?a=1&b=2#ddd这样的链接,虽可通过location.search属性获取到问号后的所有查询字符串值,但要 ...

  5. js获取当前域名和端口号以及完整URL

    一.js获取当前项目域名 var domain = document.domain; // http://www.baidu.comvar domain = window.location.host; ...

  6. js 获取域名_确定你会使用JS操作Url吗?

    一.js获取当前域名有2种方法 1.方法一 var domain = document.domain;2.方法二var domain = window.location.host;3.注意问题由于获取 ...

  7. js+获取当前域名及跳转、下载操作

    一.js获取当前域名 1.方法一 var domain = document.domain; 2.方法二 var domain = window.location.host; 3.注意问题 由于获取到 ...

  8. js总结(10)js获取当前域名、Url、相对路径和参数以及指定参数

    一.js获取当前域名有2种方法 获取到当前域名的顶级域名 "http://m."+document.domain.split('.').slice(-2).join('.'); 1 ...

  9. js获取当前域名、Url、相对路径和参数

    用 Javascript 可以单独获取当前域名.Url.相对路径和参数,所谓单独获取,即域名不包括网页文件的路径和参数.参数不包括域名和网页文件路径,下面分别介绍. 一.js获取当前域名有2种方法 1 ...

最新文章

  1. java重置_JAVA復制數組和重置數組大小
  2. 启动欢迎页面时,Android Studio设置全屏Activity
  3. vs2013链接Mysql时出现 (由于找不到libmysql.dll,无法继续执行代码。重新安装程序可能会解决此问题)
  4. 量子物理 詹班 计算机,(电气系计算机系詹班)量子物理作业答案
  5. win10+mysql8.0安装
  6. go语言服务器连接mysql,golang中连接mysql数据库
  7. 韭菜财经大数据:《2019年内容创业市场报告》
  8. Linux下用户组、文件权限、更改目录下所有文件权限
  9. 蓝桥杯 ALGO-81 算法训练 动态数组使用
  10. O(1) O(n)
  11. Qt SizeHint()
  12. IT项目管理之系统设计
  13. 统计学习(五):非参数检验
  14. JDBC中PreparedStatement接口的执行逻辑
  15. Python设置随机数种子
  16. ps存不了psd格式怎么办_ps打不开psd文件怎么办
  17. javascript渐变色算法
  18. bcdedit添加linux引导,bcdedit修改uefi启动顺序
  19. 跨境电商支付方式和如何玩转跨境支付
  20. FPGA芯片的GTX/GTH/GTY/GTP/GTZ/GTM高速信号有什么区别?

热门文章

  1. Android 实现验证码效果图
  2. js处理富文本编辑器转义、去除转义、去除HTML标签
  3. js随机从数组中取出几个元素
  4. cesium根据输入高度设置相机camera视角高度
  5. ArrayList的remove方法(重写equals方法) 与LinkedList的常用操作
  6. (四)ElasticSearch之数据
  7. 10行代码实现小程序支付功能!丨实战
  8. jQuery基本语法
  9. Codeforces Round #434 (Div. 2)【A、B、C、D】
  10. const char *p、char const *p、char *const p