【python】打造一款自动扫描全网漏洞的扫描器

这是一款和刘老师一起写的网安类别扫描器。基本原理是由Python+Mysql搭建的扫描器,实现自动无限永久爬行采集网站链接,自动化漏洞扫描检测。目的是挂机就能实现自动化发掘敏感情报,亦或是发现网站的漏洞或者隐藏可利用的漏洞。
    早在17年11月份的时候就有这个想法,可是一直没有去做,后来快到除夕前几天才正式开始整个软件工程的设计。当时的想实现的功能比较简单,就是能做到无限采集到网站使用的CMS,比如www。xx。com使用的是DEDECMS,那么我就把www。xx。com|dedecms这样的数据存到数据库里面,如果下次dedecms爆出新的漏洞后,我能在第一时间内发现哪些网站存在这个漏洞。那么这个软件工程的核心功能就必须满足以下的需求。

  1. 能无限爬行采集互联网上存活的网址链接
  1. 能对采集到的链接进行扫描验证
  2. Mysql数据库和服务器的负载均衡处理

    当然如果只是只检测CMS类型然后保存到数据库肯定是不够的,这样简单的功能并没有多大的优势,于是我选择了加入下列漏洞的扫描验证。

  1. 添加备份文件扫描功能
  1. 添加SVN/GIT/源码泄漏扫描功能,其中包括webinfo信息扫描
  2. 添加编辑器漏洞扫描功能
  3. 添加SQL注入漏洞的自动检测功能
  4. 添加使用Struts2框架的网站验证功能(居心叵测)
  5. 添加xss扫描检测功能(暂未实现)
  6. 添加扫描网站IP并且扫描危险端口功能
  7. 添加外链解析漏洞检测功能(暂未实现)
  8. 暂时想不到别的了,如果你有好的建议请联系我~

结果展示

    如图展示的都是扫描到的备份文件,敏感信息泄漏,注入,cms类型识别,st2框架,端口开放等等,挂机刷洞,基本上只要漏洞报告写得详细一点,勤快多写点,都可以通过审核,刷洞小意思,刷排名之类的都不在话下。





st2

用户交互模式

    需要使用Mysql数据库就无法避免数据库配置问题,首先是存储软件采集到的漏洞信息的数据库,我可以自己写一张数据库的结构的语句,然后让用户自己执行这份SQL文件,创建好这个数据库。

    其次就是数据库的连接问题,关于数据库的地址,帐号,密码等,因为每个人的环境都可能不一样,所以这一步肯定要有交互过程,那么填写数据库配置信息是直接运行软件后让用户输入数据库帐号密码还是新建一个配置文件呢?我选择了后者,新建了一个config.ini,里面不仅仅是填写数据库配置信息,还有这个软件的核心使用功能,比如说你只想无限采集网站和扫描备份文件,那么你可以在这个文件里面做好配置工作。

    为了避免每个人爬行到的数据重复,我的想法是首先让用户采集一些网址作为初始网址,然后基于这些网址开始无限爬行。如果是第一次

  • 12
    点赞
  • 83
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 51
    评论
评论 51
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浪子燕青啦啦啦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值