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. 使用git处理github中提交有冲突的pull request

    前言: 为什么要写这篇文章,因为前段时间有一个开源的github中的项目有一个朋友提交了一个pr看了下是帮忙优化了下代码(十分感谢这位网友).但是他提交的pr刚好和我的项目有许多的冲突导致无法自动合并 ...

  2. ohmyzsh的安装过程中失败拒绝连接问题的解决

    1.打开官网https://ohmyz.sh/ 在官网能看到下面的界面 有这两种自动安装的方式 个人本次选择的是: wget https://raw.github.com/ohmyzsh/ohmyzs ...

  3. spring 中aop 切面实战

    切面相关注解: @Aspect : 声明该类为一个注解类 @Pointcut : 定义一个切点 @Before : 在切点之前执行 @After : 在切点之后执行 不管目标方法是否执行成功 @Aft ...

  4. RocketMQ4.x安装部署

    1.下载安装包:https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.2.0/rocketmq-all-4.2.0-bin-release.zip ...

  5. 一:JavaWeb

    1.javaWeb技术体系 2.HTMl 超文本标记语言 (超文本的意思就是除了可以包含文字之外,还可以包含图片链接音乐视频等...) 2.1 HTML网页的组成  (结构:HTML 表现:CSS 行 ...

  6. synchronized 到底该不该用?

    我是风筝,公众号「古时的风筝」,一个兼具深度与广度的程序员鼓励师,一个本打算写诗却写起了代码的田园码农! 文章会收录在 JavaNewBee 中,更有 Java 后端知识图谱,从小白到大牛要走的路都在 ...

  7. sql实现通过父级id查询所有的子集

    通过sql实现传入父级id查询出所有的子集 最近刚好有个业务需要这样实现个功能,就是在点击查询列表详情的时候只会传入父级id,而详情得渲染出所有子集,那么做法有很多,可以直接通过代码递归查询去实现, ...

  8. laravel 验证器使用

    1.前后端不分离 (form表单提交) 控制器定义验证规则 <?php namespace App\Http\Controllers\Admin; use Illuminate\Http\Req ...

  9. bWAPP----HTML OS Command Injection - Blind

    OS Command Injection - Blind 先上代码,他判断了win还是linux然后进行了ping但是结果并没有返回. 1 <div id="main"> ...

  10. Python学习第三天 --- 分支、循环、条件、枚举

    1.表达式: 表达式(Expression)是运算符(operator)和操作数(operand)所构成的序列. 2.表达式的优先级: 3.python的注释: #单行注释 ''' 多行注释 ''' ...