基于Python3的漏洞检测工具 ( Python3 插件式框架 )

[TOC]

Python3 漏洞检测工具 -- lance

lance, a simple version of the vulnerability detection framework based on Python3.

基于Python3的简单版漏洞检测框架 -- lance

可以自定义poc或exp插件,可以指定要加载的poc或exp。

代码已经上传到Github : https://github.com/b4zinga/lance

screenshot

requirements

python3

关键代码

def loadPlugin(url, poc=None):
    """load all plugins.
    """
    if "://" not in url:
        url = "http://" + url
    url = url.strip("/")
    print("[*] Target url: %s" % url)

    plugin_path = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))),"plugins")
    if not os.path.isdir(plugin_path):
        print("[!] %s is not a directory! " % plugin_path)
        raise EnvironmentError
    print("[*] Plugin path: %s " % plugin_path)

    items = os.listdir(plugin_path)
    if poc:
        print("[*] Loading %s plugins." % poc)
        for item in items:
            if item.endswith(".py") and not item.startswith(‘__‘):
                plugin_name = item[:-3]
                if poc in plugin_name:
                    print("[*] Loading plugin: %s" % plugin_name)

                    module = importlib.import_module("plugins." + plugin_name)

                    try:
                        result = module.run(url)
                        if result:
                            print("[+] " + result)
                        else:
                            print("[-] Not Vulnerable %s " % plugin_name)
                    except:
                        print("[!] ConnectionError ")
                else:
                    continue
    else:
        for item in items:
            if item.endswith(".py") and not item.startswith(‘__‘):
                plugin_name = item[:-3]
                print("[*] Loading plugin: %s" % plugin_name)
                module = importlib.import_module("plugins." + plugin_name)
                try:
                    result = module.run(url)
                    if result:
                        print("[+] " + result)
                    else:
                        print("[-] Not Vulnerable %s " % plugin_name)
                except:
                    print("[!] ConnectionError ")

    print("[*] Finished")

usage

please run python3 lance.py -h for help.

[email protected]:~/lance# python3 lance.py
usage: python lance.py

lance. By [email protected]

optional arguments:
  -h, --help  show this help message and exit

Target:
  -u URL      target url.

Module:
  -m module   poc or exp to be loaded. defaul is all.

documents

说明文档 : https://github.com/b4zinga/lance/blob/master/README.md

Guide : https://github.com/b4zinga/lance/blob/master/docs/Guide.md

ChangeLog : https://github.com/b4zinga/lance/blob/master/docs/ChangeLog.md

TODOList : https://github.com/b4zinga/lance/blob/master/docs/TODOList.md

Any advice or sugggestions

Please mail to [email protected]

代码已经上传到Github : https://github.com/b4zinga/lance

原文地址:http://blog.51cto.com/11418753/2146691

时间: 2024-08-07 03:23:12

基于Python3的漏洞检测工具 ( Python3 插件式框架 )的相关文章

Python3漏洞扫描工具 ( Python3 插件式框架 )

目录 Python3 漏洞检测工具 -- lance screenshot requirements 关键代码 usage documents README Guide Change Log TODO list Any advice or sugggestions 目录结构 Python3 漏洞检测工具 -- lance lance, a simple version of the vulnerability detection framework based on Python3. 基于Pyt

小米范工具系列之八:小米范越权漏洞检测工具

小米范越权漏洞检测工具主要是检测网站越权漏洞的工具. 原理: 此工具内置了三个浏览器,三个浏览器完全独立,目前采用的是chrome内核,我们可以为三个浏览器使用不同的用户登录目标网站,或者 为三个浏览器设置不同的cookie,然后让他们同时去访问同一个url或者发送同样的请求,观察三个浏览器的页面变化,加入这个url或这个请求 只有管理员才能访问,那么三个浏览器所登录的用户如果没有管理员权限却访问正常则可能存在越权漏洞.界面如下: 目前操作模式主要有两种: 一.2.3号浏览器与1号浏览器同步.

移动App开发工具和移动应用漏洞检测工具

