网站地图    收藏   

主页 > 后端 > 网站安全 >

phpmywind多个鸡肋漏洞 - 网站安全 - 自学php

来源:自学PHP网    时间:2015-04-17 11:59 作者: 阅读:

[导读] upload_filemgr_dir.php?phpif(empty($dirname)or$dirname==#39;uploads/#39;){$dirname=#39;uploads/#39;;$dirhigh=#39;javascript:;#39;;$dirtext=#39;上传根目录#39;;}else{$dirarr=explode(#39;/......


upload_filemgr_dir.php 
<?php

if(empty($dirname) or $dirname=='uploads/')
{
$dirname = 'uploads/';
$dirhigh = 'javascript:;';
$dirtext = '上传根目录';
}
else
{
$dirarr = explode('/', $dirname);
$curnum = count($dirarr)-2;
$dirhigh = '?mode=dir&dirname=';
$dirtext = '返回上一层';

for($i=0; $i<$curnum; $i++)
{
$dirhigh .= $dirarr[$i].'/';
}
}
?>
鸡肋一 变量$dirname没进过滤
导致各种遍历
登陆后台看看
\
鸡肋二 文件没进行权限验证 导致越权访问 www.2cto.com
\


鸡肋三 同样文件没有进行权限验证upload_filemgr_sql.php 
if(!empty($keyword))
{
$sql = "SELECT * FROM `dede_uploads` WHERE name LIKE '%$keyword%'";
}
else
{
$sql = "SELECT * FROM `dede_uploads`";
}

$dopage->GetPage($sql, 50);
while($row = $dosql->GetArray())
{
?>
<tr align="center" class="mgr_tr">
<td height="30"><input type="checkbox" name="checkid[]" id="checkid[]" value="<?php echo $row['path']; ?>" /></td>
<td><?php echo $row['name']; ?></td>
<td><?php echo $row['type']; ?></td>
<td class="number"><span><?php echo GetDateTime($row['posttime']); ?></span></td>
<td><?php echo GetRealSize($row['size']); ?></td>
<td class="action"><span>[<a href="../<?php echo $row['path']; ?>" target="_blank">预览</a>]</span><span>[<a href="upload_filemgr_save.php?mode=sql&action=del&id=<?php echo $row['id']; ?>&path=<?php echo $row['path']; ?>" onclick="return ConfDel(0);">删除</a>]</span></td>
</tr>
<?php
}
?>

$keyword 木有进行过滤 导致注入 
直接访问 木有找到GetPage函数导致出错 注入变成鸡肋
\
后台拿webshell
默认模板 找到php文件 直接插入一句话
\

再送一个找后台方法
Mysql类
    function DisplayError($msg)
    {
        $emsg = '';
        $emsg .= '<div><h3 style="color:red;line-height:30px;">请检查执行语句是否正确或录入内容是否正确!</h3>';
        $emsg .= '<strong>错误文件</strong>:'.GetCurUrl().'<br />';
        $emsg .= '<strong>错误信息</strong>:'.$msg.'';
        $emsg .= '</div>';

        echo $emsg;

        //保存MySql错误日志
$savemsg = 'Page: '.GetCurUrl()."\r\nError: ".$msg;
        $fp = @fopen(dirname(__FILE__).'/../data/error/mysql_error_trace.txt', 'a');
@fwrite($fp, "{$savemsg}\r\n\r\n\r\n");
        @fclose($fp);
    }

网址加 data/error/mysql_error_trace.txt 找后台
\

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论