cqyjldfx

devtools/2024/12/22 23:01:41/

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


http://www.ppmy.cn/devtools/90442.html

相关文章

面试笔记8.6

缓存 1.如何保证redis与数据库一致性 redis面试&#xff1a;如何保证缓存和数据库数据的一致性&#xff1f;_使用update更新数据,json缓存不更新-CSDN博客 如果先删除缓存&#xff0c;再删除数据库&#xff0c;数据不一致&#xff0c; 解决 删 1.先操作缓存但不删除缓存&…

Leetcode—400. 第 N 位数字【中等】

2024每日刷题&#xff08;151&#xff09; Leetcode—400. 第 N 位数字 算法思想 参考自k神 实现代码 class Solution { public:int findNthDigit(int n) {int digitSize 1;int startNum 1;long long count 9;while(digitSize * count < n) {n - count * digitSize;di…

【区块链+医疗健康】区块链 + 个人影像云 | FISCO BCOS应用案例

尽管当前大数据和云计算技术已逐步成熟&#xff0c;医院之间的“数据孤岛”仍大量存在&#xff0c;制约着医疗影像数据流通和价 值实现&#xff0c;而区块链技术出现为医疗影像数据可信共享提供了新思路。个人影像云应用基于 FISCO BCOS 区块链底层平台、实体身份标识及可信数据…

PCIe学习笔记(16)

层次结构&#xff08;Hierarchy&#xff09;ID Message &#xff08;PCIe I/O 互连的树形拓扑结构称为 PCIe 的 Hierarchy&#xff0c;或称层级、层次&#xff08;不是事务层、数据链路层的“层”&#xff09;。层次区域是指与 RC 某一 RP 相关联的所有设备和链路组成的线路结…

私域成交的关键点

私域运营&#xff0c;私域团购&#xff0c;私域秒杀&#xff0c;私域发售

同一台机器上,github多账号操作

github多账号 1、一台机器上同时使用2个github账号&#xff1a;2、github多账号下&#xff0c;推送文件到指定账号下的远程仓库 1、一台机器上同时使用2个github账号&#xff1a; 多个账号的公私钥设置&#xff1a;于一台电脑上使用多个Github账号 2、github多账号下&#xf…

服务治理-Nacos

介绍 思考 什么是服务治理 常见的注册中心 Zonnkeeper Eureka Consull Nacos(服务治理 配置中心) Nacos实战入门 修改bin–>startup.smd 把集群模式改为单列模式 问题&#xff1a;如果出现一闪而过&#xff0c;要看jdk环境变量有没有配置&#xff0c;jdk是不是8以上 …

最新CSS3横向菜单的实现

横向菜单 原始代码&#xff1a; <nav class"list1"><ul><li><a href"#">Shirts</a></li><li><a href"#">Pants</a></li><li><a href"#">Dresses</a>…