oracle emlog删除,Emlog新版一处csrf导致的任意文件删除(可删除全站)

听说emlog更新到6.0了,下载了一份最新的代码,发现原来的bug还是没有修复。可能是官方没有在意,所以这里简单叙述一下危害。

出现的地方

在admin/data.php139行

if ($action == 'dell_all_bak') {

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

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

} else{

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

unlink($val);

}

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

}

}

可以看到后台是没有验证的,如果管理员访问到了精心构造的界面,则可以删除任意文件,这里代码使用数组循环的,所以管理员如果访问到了页面很可能会删除网站所有。

利用方式

以我本地搭建的网站emlog6.demo为例,构造如下exp:

aa

var f = document.getElementById("transfer");

f.submit();

这里只删除robots.txt。然后将这个上传到任意网址,诱导管理员访问(管理员访问时需要确认已经登陆过后台)

这是访问之前:

ee3a46f2dc1c52c8b2b8f9e394acf014.png

访问之后看到robots.txt已经被删除了

ef3923705d57c570b8ab1cb4e7d80b59.png

影响范围

只测试过emlog 5.3.1和6.0 都中招

修复

在if前面增加一行LoginAuth::checkToken();即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值