太猛了!Web安全漏洞批量扫描框架

news2024/12/24 20:45:00

关注【Hack分享吧】公众号,回复关键字【230528】获取下载链接

工具介绍

一个应用于web安全领域的漏洞批量扫描框架,可被应用于但不限于如下场景:

0Day/1Day全网概念验证(在没有测试环境(各种商业、闭源软件)或懒得搭建测试环境的情况下,直接写POC全网扫描,亲测很爽)
企业内网或对外开放资产的安全评估
简单的拒绝服务攻击(用Url存活检测POC)

工具特点:

python、跨平台、并发能力强、扫描速度贼快
作者持续更新,POC库数量可观
功能与时俱进,不断优化打磨
POC模板结构简洁,提供了专门面对开发者的小工具箱,适合用户自定义拓展POC,能够快速应对不同的安全场景
所有POC均以不对目标产生任何负面影响的前提下编写的,旨在发现缺陷的同时不给目标业务造成任何负面影响,能灵活应用于企业与个人不同的安全需求

使用方法

部署

git clone --depth 1 https://github.com/bigblackhat/oFx.git oFx

单个url扫描模式

单个url扫描模式的使用场景:

POC功能性测试

单个目标的漏洞验证详情(返回取决于漏洞本身,目前所有POC都是为了批量验证而设计的,single检测模式尚没有对返回结果做优化,后续会有调整)

oFx git:(main) ✗ python3 ofx.py -s poc/Jboss/Jboss_Unauthorized_access/poc.py -u xxx.xxx.xxx.xxx:xx

图片

批量扫描模式

使用场景:

新漏洞爆出来做全网验证
刷CNVD之类的漏洞平台的积分或排名
有RCE漏洞的POC的话,就可以刷肉鸡(见下方的POC支持清单)

使用方法

oFx git:(main) ✗ python3 ofx.py -s poc/Jboss/Jboss_Unauthorized_access/poc.py -f scan/jboss001.txt --thread 30

蓝字代表无漏洞

图片

绿字代表存在漏洞

图片

青字目标不可达

图片

也可以通过,分隔同时指定多个poc

oFx git:(main) ✗ python3 ofx.py -s poc/Jboss/Jboss_Unauthorized_access/poc.py,poc/Jenkins/Unauth_Access_DashBoard/poc.py,poc/Alibaba_Druid/Unauth_Access_DashBoard/poc.py -f scan/jboss001.txt --thread 30

最后还可以通过-s all指定全量POC进行测试

oFx git:(main) ✗ python3 ofx.py -s all -f scan/jboss001.txt --thread 50

全量POC下测试时常较久,建议食用方式:

根据自己电脑性能和带宽给到50个或更多的线程数
睡前开始扫描或出门玩儿之前打开oFx进行全量POC测试

偷偷说一句,因为全量POC测试是依次运行所有POC对目标进行扫描,也就是只有一个POC扫完全部目标以后才会调用下一个POC,所以对每一个目标来说可能几十秒甚至几分钟内只有一次恶意请求(时长取决于资产数量和线程数),oFx本身不使用爬虫、fuzzing等技术,不会对被测资产产生任何负载压力,所以即使客户明令禁止使用漏扫,也可以放心大胆的用oFx哦

单个目标的全量POC测试

全量POC,顾名思义,遍历所有POC插件依次有序的对目标进行测试,接近于漏扫的概念,而且是一个专注于NDay的漏洞扫描器,因oFx的拓展性,非常适合手中掌握数量庞大的0Day的组织或个人(比如笔者自己),使得他可以将0Day库武器化。

没有被武器化的0Day库,就是一堆无用的文档和漏洞逻辑,没有哪个同行会一边读着上千份文档一边做渗透吧。

开始扫描:

# Single检测模式不支持全量POC,所以需要先将单个目标保存到文件中,再用批量扫描来扫描,算是曲线救国吧
# 单个或少于十个的目标就没有必要指定线程数了,因为默认线程数是10
echo http://xxx.xxx.com > scan/1.txt
python3 oFx.py -s all -f scan/1.txt

Fofa api 资产获取

通过fofa提供的api接口获取资产清单并去重

➜  oFx git:(main) ✗ python3 ofx.py --fofa-search

20xx-xx-xx xx:xx:xx,xxx - INFO: User : xxx@163.com | Key : xxx | 登陆成功
请输入结果保存文件名(不必加文件后缀):jboss001
请输入搜索语句:app="Jboss"

