代码审计:beescms 后台上传getshell复现

代码审计:beescms 后台上传getshell复现

beescms

BEESCMS企业网站管理系统,SEO优化更快,无功能限制,后台上手容易,各类行业模板供选择使用!全面支持手机网站,电脑手机模板标签全部通用,一个后台管理,电脑、手机网站同步更新。
官网:http://www.beescms.com/
下载:https://www.mycodes.net/49/9318.htm

代码审计

通过上一篇注入文章,我们拿到了管理员密码,登录后台,寻找上传点传shell文件。
在这里插入图片描述
打开Seay,来到admin/upload.php文件,找到上传函数。
在这里插入图片描述
检查了上传文件是否合法,实际上传用的是up_img函数,跟进函数。
在这里插入图片描述

if(!in_array(strtolower($file_type),$type)){
			msg('上传图片格式不正确');
		}

这里检查了上传文件的type,如果type不在白名单里,就直接提示出错,我们可以修改文件类型绕过。

$up_file_name=empty($pic_alt)?date('YmdHis').rand(1,10000):$pic_alt;
$up_file_name2=iconv('UTF-8','GBK',$up_file_name);
$file_name=$path.$up_file_name2.'.'.$pic_name['extension'];

从上面可以看出,并没有做任何检查就直接取了$file[‘name’](就是我们上传时候的文件名)的后缀来给新生成的文件。
所以我们只要伪造合法的type就能上传shell文件。

上传getshell

来到上传点,上传shell文件抓包,修改type类型为image/png,即图片类型绕过。
在这里插入图片描述
在这里插入图片描述
蚁剑连接一句话php文件即可。
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章