W13Scan 扫描器挖掘漏洞实践

news2024/11/26 0:49:38

一、背景

这段时间总想捣鼓扫描器,发现自己的一些想法很多前辈已经做了东西,让我有点小沮丧同时也有点小兴奋,说明思路是对的,我准备站在巨人的肩膀去二次开发,加入一些自己的想法,从freebuf中看到W13Scan扫描器,觉得这个扫描器很酷,准备深入研究。

因为我是做PHP开发的,对python不算太熟悉,所以在安装过程中出现了一些问题,把解决方法记录下来,给需要的人一个参考吧。

二、安装python

W13Scan是基于python3开发的扫描器,要运行它我们需要安装python3.5以上版本,可以从python官网下载安装,我这里安装的是python3.6,安装之后打开CMD窗口,执行python或者pip命令,看看是否自动加入到了环境变量,如下图所示

在上图中可以看到,python安装目录还没有加入到环境变量,因此pip命令没有找到,我们找到python的安装目录,将上方的python路径复制出来,

并打开右击我的电脑,找到高级设置,环境变量里面,如下图所示

在上图中,我已经将python的目录和pip的路径添加到系统的path项中,接下来我们重新打开一个cmd窗口,再次运行一下pip命令,如下图所示

从上图中可以看到,我已经成功将pip目录添加到环境变量中

三、安装依赖

接下来我们需要将W13Scan的模块安装下来,找到刚才下载的项目目录,在Windows10系统中按住shift键,然后按下鼠标右键,就可以看到“在此处打开PowerShell窗口”选项,我们点击该选项,如下图所示

进入powershell窗口后,我们执行pip install -r /requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple命令,如下图所示

命令执行后,可能会有部分模块安装不上,需要你去python官网手动下载对应模块的源码去安装,如下图所示

如果遇到上图这种情况不要沮丧,有一种快速的解决办法,我们使用pycharm编辑器,可以快速解决这个问题,如下图所示

在上图中,可以看到使用pycharm打开requirements.txt,将鼠标放到需要安装的模块上,会自动弹出安装提示,我们点击安装就可以进行安装了;还有一种方式,在打开requirements.txt时候,会自动将所需要安装的都列出来,这个时候我们可以一次安装所有的依赖模块,如下图所属

在上图中我们将模块勾选后,然后按下install按钮,就可以安装所有模块

四、开始运行

在安装好依赖模块后,就可以开始运行了,运行有两种模式,主动扫描和被动代理,我这里就以主动扫描为例,要先准备一个带有参数的URL地址,这个地址我是从谷歌搜索的,搜索关键词如下所示

inurl: php id= 

搜索结果的结果如下所示

python W13SCAN\w13scan.py -u "http://www.crammed.be/index.php?id=7" 

执行结果如下图所示

在上图中可以看到,已经扫描到了URL中的SQL注入漏洞,并提示了保存路径,我们按照路径打开相应的文件就可以看到扫描结果,如下图所示

在上图中可以看到扫描结果中显示了,poc的名称以及脚本路径,扫描的URL地址;扫描的结果和发送的数据包以及返回的数据包

五、阅读源码

W13Scan扫描器完全开源,我准备深入学习并站在巨人的肩膀上开发,因此准备去深度学习源码,在读源码的过程中发现pycharm提示了错误信息,但是却不影响运行,如下图所示

在上图中可以看到lib模块出现红色警告,提示该模块找不到,原因是因为我们使用pycharm打开的目录错了,我们应该要打开的的项目目录是从GitHub下载下来的子文件夹W13SCAN目录

在上图中,我们用pycharm重新打开此目录,然后再次打开w13scan.py文件,效果如下所示

在上图中可以看到,已经不再出现红色警告,我们也可以用鼠标+ctrl跳转源码


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/167471.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

进程调度模块

目录 1.进程介绍 2.进程调度 2.1.进程状态 2.2.进程调度函数 ---schedule 2.3.进程切换函数 ---switch_to() 1.进程介绍 在进程模块里面,我们知道了进程就是一个task_struct的结构体,里面含有进程的各种信息。进程存放在进程…

AppScan被动手动探索扫描

系列文章 AppScan介绍和安装 AppScan 扫描web应用程序 第三节-AppScan被动手动探索扫描 被动式扫描:浏览器代理到AppScan,然后进行手工操作,探索产生出的流量给AppScan进行扫描。 他的优点是:扫描足够精准,覆盖率更…

注册中心和负载均衡(黑马SpringCloud笔记)

注册中心和负载均衡 目录注册中心和负载均衡一、服务远程调用1. RestTemplate2. 服务调用关系3. 远程调用的问题二、注册中心1. Eureka注册中心1.1 搭建Eureka注册中心1.2 服务注册1.3 服务拉取1.4 小结2. nacos注册中心2.1Nacos搭建2.2 服务注册2.3 服务拉取2.4 服务分级存储模…

虹科新闻 | 虹科与丹麦Eupry正式建立合作伙伴关系

近期,虹科与丹麦Eupry正式建立合作伙伴关系。未来,虹科与Eupry将共同关注最具创新性和稳定性的解决方案,为客户提供温度记录仪、温湿度记录仪、Mapping温度分布验证服务、以及基于云的温湿度自动监测系统。 虹科非常高兴欢迎并宣布我们的新合…

【Linux】基础:进程信号

【Linux】基础:进程信号 摘要:本文将会从生活实际出发,由此掌握进程信号的学习过程,分别为信号的产生、信号的传输、信号的保存和信号的处理,最后再补充学习信号后方便理解的其他概念。 文章目录【Linux】基础&#xf…

echarts柱状图值为0时不显示以及柱状图百分比展示

