Python分布式工具开发(三)--Python分布式工具开发之数据处理

作者: Beard_lin
免责声明:本文仅供学习研究,严禁从事非法活动,任何后果由使用者本人负责。

0x00 简述

当工具实现的功能越来越多时,需要交互的数据就越来越多,以及工具完成后的可视化操作都需要数据的大量读取存储,所以对数据的处理就显得很重要。

0x01 实现方式

针对这次的分布式工具,需要满足的要求,大致如下:

1.域名与ip对应关系
2.ip与端口对应关系
3.域名与指纹对应关系
4.指纹与漏洞对应关系
5.漏洞与域名对应关系

这些就是需要解决的问题,包括后续的可视化,都需要这些要求做支撑。

0x02 数据库的分类

要满足上面的要求那么我们就需要搭建一台额外的数据库服务器。
作者选用的时mysql数据库,因为正好之前搭建过一次(使用其他的也一样)。

因为满足的需求比较大,所以我们要创建几个数据库,来实现各种要求。

下面用图表来表示各个库的字段名:
在这里插入图片描述

1.ip对应域名对应端口以及对应指纹

在这里插入图片描述

2.指纹对应漏洞

在这里插入图片描述

3.漏洞对应域名

至此这几个数据库就可以满足使用了,当调用时,主要以domain 域名来作为导向,至于id 是作为项目编号使用。

0x03 代码书写时的规范

这里算是作者踩的坑吧,在书写较多代码时,要将配置单独列出,避免后续更改还要翻代码的问题。

下面是需要注意的地方:

1.提前对模块用到的功能以及数据做处理
2.编写时应尽量细化为不同代码块
3.数据表之间可以串联起来
4.多线程速度不易太快(对于分布式)

0x04 可视化的编写

因为采用的数据库存储数据,所以对可视化的编写可以使用的方式有很多。

1.EXE打包
2.web服务
3.PHP配合mysql
4.PYTHON的web配合mysql

0x05 总结

其实本篇代码与上篇一样,具体代码都很简单,就是需要想一下调用问题。

其实后两章的内容单独拿出来,就是一个小的扫描器代码。后续添加的话也可以直接在当前基础上像垒积木一样。

后面就没啥好写的了,包括前一张指纹识别与poc验证,其实可以加上whois信息收集,加上子域名探测。
也有大佬可以看出,这些功能已经被各种扫描器集成了,实用型上可能也比不过。说到底这也就是本人学习的过程。

后续可能会分享这些工具的原理,估计也不会有完整代码(个人觉得大部分都很简单&政策原因望理解),分布式工具就到这里了,大佬们有缘再会。

0x06 了解更多安全知识

欢迎关注我们的安全公众号,学习更多安全知识!!!
欢迎关注我们的安全公众号,学习更多安全知识!!!
欢迎关注我们的安全公众号,学习更多安全知识!!!
在这里插入图片描述

Guess you like

Origin blog.csdn.net/weixin_42282189/article/details/120675887