移动应用开发工具和移动应用漏洞检测工具,另外,HTML5提供了很多易于移动web开发的特性.例如,所有的网站都是开发放式的,不需要授权:开发者所创造的利润全部归自己所有.无疑,HTML5正在升温,它所体现出来的优势也在不断增加. 移动应用开发工具和移动应用漏洞检测工具,最新版本的HTML5,可以存储数据,也就是说,数据不再需要与设备绑定.HTML5给人们所带来的好处远不止这些.当然,也可能会有些小问题,比如:连接问题.有时速度会很慢,这也许和开发技术有关.虽然存在不足,但是HTML5的优势是不可

(C/C++)基于SharpUI控件库的插件式框架开发--第三篇框架基础服务库

一个框架基础的东西,一般也是操作的最基础的类,比如char.int.bool等,有时出现内存泄露的问题导致错误的抛出,但是C++开发有的时候就算是抛出异常,那也是靠经验来积累才能非常快速准确的找出错误所在,这就需要在框架中需要添加日志管理的接口,日志管理的好处就是开发者自身在找异常时提供参考,另一个就是如果用户操作时出现问题,也可将日志反馈,帮助快速解决问题:总之了为了更好的扩展完善我的框架,我详细列一下这个基础服务库(XPCore)包含内容: 虽说sharpui控件库内封闭好string类,但

(C/C++)基于SharpUI控件库的插件式框架开发--第一篇简介

看到题目,很明显这里要说的是插件式框架的开发,当然是用c/c++来实现的.开发对于我来说,是一种爱好,但并非科班出身,所以这里要说的一点分享就是,开发并不是会写代码就行了,最主要的是要有思路想法,比如要实现一个功能,就要知道,这个功能到底是要来实现啥的,要实现它需要什么样的算法等等,做到胸中有丘壑,再去用最简单代码去实现它,就会发现写代码是一件很享受的事情. 参加工作快两年了,一开始的是用C#开发,写了半年多的功能和小控件,上手之后,参考ICSharpCode.Core.Presentation

(C/C++)基于SharpUI控件库的插件式框架开发--第二篇可停靠管理

一个软件,不可能只有一个文档界面,会有多个甚至几十二,比如一些浏览器.文档查看等都是多个标签页的形式,在C#中开源的可停靠管理的常用的是Xceed.Wpf.AvalonDock:但是用C/C++开发的开源停靠管理库是没找到,没办法只能自己写一个了. 图1 可停靠管理项目名XPDock,其中所有控件的样式存放在“.bin\layout\Theme\Controls\XPDock.xml”:如图2: 图2 在XPDock控件中,DockingManager为控件主要控件,控件内定义添加视图方法Add

插件式框架平台

二.插件式框架平台 以插件编程为指导思想,动态反射调用组件为行动方针,深入调研.设计.编码,初步形成现代化软件架构. 简介 有了理论指导,就需要用实践去验证.所谓知行合一. 作为一款通用插件式开发框架,基础的插件内核是整个平台的核心.鉴于平台的通用性和易用性,还插件式的提供以下常用基础模块功能: 1. 工作流组件 2. 权限系统组件 3. 自动更新组件 4. 自定义UI套件 5. 轻量级ORM 6. 字典管理 7. 通用类库 2.1 插件内核 本平台的插件内核开发借鉴了SD中服务和插件树思想,以

Redis未授权漏洞检测工具

Redis未授权检测小工具 #!/usr/bin/python3 # -*- coding: utf-8 -*- """ @Author: r0cky @Time: 2019/9/2-17:35 """ import socket import sys passwds = ['redis','root','oracle','password','[email protected]','abc123!','123456','admin','abc1

SSLv3 Poodle攻击漏洞检测工具

漏洞编号:CVE-2014-3566 POC如下: import ssl,socket,sys SSL_VERSION={    'SSLv2':ssl.PROTOCOL_SSLv2,    'SSLv3':ssl.PROTOCOL_SSLv3,    'SSLv23':ssl.PROTOCOL_SSLv23,    'TLSv1':ssl.PROTOCOL_TLSv1,} def check_ssl_version(version):    try:        https = ssl.SS