这两天看了很多web漏洞扫描器编写的文章,比如W12scan以及其前身W8scan,还有猪猪侠的自动化攻击背景下的过去、现在与未来,以及网上很多优秀的扫描器和博客,除了之前写了一部分的静湖ABC段扫描器,接下来有空的大部分时间都会用于编写这个扫描器,相当于是对自己的一个阶段性挑战吧,也算是为了完善自己的技术栈。

因为想把扫描器做成web应用,像W12scan,bugscan,AWVS那样的,部署好了之后登陆,添加需要扫描的url,自动化进行漏洞扫描,首先需要将扫描器的web界面完成,也就是前后端弄好,漏洞扫描作为后面添加进去的功能,在原基础上进行修改。

因为时间不是很宽裕,所以选择Flask框架进行web的开发,学习的视频是:

https://study.163.com/course/courseMain.htm?courseId=1004091002

找了很久的视频,要么就是太短了,对于很多地方没有讲透彻,要么就是几百集的教程丢过来,过于繁杂。

文档可以看官方文档,或者是这个:

http://www.pythondoc.com/flask-mega-tutorial/

当然遇到不会的问题还需要谷歌搜索一下,发挥自己的主观能动性。

接下来慢慢更新这一篇博客,先学Flask,哪里不会点技能树的哪里吧。当然也不能放弃代码审计,CTF和网课的学习

2020/4/2更新

框架快搭建好了,先做了登录界面

然后扫描器的基础功能也在readme里面写好了,侧重的功能模块是信息搜集和FUZZ模块

碎遮 Web漏洞扫描器

环境要求:

python版本要求:3.x,python运行需要的类库在requirements.txt中,执行

pip3 install -r requirements.txt

进行类库的下载
主要功能: 一,输入源采集: 1,基于流量清洗 2,基于日志提取 3,基于爬虫提取 二,输入源信息搜集(+) 1,被动信息搜集:(公开渠道可获得信息,与目标系统不产生直接交互) 1,whois 信息 获取关键注册人的信息 chinaz 2,在线子域名挖掘(这里不会ban掉自身IP,放进被动信息搜集中) 3,绕过CDN查找真实IP 4,DNS信息搜集 5,旁站查询 6,云悉指纹 7,备案信息 8,搜索引擎搜索 9,备案查询 2,主动信息搜集: 1,旁站C段服务简单扫描 2,子域名爆破 3,CMS指纹识别 4,敏感目录,文件扫描 5,端口及运行服务 6,服务器及中间件信息 7,WAF检测 8,敏感信息泄露 .svn,.git 等等 9,登录界面发现 三,SQL注入漏洞 四,XSS漏洞检测 五,命令执行类漏洞 六,文件包含类漏洞 七,登录弱密码爆破 八,FUZZ模块
可视化界面: 使用flask+javascript+html+css编写 启动index.py,在浏览器中访问127.0.0.1:5000访问

  准备开始模块的编写,加油趴

整个项目现在完成了1/3的样子,因为自己缺乏架构的经验,所以暂时只能走一步看一步,最开始使用MySQL数据库准备换成redis非关系型数据库加快读写速度,扫描器在写的过程中丰富了自己对于各方面知识的掌握

贴上W12scan的代码架构镇楼

从架构图里面跟自己扫描器的想法进行了一些验证和补充。自己写的时候应该不会用到elastic,可以考虑使用redis和MySQL数据库两个相互进行配合存储数据。

另外在扫描范围上要进行合法范围的扩大化。