20xx-xx-xx xx:xx:xx,xxx - INFO: Fofa搜索语句为:app="Jboss",开始与Fofa Api对接
第1页获取成功
第2页获取成功
第3页获取成功
...
第99页获取成功
第100页获取成功

20xx-xx-xx xx:xx:xx,xxx - INFO: 搜索完毕,结果保存至/root/oFx/scan/jboss001.txt,经去重共计9748条

图片

可以动态的修改user和key,无需打开配置文件调整,下次使用时直接生效不必重新输入user和key

Ceye配置

近期的版本更新中,oFx添加了对Ceye的支持,目前已有一部分POC采用了该平台来辅助漏洞检测,默认下载oFx之后不配置该项并不影响oFx正常的功能使用,只是相关的POC无法按照预期运行而已,有需要可以配置下:

; 在位于项目根目录下的lib/ceye.ini文件中修改dns和token两项的值
[ceye]
; 从ceye中拿到以下的数据,缺一不可
dns = xxxxxx.ceye.io

token = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

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

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

相关文章

D. Binary String Sorting

Problem - 1809D - Codeforces 思路:最后得到的结果就是前面是一串0后面是一串1,那么我们可以枚举分界点,如果枚举到i,那么就将1~i变为0,将i1变为1,我们发现如果一个1在1~i中,如果他是第i-1个,那…

Redis进阶底层原理-Cluster集群底层

Redis实现高可用的方案有很多中,先了解下高可用和分区的概念: 高可用是指系统在面对硬件故障、网络故障、软件错误等意外问题时,仍能给客户端提供正常的服务,尽量的减少服务的阻塞、终端现象。在高可用的方案中一般会采用冗余备份…

《洛谷深浅》第五章---数组与数据批量存储

文章目录 前言一、小鱼比可爱二、小鱼的数字游戏三、冰雹猜想四、校门外的树五、旗鼓相当的对手六、旗鼓相当的对手总结 前言 本节主要学习一维数组 和 多维数组 后边的知识我觉得 可以试着了解并不要求你掌握这么难的题目 因为ACM更多都是思维题目 所以这里把重要的题目掌握就…

【多线程系列-03】深入理解java中线程的生命周期,任务调度

多线程系列整体栏目 内容链接地址【一】深入理解进程、线程和CPU之间的关系https://blog.csdn.net/zhenghuishengq/article/details/131714191【二】java创建线程的方式到底有几种?(详解)https://blog.csdn.net/zhenghuishengq/article/details/127968166【三】深入…

基于树莓派实现的IO-Link 项目

IO-Link 协议 (IEC 61131-9) 是从传感器或执行器到 IO-Link 主站的串行半双工点对点连接。目前IO-Link 的硬应已经越来越普及。国外产品以巴鲁夫为代表。如何开发IO-link 产品?可以参考国外的一些开源项目。 国外有人开发了开发一个IO-Link主…

soundfile torchaudio 读取音频文件

soundfile 和 torchaudio 读取音频文件后的数据格式不同,前者是numpy,后者是tensor。前者读取后可以直接用于一些python的基础函数输入,后者用于pytorch的一些函数的应用。两者互换用途时候需要进行格式转换。 import soundfile as sf impor…

智能指针使用及详细解析

文章目录 智能指针概念为什么使用智能指针智能指针使用智能指针的常用函数get() 获取智能指针托管的指针地址.reset() 重置智能指针托管的内存地址,如果地址不一致,原来的会被析构掉 auto_ptrunique_ptrshared_ptr**shared_ptr的原理**引用计数的使用构造…

Gradle 构建工具 #5 又冲突了!如何理解依赖冲突与版本决议?

⭐️ 本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 和 [BaguTree Pro] 知识星球提问。 Gradle 作为官方主推的构建系统,目前已经深度应用于 Android 的多个技术体系中,例如组件化开发、产物构建、单元测试等…

STM32(HAL库)驱动SHT30温湿度传感器通过串口进行打印

目录 1、简介 2、CubeMX初始化配置 2.1 基础配置 2.1.1 SYS配置 2.1.2 RCC配置 2.2 软件IIC引脚配置 2.3 串口外设配置 2.4 项目生成 3、KEIL端程序整合 3.1 串口重映射 3.2 SHT30驱动添加 3.3 主函数代 3.4 效果展示 1、简介 本文通过STM32F103C8T6单片机通过HAL库…

