信息安全-reNgine-Web应用渗透测试的自动化网络侦察框架

目录

reNgine介绍

工具运行机制

安装部署

安装rengine

安装python依赖包

合并Django前端静态文件

安装Postgresql

创建reNgine账号

启动reNgine

启动reNgine成功

启动reNgine后在浏览器访问:http://localhost:8000/

这时会发现前端静态资源加载失败,这是由于项目模块中未配置静态资源模块

Q&A


reNgine介绍

reNgine是一款针对Web应用渗透测试的自动化网络侦察框架,广大研究人员可以在针对Web应用程序的渗透测试过程中使用reNgine来实现信息收集,reNgine提供了一个自定义的扫描引擎,可以用于对网站和终端节点进行扫描和信息收集。

reNgine的优点在于它把所有的东西都集中在了一个工具之中,并且提供了一个高度可定制的的侦察方式。如果你需要对一个目标执行网络侦察,收集终端节点信息、查询目录、查询文件、抓取屏幕截图并获取所有处理结果时,reNgine就非常有用了。

比如说,我们现在的目标域名为hackerone.com,reNgine可以根据扫描引擎的配置来执行扫描任务,并将结果进行汇总显示。比如说,你想要搜索页面标题为“Dashboard”且页面状态为200的所有页面,并且想直接看到屏幕截图,那么reNgine就可以帮助你实现这个目的。或者说,你想要枚举出全部使用了PHP并且HTTP状态为200的子域名,reNgine同样可以实现。

在终端节点部分,reNgine能够使用类似gau、hakrawler的工具来收集关于目标URL节点的信息。除此之外,如果想要搜索包含.php后缀和HTTP状态为200的页面,reNgine同样可以做到

工具运行机制

运行截图

演示视频:【油管链接】 

GitHub:【GitHub传送门】

注意事项

  • reNgine并非一款漏洞扫描工具!
  • reNgine使用了很多其他的开源工具,reNgine的扫描结果准确度会受到其他工具的影响。

安装部署

由于作者本机翻墙后从墙外下载非常慢,遂放弃通过docker容器安装模式,改成直接编译源码进行本地编译安装,需要提前安装:python3 pip3 git

安装rengine

下载代码:

git clone https://github.com/yogeshojha/rengine.git

cd rengine/web/

根目录:/ikong/py/rengine/

目录内容如下:

安装python依赖包

python3 -m pip install -r requirements.txt

合并Django前端静态文件

python3 manage.py makemigrations
python3 manage.py migrate
python3 manage.py collectstatic --no-input --clear

安装Postgresql

Mac下安装Postgresql

brew info postgres

安装完成后见到如下信息

To migrate existing data from a previous major version of PostgreSQL run:
  brew postgresql-upgrade-database

This formula has created a default database cluster with:
  initdb --locale=C -E UTF-8 /usr/local/var/postgres
For more details, read:
  https://www.postgresql.org/docs/14/app-initdb.html

To restart postgresql after an upgrade:
  brew services restart postgresql
Or, if you don't want/need a background service you can just run:
  /usr/local/opt/postgresql/bin/postgres -D /usr/local/var/postgres
==> Summary
🍺  /usr/local/Cellar/postgresql/14.2_1: 3,305 files, 45.5MB
==> Running `brew cleanup postgresql`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
==> Caveats
==> postgresql
To migrate existing data from a previous major version of PostgreSQL run:
  brew postgresql-upgrade-database

This formula has created a default database cluster with:
  initdb --locale=C -E UTF-8 /usr/local/var/postgres
For more details, read:
  https://www.postgresql.org/docs/14/app-initdb.html

To restart postgresql after an upgrade:
  brew services restart postgresql
Or, if you don't want/need a background service you can just run:
  /usr/local/opt/postgresql/bin/postgres -D /usr/local/var/postgres

启动Postgresql

/usr/local/opt/postgresql/bin/postgres -D /usr/local/var/postgres

启动Postgresql完成

2023-04-20 11:12:28.165 CST [64972] LOG:  starting PostgreSQL 14.2 on x86_64-apple-darwin19.6.0, compiled by Apple clang version 12.0.0 (clang-1200.0.32.29), 64-bit
2023-04-20 11:12:28.232 CST [64972] LOG:  listening on IPv4 address "127.0.0.1", port 5432
2023-04-20 11:12:28.233 CST [64972] LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432"
2023-04-20 11:12:28.250 CST [64973] LOG:  database system was shut down at 2023-04-20 11:11:18 CST
2023-04-20 11:12:28.253 CST [64972] LOG:  database system is ready to accept connections

创建reNgine账号

python3 manage.py createsuperuser

启动reNgine

python3 manage.py runserver 0.0.0.0:8000