web网络漏洞扫描器编写的更多相关文章

  1. Acunetix Web Vulnerability Scanner(WVS)(Acunetix网络漏洞扫描器)

    Acunetix网络漏洞扫描软件检测您网络的安全性安全测试工具Acunetix Web Vulnerability Scanner(WVS) (Acunetix网络漏洞扫描器)技术 网络应用安全扫描技 ...

  2. 5. Web vulnerability scanners (网页漏洞扫描器 20个)

    5. Web vulnerability scanners (网页漏洞扫描器 20个) Burp Suite是攻击Web应用程序的集成平台. 它包含各种工具,它们之间有许多接口,旨在方便和加快攻击应用 ...

  3. Back Track 5 之 Web踩点 && 网络漏洞

    Web踩点 CMS程序版本探测 Blindelephant 针对WORDPRESS程序的踩点工具,通过比较插件等一系列的指纹,判断版本. 格式: Python Blindelephant.py [参数 ...

  4. 小陈WEB漏洞扫描器 V2.0

    小陈WEB漏洞扫描器 V2.0 小陈WEB漏洞扫描器 V2.0 https://pan.baidu.com/s/1NSmFCyxowEa3YlOuhvtwwQ

  5. 6. Vulnerability scanners (漏洞扫描器 11个)

    Nessus是最流行和最有能力的漏洞扫描程序之一,特别为UNIX系统. 它最初是免费的和开源的,但是他们在2005年关闭了源代码,并在2008年删除了免费的“注册Feed”版本.现在要每年花费2,19 ...

  6. qqzoneQQ空间漏洞扫描器的设计attilax总结

    qqzoneQQ空间漏洞扫描器的设计attilax总结 1.1. 获取对方qq(第三方,以及其他机制)1 1.2. QQ空间的html流程1 1.3. 判断是否有权限1 1.4. 2015年度Web服 ...

  7. 【OWASP TOP10】2021年常见web安全漏洞TOP10排行

    [2021]常见web安全漏洞TOP10排行 应用程序安全风险 攻击者可以通过应用程序中许多的不同的路径方式去危害企业业务.每种路径方法都代表了一种风险,这些风险都值得关注. 什么是 OWASP TO ...

  8. DAST 黑盒漏洞扫描器 第六篇:运营篇(终)

    0X01 前言 转载请标明来源:https://www.cnblogs.com/huim/ 当项目功能逐渐成熟,同时需要实现的是运营流程和指标体系建设.需要工程化的功能逐渐少了,剩下的主要工作转变成持 ...

  9. SlimerJS – Web开发人员可编写 JS 控制的浏览器

    SlimerJS 是一个提供给 Web 开发人员,可通过脚本编程控制的浏览器.它可以让你使用 Javascript 脚本操纵一个网页:打开一个网页,点击链接,修改的内容等,这对于做功能测试,页面自动机 ...

随机推荐

  1. 【Mycat】Mycat核心开发者带你看尽Mycat三大核心配置文件

    写在前面 在分布式数据库中间件领域,Mycat和ShardingSphere可以说是在开源界有着相当重要的位置,不少小伙伴也在问我:Mycat和sharding-jdbc哪个好呀!其实,就我本身而言, ...

  2. Flink SQL Client初探

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  3. 两个SQL查询,横向合并为一个查询结果

    第一条sql: select unit,count(*)as number from archives_management group by unit 第二条sql: select fine_uni ...

  4. c语言 :write与read系统调用总结

    在学习的时候总是有点迷糊于是在网上找到一些比较好的分享一下  下面举一个例子: 1 #include <stdio.h> 2 #include <unistd.h> 3 #in ...

  5. .NET 5 带来的新特性 [MemberNotNull] 与 [MemberNotNullWhen]

    MemberNotNullAttribute是 .NET 5 的新增特性,位于System.Diagnostics.CodeAnalysis.该特性用于显式声明,调用此方法后该值不再为 Null.示例 ...

  6. Springboot 完整搭建快速入门,必看!

    前言 手把手教你Springboot微服务项目搭建快速入门,通过本文学习Springboot的搭建快速入门,掌握微服务大致的配置服务,后续将会继续将核心组件引入到项目中,欢迎关注,点赞,转发. Spr ...

  7. XSS(跨站脚本攻击) - 常用代码大全

    XSS(跨站脚本攻击) - 常用代码大全-版本一 1'"()&%<acx><ScRiPt >prompt(915149)</ScRiPt> < ...

  8. 怎么绘制C语言选择和循环语句的思维导图

    C语言是一门非常基础的计算机语言,是大部分本科学生的公共专业,在C语言的学习中,选择和循环语句是至关重要的部分,利用思维导图可以有效节约时间并加深知识点记忆. 接下来就为大家介绍一下我用iMindMa ...

  9. Jmeter (三)变量、参数化、函数

    一.参数化 1.在参数中定义变量:${变量名称} 变量定义:2种 2.在用户自定义变量User Defined Variable 或者 用户参数User Parameters中,设置key.value ...

  10. 关于Java里方法重载

    覆盖和重载很重要,并且比较容易混淆,所以面试中常见.基础回答:覆盖(Override),又叫重写,是指子类对父类方法的一种重写,方法名.参数列表必须相同,返回值小于父类,只能比父类抛出更少的异常,访问 ...