Spring Batch之读数据库——JdbcCursorItemReader之自定义RowMapper(三十七)

一、自定义RowMapper 详情参考我的另一篇博客: Spring Batch之读数据库——JdbcCursorItemReader(三十五)_人……杰的博客-CSDN博客 二、项目实例 1.项目框架 2.代码实现 BatchMain.java: package com.xj.demo28;import org.springfram…

代码随想录第27天 | 455.分发饼干 ● 376. 摆动序列 ● 53. 最大子序和

455.分发饼干 /*** param {number[]} g* param {number[]} s* return {number}*/ var findContentChildren function(g, s) {let a0let b0let count0g.sort((a,b)>a-b)s.sort((a,b)>a-b)while(a<g.length&&b<s.length){if(s[b]>g[a]){countba}else{b}…

STM32(HAL库)软件IIC驱动OLED

目录 1、简介 2、CubeMX初始化配置 2.1 基础配置 2.1.1 SYS配置 2.1.2 RCC配置 2.2 软件IIC引脚配置 2.3 项目生成 3、KEIL端程序整合 3.1 OLED驱动添加 3.3 主函数代 3.4 效果展示 1、简介 本文通过STM32F103C8T6单片机&#xff08;HAL库&#xff09;通过软件IIC方式…

java linux服务器环境搭建

安装 jdk 下载jdk: wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24http%3A%2F%2Fwww.oracle.com%2F; oraclelicenseaccept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f…

Kubespray v2.22.1 在线部署 kubernetes v1.26.5 集群

文章目录 1. 介绍2. 预备条件3. 配置 hostname4. yum5. 下载介质5.1 git 下载5.2 下载 kubespray v2.22.1 6. 编写 inventory.ini7. 配置互信8. 安装 ansible9. 关闭防火墙10. 安装 docker11. 配置内核参数12. 启动容器 kubespray13. 部署14. 配置连接集群 1. 介绍 kubespray​…

Ubuntu18.04 安装vscode 配置C#编译器

环境&#xff1a; ubuntu 18.04 依赖库&#xff1a; SDK .net-7 安装对象&#xff1a; vscode 在终端&#xff1a; ./dotnet-install.sh --channel 7.0 遇见如下提示&#xff1a; dotnet&#xff1a;未找到命令 如下操作&#xff1a; 下载–解压–安装 wget https://pa…

Python 自学 day04 函数为参数传递, 匿名函数, 文件操作

1. 函数作为参数传递 &#xff08;类似C 函数指针&#xff09; def func(x):mm x(1,2);#print(f"mm的值是{mm}")return mmdef add(x,y): #加法return xy def reduce(x,y): # 减法return x-ydef ride(x,y): # 乘法return x*ydef divide(x,y): #带有小数点除法…

详解DDPG算法:解决对大量的超参数、随机重启、任务环境敏感问题,完成月球着陆器,双足机器人demo、以及超参数调优教学

0.demo展示 当我复现强化学习算法 DDPG 时,我发现论文中缺少必要的实现细节,例如:Gamma、噪声方差、最大训练步数等参数的取值。此外,在我调整参数,成功完成某次训练后,当我对随机种子进行修改,发现训练时长有很大变化,甚至有时候无法完成训练。更别提把在某个任务上 w…

1、linux中安装tomcat

1、创建目录 cd /opt ls mkdir tomcat 2、将文件拖入tomcat目录中 3、解压安装包 cd /opt/tomcat ls tar -zxvf apache-tomcat-8.5.59.tar.gz 4、启动tomcat cd /opt/tomcat/apache-tomcat-8.5.59/bin ./startup.sh 5、在linux中访问 http://localhost:8080/ 6、开放端口 …

为什么选择孟德尔随机化来写文章

为什么选择孟德尔随机化来写文章

【日常BUG】批量插入数据时报错: There is no setter for proerty named uptByd‘ in ‘class ...

前提&#xff1a;定义了自动填充策略&#xff0c;使用mybatis-plus 配置了属性自动注入 实体类上也定义了需要自动填充的字段。 但是在使用批量插入数据时报错&#xff1a; There is no setter for proerty named uptByd’ in class …&#xff0c; 排查过后发现是实体类中没…