echarts柱状图值为0时不显示以及柱状图百分比展示 1.效果展示 2.代码 <template><div id"container"><div id"main"></div></div> </template> <script>import * as echarts from echarts import * as lodash…

(JVM)浅堆深堆与内存泄露

​浅堆深堆与内存泄露 1. 浅堆&#xff08;Shallow Heap&#xff09; 浅堆是指一个对象所消耗的内存。在 32 位系统中&#xff0c;一个对象引用会占据 4 个字节&#xff0c;一个 int 类型会占据 4 个字节&#xff0c;long 型变量会占据 8 个字节&#xff0c;每个对象头需要占用…

01.【Vue】Vue2基础操作

一、Vue Vue (读音 /vjuː/&#xff0c;类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是&#xff0c;Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层&#xff0c;不仅易于上手&#xff0c;还便于与第三方库或既有项目整合。另一方面&…

十五天学会Autodesk Inventor,看完这一系列就够了(七),工程图纸

众所周知&#xff0c;Autocad是一款用于二维绘图、详细绘制、设计文档和基本三维设计&#xff0c;现已经成为国际上广为流行的绘图工具。Autodesk Inventor软件也是美国AutoDesk公司推出的三维可视化实体模拟软件。因为很多人都熟悉Autocad&#xff0c;所以再学习Inventor&…

自动化测试 | 这些常用测试平台,你们公司在用的是哪些呢?

本文节选自霍格沃兹测试学院内部教材 测试管理平台是贯穿测试整个生命周期的工具集合&#xff0c;它主要解决的是测试过程中团队协作的问题。在整个测试过程中&#xff0c;需要对测试用例、Bug、代码、持续集成等等进行管理。下面分别从这四个方面介绍现在比较流行的管理平台。…

Spring入门-SpringAOP详解

文章目录SpringAOP详解1&#xff0c;AOP简介1.1 什么是AOP?1.2 AOP作用1.3 AOP核心概念2&#xff0c;AOP入门案例2.1 需求分析2.2 思路分析2.3 环境准备2.4 AOP实现步骤步骤1:添加依赖步骤2:定义接口与实现类步骤3:定义通知类和通知步骤4:定义切入点步骤5:制作切面步骤6:将通知…

Anaconda+VSCode配置tensorflow

主要参考https://blog.csdn.net/qq_42754919/article/details/106121979vscode的安装以及Anaconda的安装网上有很多教程&#xff0c;大家可以自行百度就行。在安装Anaconda的时候忘记勾选自动添加path&#xff0c;需要手动添加环境变量path下面介绍tensorflow安装教程:1.打开An…

getRequestDispatcher()转发和sendRedirect()重定向介绍与比较

文章目录1. request.getRequestDispatcher()1.1请求转发和请求包含的区别1.2request域2.response.sendRedirect()3.请求转发与重定向的区别比较测试1. request.getRequestDispatcher() getRequestDispatcher()包含两个重要方法&#xff0c;分别是请求转发和请求包含。一个请求…

系分 - 案例分析 - 系统设计

个人总结&#xff0c;仅供参考&#xff0c;欢迎加好友一起讨论 文章目录系分 - 案例分析 - 系统设计结构化设计SD内聚偶然内聚逻辑内聚时间&#xff08;瞬时&#xff09;内聚过程内聚通信内聚顺序内聚功能内聚耦合内容耦合公共耦合外部耦合控制耦合标记耦合数据耦合非直接耦合补…

DTO 与 PO的相互转换

目录 常见Bean映射框架 Dozer Orika MapStruct ModelMapper JMapper 测试模型 转化器 OrikaConverter DozerConverter MapperStructConvert JMapperConvert ModelMapperConverter 测试 平均时间 吞吐量 SingleShotTime 采集时间 DTO&#xff08;Data Transfer …

Android项目Gadle统一依赖管理

一.Gradle管理依赖版本 在中大型Android项目中&#xff0c;都会有多个Module进行协同配合。这些module中可能会依赖同一个库的不同版本&#xff0c;这将导致一些问题&#xff0c;要么是代码冲突&#xff0c;要么是APK包体积增大&#xff0c;亦或是项目构建的时间变长&#xff…

在Revit里如何将普通墙与曲面墙的内壁连接

在Revit里如何将普通墙与曲面墙的内壁连接&#xff1f;创建异形建筑时&#xff0c;为了达到如图1所示的效果&#xff0c;该如何操作&#xff1b; 我们可以使用体量建模的方式来创建该类建筑&#xff0c;要点在于如将幕墙与曲面墙的内壁连接。具体方法如下&#xff1a; 一、创建…

ASP.NET Core+Element+SQL Server开发校园图书管理系统(一)

随着技术的进步&#xff0c;跨平台开发已经成为了标配&#xff0c;在此大背景下&#xff0c;ASP.NET Core也应运而生。本文主要基于ASP.NET CoreElementSql Server开发一个校园图书管理系统为例&#xff0c;简述基于MVC三层架构开发的常见知识点&#xff0c;仅供学习分享使用&a…

ubuntu20.04下出现protoc与gazebo版本问题

ubuntu20protocgazebo问题描述问题定位解决方案问题描述 今天在搞路径规划算法时&#xff0c;从git上拉下来一个算法&#xff0c;ros环境那些都有&#xff0c;但是在编译的时候出现了如下图所示的一下问题&#xff1a;&#xff08;为了方便搜索关键词&#xff09; In file incl…

锂离子电池热失控预警资料整理(三)

此前 个人搜集了一些锂电池热失控预警相关期刊、文献&#xff0c;并整理了一些个人认为重要的逻辑、知识点&#xff0c;希望通过此分享让有需要的人了解一些内容&#xff0c;如有问题欢迎同我探讨~ 锂离子电池热失控预警资料整理&#xff08;三&#xff09;九、基于数据分析的锂…