SZhe_Scan碎遮:一款基于Flask框架的web漏洞扫描神器

天幕如遮,唯我一刀可碎千里华盖,纵横四海而无阻,是谓碎遮

——取自《有匪》

写在前面

这段时间很多时间都在忙着编写该项目,现在算是到了一个阶段性的终点,当然扫描器没有标题说的这么神,还有很多的不足需要完善和修补,也有自己很多想要添加的模块,和项目组成员一起加油长期维护该项目吧,算是给疫情在家的自己一个答案。

二旬已过,理想不灭

文章首发自悬剑微信公众号:https://mp.weixin.qq.com/s/oQPe29tX-w_2US9p7FuTXQ

碎遮SZhe_Scan Web漏洞扫描器,基于python flask框架,对输入的域名或IP进行自动化信息搜集与漏洞扫描,支持添加POC进行漏洞检测。

0x01 前言

网络空间已成为继陆、海、空、天四个疆域之后的第五疆域,没有网络安全就没有国家安全。而web是互联网的核心,Web网站上的每一个漏洞,都影响着成千上万的网络用户。碎遮Web漏洞扫描系统是

一款企业政府用于自检自查网站漏洞的运维工具

一款白帽子挖掘各大漏洞平台的辅助利器

一款安全人员对授权项目完成测试工作和学习交流使用的渗透工具

温馨提示:本项目仅进行信息搜集,漏洞探测工作,无漏洞利用、攻击性行为,开发初衷为仅为方便安全人员对授权项目完成测试工作和学习交流使用。

请使用者遵守当地相关法律,勿用于非授权测试,勿用于非授权测试,勿用于非授权测试(重要的事情说三遍),如作他用所承受的法律责任一概与作者无关!!!

咳咳,欲知详情,就往下划拉吧~

0x02 工具安装(择其一即可)

源码安装

  • Python版本:3.X,数据库:MySQL,Redis

  • Git bash界面输入 git clone https://github.com/Cl0udG0d/SZhe_Scan 进行下载(或者直接下载源代码)

  • 安装python类库

    pip3 install -r requirements.txt

  • 修改config.py中数据库的账号密码为本地账号密码,将config.py 中 HOSTNAME='mysql' 修改为 HOSTNAME='127.0.0.1',HOST = 'redis' 修改为 HOST = '127.0.0.1'

  • 在phpmyadmin界面导入init.sql.zip文件,自动初始化数据库和表,以及初始用户

  • 运行python3 index.py,浏览器输入127.0.0.1:5000访问漏洞扫描系统

Docker安装

  • 在服务器或本机上安装docker,正所谓工欲善其事,必先利其器(网上很多安装文章,此处不再赘述)

  • 依次输入以下三条命令

    git clone https://github.com/Cl0udG0d/SZhe_Scan
    cd SZhe_Scan
    docker-compose up -d
  • 运行结束后访问 http://ip:5000

0x03 工具启动

源码安装方式

在开启MySQL和Redis的情况下命令行运行

python3 index.py

浏览器访问 127.0.0.1:5000即可

Docker安装方式

在SZhe_Scan文件夹下,使用

docker-compose up -d

启动docker服务,访问 http://ip:5000 登录进行访问

关于启动登录,你还需要了解 ↓ ↓ ↓

  • 默认账户登录邮箱为:springbird@qq.com,密码为:springbird

  • 登录之后请第一时间修改密码,奥利给!!!

0x04 项目框架

本项目前端使用html+css+javascript进行漏洞扫描系统的可视化,后端基于python-flask框架,

数据库使用到了MySQL和Redis数据库,

持久化存储使用MySQL数据库,存储如用户账号密码,漏洞列表等信息,

Redis数据库用来作为消息队列和攻击载荷payload等会大量重复使用到的数据的存储,

为方便安装,将项目Docker化实现快速部署。

0x05 功能介绍

登录与注册界面

注册界面需要使用系统管理员生成的36位邀请码进行相应注册,防止扫描系统被滥用以及恶意注册,利于打造国内良好的安全生态环境.

超爱这两个界面背景图,有深度,有内涵,有思想!!

信息收集

基础信息收集

深度信息收集

域名domain
  • 子域名收集(主动+被动)

  • Whois信息

  • 域名历史解析记录

  • 域名备案信息

  • 旁站查询

  • 域名对应地址

IP
  • IP历史解析记录

  • IP旁站查询

  • C段信息扫描

  • IP地址

页面URL深度爬取

  • 多线程+广度优先搜索+深度爬取(默认两层)

漏洞扫描 BugScan

  • SQL注入漏洞检测

  • XSS漏洞检测

  • 命令执行漏洞检测

  • 文件包含漏洞检测

  • 自添加POC漏洞检测

0x06 运行截图

0x07 扫描器未来规划

不为明天做准备的人永远不会有未来, 未来的还需要努力, 但需要及早地做出规划 (盆友们干了这碗鸡汤)

  • 把已知不足的地方完善,修bug,完善自带POC和指纹信息

  • 增加fuzz漏洞发现模块等

  • 考虑分布式部署

  • 如果作者们想不开的话或许会使用Go语言重写整个项目

0x08 作者简介

  • 重庆某大学某三个大二学生

春告鳥: 低配韩商言 七叔: 我特别好,特别值得 不董: 普通小孩,惟适之安

0x09 项目地址

https://github.com/Cl0udG0d/SZhe_Scan 如果爱我,你就点点我~ 嘿!嘿!如果爱我,你就看看我~嘿!嘿!

0x10 致谢

希望SZhe_Scan碎遮能够为我国的网络安全事业尽一份绵薄之力

大师傅们给个Star可好?

:D

