emlog csrf漏洞

emlog csrf 漏洞
该漏洞可删除任意文件(可删除全站)

[lv]

这里不描述具体细节,直接说修复方法
打开admin/data.php
在139行下,新增一行LoginAuth::checkToken();
if ($action == 'dell_all_bak') {

    LoginAuth::checkToken(); //新增

    if (!isset($_POST['bak'])) {

        emDirect('./data.php?error_a=1');

    } else{

        foreach ($_POST['bak'] as $val) {

            unlink($val);

        }

        emDirect('./data.php?active_del=1');

    }

}

打开admin/views/data.php
找到    data.php?action=dell_all_bak

修改成  data.php?action=dell_all_bak&token=<?php echo LoginAuth::genToken(); ?>

影响版本:5.3.1、6.0.0

[/lv]