启动reNgine成功

          _   _       _
          | \ | |     (_)
  _ __ ___|  \| | __ _ _ _ __   ___
 | '__/ _ \ . ` |/ _` | | '_ \ / _ \
 | | |  __/ |\  | (_| | | | | |  __/
 |_|  \___|_| \_|\__, |_|_| |_|\___| v1.3.6
                  __/ |
                 |___/

BASE_DIR: /Users/luyifeng5/src/rengineLocal/rengine2/web
Cancelling all the ongoing scans
           _   _       _
          | \ | |     (_)
  _ __ ___|  \| | __ _ _ _ __   ___
 | '__/ _ \ . ` |/ _` | | '_ \ / _ \
 | | |  __/ |\  | (_| | | | | |  __/
 |_|  \___|_| \_|\__, |_|_| |_|\___| v1.3.6
                  __/ |
                 |___/

BASE_DIR: /Users/luyifeng5/src/rengineLocal/rengine2/web
Cancelling all the ongoing scans
Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
April 21, 2023 - 02:42:49
Django version 3.2.4, using settings 'reNgine.settings'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.

启动reNgine后在浏览器访问:http://localhost:8000/

这时会发现前端静态资源加载失败,这是由于项目模块中未配置静态资源模块

处理方案:找到settings.py文件,加入即可,如下图:

 

再次访问 http://localhost:8000/ 页面加载正常

Q&A

  1. reNgine在启动过程中,问题一:gobject-2.0-0 not able to load on macbookgobject-2.0-0
brew install pango

通过安装pango,升级gobject间接修复该问题:gobject-2.0-0 无法在 macbook 上加载答案 - 爱码网gobject-2.0-0 not able to load on macbookgobject-2.0-0 无法在 macbook 上加载https://www.likecs.com/ask-704123.html

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

个人杂笔记

docker里面的-p暴露端口是确确实实写了才会映射到主机 docker run -d --hostname my-rabbit --name my-rabbit -e RABBITMQ_DEFAULT_USERroot -e RABBITMQ_DEFAULT_PASS250772730 -p 8080:8080 -p 15672:15672 -p 5672:5672 rabbitmq:3-managementpip安装提示warning 可能原因…

【C++】vector的简化模拟实现

文章目录 1. 主要结构2. 默认成员函数3. 迭代器4. 容量相关1. size和capacity2. reserve3. resize 5. 数据访问6. 数据修改1. push_back2.pop_back3. insert4.erase5.swap6.clear 1. 主要结构 参照SGI版本的vector实现,使用三个指针来维护这样一段内存空间 templa…

《数据结构》---术语篇

目录 前言: 一.术语 1.1数据 1.2数据结构 1.3逻辑结构和物理结构 二.数据类型和抽象数据类型 ​​​​​​​ ❤博主CSDN:啊苏要学习 ▶专栏分类:数据结构◀ 学习数据结构是一件有趣的事情,希望读者能在我的博文切实感受到&#xff0c…

同为科技(TOWE)防雷科普篇(二)——雷击灾害急救方法大全

前 言 当雷击发生时,空气中的各种微粒互相碰撞和摩擦便会使该空气介质两面的正负电荷的量持续积累,这时加于该空气介质的电压也会同时增加,当局部电压达到当时条件下空气的击穿电压时,该空气介质的局部便会发生电击穿而持续成为等…

使用ChatGPT完成程序开发——目标:不写一行代码完成图像识别并点击

本文作为一个使用AI开发的思路,让更多的人可以利用AI完成一些简单的程序,文中使用的是国内镜像GTP3.5 源码: GitHub - kasimshi/testCV: AI编写的OpenCV图像识别例子 GTP镜像: 知汇 对AI描述我们要做的功能,让它给给初步的思路和方向 作为新…

[译] 实战 React 18 中的 Suspense

> 原文:https://dev.to/darkmavis1980/a-practical-example-of-suspense-in-react-18-3lln React 18 带来了很多变化,它不会破坏你已经编写过的代码,并且有很多改进和一些新概念。 它也让很多开发人员,包括我,意识到…

Web 开发会话技术之 -Cookie介绍以及源码分析和图分析以及Cookie的生命周期--路径--中文乱码的分析和代码示例

目录 Web 开发会话技术之 -Cookie 会话 基本介绍 1. 什么是会话? 2. 会话过程中要解决的一些问题? cookie 技术 cookie 介绍 二说 cookie cookie 可以用来做啥 cookie 基本使用 cookie 常用方法 cookie 底层实现机制-创建和读取 Cookie Crea…

Linux-初学者系列——篇幅7_文本编辑和处理命令

文本编辑和处理命令-目录 一、系统基本编辑命令安装vim软件工具包语法格式: 1、vim编辑命令模式01 普通模式02 编辑模式03 命令模式 2、编辑文件技巧01 批量删除多行指定信息02 批量增加多列指定信息03 编辑常见问题错误1:没有指定编辑信息错误2&#xf…

Flink高手之路5-Table API SQL

文章目录 Flink 中的Table API & SQL一、Table API & SQL 介绍1. 为什么要Table API和SQL2. Table API & SQL的特点3. Table API& SQL发展历程3.1 架构升级3.2 查询处理器的选择3.3 了解-Blink planner和Flink Planner具体区别如下:3.4 了解-Blink …

基于GPS/北斗卫星技术的无盲区车辆调度系统

基于GPS/北斗卫星技术的无盲区车辆调度系统 现代车辆调度系统是一种集全球卫星定位技术(GPS)、地理信息技术(GIS)和现代通信技术于一体的高科技项目。它将移动目标的动态位置(经度与纬度)、时间和状态等信息…

uni-app入门到实战

🍿*★,*:.☆( ̄▽ ̄)/$:*.★* 🍿 🍟欢迎来到前端初见的博文,本文主要讲解uni-app入门到实战🍟 👨‍🔧 个人主页 : 前端初见 🥞喜欢的朋友可以关注一下&#xff…

javassist 字节码处理库

目录 一、快速入门 1.1 创建class文件1.2 ClassPool的相关方法1.3 CtClass的相关方法1.4 CtMethod的相关方法1.5 调用生成的类对象 1.5.1 通过反射调用1.5.2 通过接口调用1.6 修改现有的类对象二、将类冻结三、类搜索路径四、$开头的特殊字符五、ProxyFactory的使用 我们知道J…

Linux I/O复用函数的使用情况和select接口的介绍

I/O 复用使得程序能同时监听多个文件描述符,这对于提高程序的性能至关重要。通常, 网络程序在下列情况下需要使用 I/O 复用技术: 1.TCP服务器同时要处理监听套接字和连接套接字 2.服务器同时要处理TCP请求和UDP请求。 3.程序同时要处理多个套…

直播预告 | 时序数据处理的云端利器:TDengine Cloud 详解与演示

当下,我们正处在一个万物互联的时代,大数据、云原生、AI、5G 等数字技术极大地方便了人们的生活,但智能物联网产生的海量数据却成为众多企业在数据处理上的巨大痛点。从本质来看,这些数据大多是产生自各种设备和传感器的时序数据&…

Spring种存取Bean的5种注解

存取Bean的五种注解 存储Bean对象两种方式1.添加一行bean2.使用注解的方式(5大注解)Controller(控制器存储)Service(服务存储)Repository(仓库存储)Component(组件存储)Configuration(配置存储)方法注解 Bean 获取Bean对象(三种)1.属性注入2.setter注入3.构造方法注入三种注入的…

springboot-分页功能

1.分页功能的作用 分页功能作为各类网站和系统不可或缺的部分(例如百度搜索结果的分页等) ,当一个页面数据量大的时候分页作用就体现出来的,其作用有以下5个。 (1)减少系统资源的消耗 (2&#…

Vue 3组件传值 、组件通信

本文采用<script setup />的写法&#xff0c;比options API更自由。那么我们就来说说以下七种组件通信方式&#xff1a; props emit v-model refs provide/inject eventBus vuex/pinia 举个例子 本文将使用下面的演示&#xff0c;如下图所示&#xff1a; 上图中…

mybatis粗心使用导致内存溢出

现象 服务响应变慢&#xff0c;线程日志也出现Java heap space内存溢出的错误&#xff0c;这个服务属于基础业务服务&#xff0c;出现问题要尽快的排查 分析 因为设置了gc日志和jmap启动相关参数 所以我们进行分析&#xff0c;这里模拟线上环境将堆大小参数调整到了128m&am…

【Linux】权限管理

文章目录 &#x1f4d6; 前言1. 什么是权限2. 权限管理2.1 Linux的用户分类&#xff1a;2.2 Liunx文件的分类&#xff1a;2.3 文件的访问权限2.4 文件访问权限的相关设置方法&#xff1a;chmod对文件权限的修改chown / chgrp 2.5 以八进制修改文件权限&#xff1a;2.6 默认权限…

Springsecurity课程笔记06-13章基于数据库的方法授权

动力节点Springsecurity视频课程 6 密码处理 6.1 为什么要加密&#xff1f; csdn 密码泄露事件 泄露事件经过&#xff1a;https://www.williamlong.info/archives/2933.html 泄露数据分析&#xff1a;https://blog.csdn.net/crazyhacking/article/details/10443849 6.2加密…