SZhe_Scan碎遮:一款基于Flask框架的web漏洞扫描神器的更多相关文章

  1. Python基于Flask框架配置依赖包信息的项目迁移部署小技巧

    一般在本机上完成基于Flask框架的代码编写后,如果有接口或者数据操作方面需求需要把代码部署到指定服务器上. 一般情况下,使用Flask框架开发者大多数都是选择Python虚拟环境来运行项目,不同的虚 ...

  2. 分享一款基于aui框架的图文发布界面

    本文出自APICloud官方论坛, 感谢论坛版主 川哥哥 的分享. 分享一款基于aui框架的图文发布界面,可以添加多张图可以删除,类似qq空间发布说说,没做服务器后端,只演示前端操作.需要用到UIMe ...

  3. 基于Flask框架搭建视频网站的学习日志(一)

    ------------恢复内容开始------------ 基于Flask框架搭建视频网站的学习日志(一)2020/02/01 一.Flask环境搭建 创建虚拟环境 初次搭建虚拟环境 搭建完虚拟环境 ...

  4. 基于Flask框架搭建视频网站的学习日志(二)

    基于Flask框架搭建视频网站的学习日志(二)2020/02/02 一.初始化 所有的Flask程序都必须创建一个程序实例,程序实例是Flask类的对象 from flask import Flask ...

  5. 基于Flask框架搭建视频网站的学习日志(三)之原始web表单

    基于Flask框架搭建视频网站的学习日志(三)1.原始Web 表单 本节主要用于体验一下前端后端直接数据的交互,样例不是太完善,下一节会加入Flash处理,稍微完善一下页面 (备注:建议先阅读廖雪峰老 ...

  6. rtvue-lowcode:一款基于uniapp框架和uview组件库的开源低代码开发平台

    rtvue-lowcode低代码开发平台 rtvue-lowcode一款基于uniapp框架和uview组件库的低代码开发平台,项目提供可视化拖拽编辑器,采用MIT开源协议,适用于app.小程序等项目 ...

  7. 如何快速搭建一个基于ServiceStack框架的web服务

    ServiceStack是一个高性能的.NET Web Service 平台,能够简化开发高性能的REST (支持JSON,XML,JSV,HTML,MsgPack,ProtoBuf,CSV等消息格式 ...

  8. 十九款web漏洞扫描工具

    1. Arachni Arachni是一款基于Ruby框架搭建的高性能安全扫描程序,适用于现代Web应用程序.可用于Mac.Windows及Linux系统的可移植二进制文件. Arachni不仅能对基 ...

  9. 一款基于SSM框架技术的全栈Java web项目(已部署可直接体验)

    概述 此项目基于SSM框架技术的Java Web项目,是全栈项目,涉及前端.后端.插件.上线部署等各个板块,项目所有的代码都是自己编码所得,每一步.部分都有清晰的注释,完全不用担心代码混乱,可以轻松. ...

随机推荐

  1. C++ 基础 5:多态

    1 什么是多态 多态按字面的意思就是多种形态.当类之间存在层次结构,并且类之间是通过继承关联时,就会用到多态. C++ 多态意味着由继承而产生的相关的不同的类,调用重写函数时,会根据实际的对象类型来执 ...

  2. 嗯,挺全乎儿的,Spring Boot 多环境配置都在这里了,你喜欢哪种?

    持续原创输出,点击上方蓝字关注我 目录 前言 Spring Boot 自带的多环境配置 创建不同环境的配置文件 指定运行的环境 Maven 的多环境配置 创建多环境配置文件 定义激活的变量 pom 文 ...

  3. JAVA中常见的阻塞队列详解

    在之前的线程池的介绍中我们看到了很多阻塞队列,这篇文章我们主要来说说阻塞队列的事. 阻塞队列也就是 BlockingQueue ,这个类是一个接 口,同时继承了 Queue 接口,这两个接口都是在JD ...

  4. Mockserver之Moco框架搭建使用

    客户要求进行完整的产品展示,人员和时间都有限,来不及开发后端服务... 工期比较紧的项目,前端已开发完成,需要调试,后端接口还未开发完成... 公司某个项目依赖于第三方服务,但是第三方服务不方便频繁调 ...

  5. c语言: 错误:只允许在 C99 模式下使用‘for’循环初始化声明 用gcc编译出现

    在gcc编译中如果使用 for(int i=0;i<n;++i){}会提示错误 错误:只允许在 C99 模式下使用'for'循环初始化声明 用gcc编译出现 就是说你的你的c编译器不是c99标准 ...

  6. quic 分析 1

    问题1:quic握手过程是怎样的? 怎样节约握手时间?握手时间多少个RTT?握手过程成涉及到哪些概念以及变量(代码) 0~1 RTT握手过程   QUIC握手的过程是需要一次数据交互,0-RTT时延即 ...

  7. select实现超时(套接字IO超时设置)

    实现超时的三种方式: 1.SIGALARM信号 void  handler(int sig) { return 0; } signal(SIGALRM,handler); alarm(5); int ...

  8. gdb调试入门(下)

    GDB调试主要包括: 1.查看运行时数据 2.程序错误 3.gdb调试逻辑错误 4.gdb调试段错误 5.core文件调试 一.查看运行时数据 1.print 查看变量值 2.ptype 变量: 查看 ...

  9. 环境安装和pycharm中一些基本设置

    一.Pycharm的使用和Python环境 1.python和pycharm的安装 python推荐版本3.7/3.8 pycharm选择社区版本 查看python版本在cmd中输入"pyt ...

  10. 【Camtasia教学】如何添加光标效果

    随着网络技术的快速发展,手机等移动工具越来越普及,我们的生活也发生了很大的变化,例如我们以前必须去到学校才能学习知识,但是现在躺在床上都可以看国外的教学视频.所以在网上录制教学或者演示视频变得越来越常 ...