SZhe_Scan碎遮:一款基于Flask框架的web漏洞扫描神器
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位邀请码进行相应注册,防止扫描系统被滥用以及恶意注册,利于打造国内良好的安全生态环境.

超爱这两个界面背景图,有深度,有内涵,有思想!!
信息收集
基础信息收集
Web指纹识别
目标状态码
标题
响应头
收录时间
端口扫描
WebLogic漏洞检测,整合WeblogicScan项目中的WebLogic模块
CMS漏洞检测,整合AngelSword项目中的几百个POC
敏感目录/文件扫描
深度信息收集
域名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 致谢
参考借鉴并整合了github上很多优秀的开源扫描模块,包括但不限于: https://github.com/AttackandDefenceSecurityLab/AD_WebScanner https://github.com/b4ubles/python3-Wappalyzer https://github.com/rabbitmask/WeblogicScan https://github.com/Lucifer1993/AngelSword 在此对这些前辈师傅们表示由衷的感谢
向每个为我国安全事业默默做贡献的白帽子致敬!!!

希望SZhe_Scan碎遮能够为我国的网络安全事业尽一份绵薄之力
大师傅们给个Star可好?
:D
SZhe_Scan碎遮:一款基于Flask框架的web漏洞扫描神器的更多相关文章
- Python基于Flask框架配置依赖包信息的项目迁移部署小技巧
一般在本机上完成基于Flask框架的代码编写后,如果有接口或者数据操作方面需求需要把代码部署到指定服务器上. 一般情况下,使用Flask框架开发者大多数都是选择Python虚拟环境来运行项目,不同的虚 ...
- 分享一款基于aui框架的图文发布界面
本文出自APICloud官方论坛, 感谢论坛版主 川哥哥 的分享. 分享一款基于aui框架的图文发布界面,可以添加多张图可以删除,类似qq空间发布说说,没做服务器后端,只演示前端操作.需要用到UIMe ...
- 基于Flask框架搭建视频网站的学习日志(一)
------------恢复内容开始------------ 基于Flask框架搭建视频网站的学习日志(一)2020/02/01 一.Flask环境搭建 创建虚拟环境 初次搭建虚拟环境 搭建完虚拟环境 ...
- 基于Flask框架搭建视频网站的学习日志(二)
基于Flask框架搭建视频网站的学习日志(二)2020/02/02 一.初始化 所有的Flask程序都必须创建一个程序实例,程序实例是Flask类的对象 from flask import Flask ...
- 基于Flask框架搭建视频网站的学习日志(三)之原始web表单
基于Flask框架搭建视频网站的学习日志(三)1.原始Web 表单 本节主要用于体验一下前端后端直接数据的交互,样例不是太完善,下一节会加入Flash处理,稍微完善一下页面 (备注:建议先阅读廖雪峰老 ...
- rtvue-lowcode:一款基于uniapp框架和uview组件库的开源低代码开发平台
rtvue-lowcode低代码开发平台 rtvue-lowcode一款基于uniapp框架和uview组件库的低代码开发平台,项目提供可视化拖拽编辑器,采用MIT开源协议,适用于app.小程序等项目 ...
- 如何快速搭建一个基于ServiceStack框架的web服务
ServiceStack是一个高性能的.NET Web Service 平台,能够简化开发高性能的REST (支持JSON,XML,JSV,HTML,MsgPack,ProtoBuf,CSV等消息格式 ...
- 十九款web漏洞扫描工具
1. Arachni Arachni是一款基于Ruby框架搭建的高性能安全扫描程序,适用于现代Web应用程序.可用于Mac.Windows及Linux系统的可移植二进制文件. Arachni不仅能对基 ...
- 一款基于SSM框架技术的全栈Java web项目(已部署可直接体验)
概述 此项目基于SSM框架技术的Java Web项目,是全栈项目,涉及前端.后端.插件.上线部署等各个板块,项目所有的代码都是自己编码所得,每一步.部分都有清晰的注释,完全不用担心代码混乱,可以轻松. ...
随机推荐
- python中的时间和时间格式转换
1.python中的时间:要得到年月日时分秒的时间: import time #time.struct_time(tm_year=2012, tm_mon=9, tm_mday=15, tm_hour ...
- c++中的几种函数调用约定(转)
C++中的函数调用约定(调用惯例)主要针对三个问题: 1.参数传递的方式(是否采用寄存器传递参数.采用哪个寄存器传递参数.参数压桟的顺序等): 参数的传递方式,最常见的是通过栈传递.函数的调用方将参数 ...
- ViewPager2与ViewPager的区别
viewpager: viewpager有2个弊端: 1.不能关闭预加载 2.更新adapter不生效 我们在加载数据的时候,viewpager默认会帮我们预加载前后两个页面的数据,并且这2个vi ...
- AHB SRAM控制器设计
- linux利用screen进行shell下的屏幕协作
我们都知道linux是支持多终端并行处理的 但是某些时候我们可能有比较特殊的需求需要两个人同时处理一个终端,screen 正好能满足这个要求 首先需要安装screen软件: debian和ubuntu ...
- scrapy学习之爬虫练习平台35
前言 上一篇文章中爬取了爬虫练习平台的所有 ssr 网站,都是比较简单的,没有反爬措施,这次来爬一下后面的 spa 系列. 环境准备 这里沿用了上篇文章的环境和设置,就不重新搭建环境了. 开始爬取 s ...
- 5G时代,URL Rewrite 还吃香吗
URL Rewrite是网站建设中经常用到的一项技巧,通过 rewrite 我们能够屏蔽服务器运行态的信息,包括服务的程序.参数等等,给用户呈现美化后的URL,同时对搜索引擎更加友好,方便我们网站的推 ...
- 【建议收藏】一份阿里大牛花了三天整理出来的XML学习笔记,写的非常详细
1. 什么是XML? XML 指可扩展标记语言(EXtensible Markup Language)XML 是一种标记语言,很类似 HTMLXML 的设计宗旨是传输数据,而非显示数据XML 标签没有 ...
- 这些Stream流的常用方法你得记住,步骤简单不麻烦!
forEach遍历 /* forEach:该方法接收一个Consumer接口函数,将每一个流元素交给该函数处理 简单记: forEach方法:用来遍历流中的数据 是一个终结方法,遍历之后就不能继续调用 ...
- open()和with open() as的区别
2020-03-18 20:37:55 open()和with open() as的区别 1 file = open("test.txt","r") 2 fo ...