66秀直播,你喜欢的直播

[原创]对EMLOG博客系统一次完完全全的代码审计

【摘要】这个emlog博客系统还是非常出名的,使用的人比较多,而且看到不少圈内爱好者都在使用基于emlog的博客!小东在此重新审计一下Emlog5.3.1正式版,总结前人经验,也希望对后来者有所帮助和启迪。去官网下载,官网需要注册账号才能下载,因此我上传到网盘...

   这个emlog博客系统还是非常出名的,使用的人比较多,而且看到不少圈内爱好者都在使用基于emlog的博客!小东在此重新审计一下Emlog5.3.1正式版,总结前人经验,也希望对后来者有所帮助和启迪。

  去官网下载,官网需要注册账号才能下载,因此我上传到网盘大家可以自行下载!
Emlog5.3.1下载地址:https://pan.baidu.com/s/1GqG4AfotoEVxxJPBdSW8Vg 密码: hkb4

一、基础环境准备:

  安装过程就不讲了,基本操作。
  因为前台默认的主题太丑了,为了有一个愉悦的审计过程,在后台直接更换安装了一套模版。

  而且这套模版带有前台会员中心,只要能注册会员就行!这样我们的权限也会大一些,更方便我们的利用

  下图是emlog的一个简单结构,凑合着看吧...

  接下来,我不会按照完整的流程去讲怎么审计,将会以漏洞分类来分别阐述!

二、忽略验证码后台登陆爆破漏洞

  emlog默认后台路径是/admin,所以直接我们就能看到后台登陆。

  查看所有的sql语句交互的地方,发现全都是做了过滤,不得不说做的很不错!!!所以SQL注入暂时不在考虑范围!

  登陆的函数验证在./admin/golbals.php全局引入文件中,其代码如下:

//登录验证
if ($action == 'login') {
	$username = isset($_POST['user']) ? addslashes(trim($_POST['user'])) : '';
	$password = isset($_POST['pw']) ? addslashes(trim($_POST['pw'])) : '';
	$ispersis = isset($_POST['ispersis']) ? intval($_POST['ispersis']) : false;
	$img_code = Option::get('login_code') == 'y' && isset($_POST['imgcode']) ? addslashes(trim(strtoupper($_POST['imgcode']))) : '';

    $loginAuthRet = LoginAuth::checkUser($username, $password, $img_code);
    
	if ($loginAuthRet === true) {
		LoginAuth::setAuthCookie($username, $ispersis);
		emDirect("./");
	} else{  //此处我们可以看到,对于登录失败,并没有销毁验证码,所以可以实现爆破
		LoginAuth::loginPage($loginAuthRet);
	}
}


二、phpinfo函数敏感信息泄漏漏洞

  继续我们来到./admin/index.php中

  要访问此文件必须要登陆,只要是能够登陆就可以执行

  直接访问:http://www.test.com:81/admin/index.php?action=phpinfo

三、是否存在SQL注入

  此处两种思路,既然都做了过滤,我们就尝试文件名注入和数据包头部注入!

  1.IP伪造注入:

  在评论的地方,可以看到记录了评论者的IP,我们追溯一下获取IP的函数:

   /include/model/comment_model.php 利用mysql数据监控插件,我们定位到此文件

  很开心,此处并没有做任何的过滤就写入了数据库,再次寻找getIp()函数,定位到了/include/lib/function.base.php这个文件

  看到这个就束手无策了,$SEVER['REMOTE_ADRR']获取网络层的IP,而且下面判断了ip的规范性,所以GG

  2.文件名二次注入:

   上传文件需要作者权限,有的网站如果用了投稿插件,也是可以的!

   

  非常凶猛的过滤...暂时SQL注入也不去考虑了...

三、XSS

   这东西不是很想说,鸡肋一个,我觉得是走投无路的时候可以使用...

   1.Emlog默认的编辑器是KindEditor上传漏洞是不存在的,存储性XSS漏洞大家可以自行抓包、改包尝试,只有你能投稿就行,存储性XSS!

   2.修改个人资料的地方,有的主题模版直接输出个人资料,导致存储性XSS漏洞

   3.前台反射型XSS,无视浏览器Filter:

      这个是大佬很早就发现的,存在于上传的swf文件,修复方法,删除

      exp:http://www.test.com:81/include/lib/js/uploadify/uploadify.swf?movieName=%22]%29}catch%28e%29{if%28!window.x%29{window.x=1;alert%28document.cookie%29}}//

四、CSRF漏洞

  说实话,我觉得CSRF还要和反射型xss一样去骗管理员...感觉不舒服...哈哈

  1.如文章开头所述,在后台可以下载官方源的模版等,倘若官方源中的插件、模版等有一句话木马,那么...

  2.具体很多页面我没有去看了,大家自行查看action操作的部分是否有这一函数:

LoginAuth::checkToken();


  Tips:./admin/store.php

此处内容已隐藏,后即可查看!

 小东
 简介:有丰富WEB开发经验,WEB安全相关经验,已承接各类外包项目20+,专业团队为您打造产品,有合作意向请联系QQ:1099718640

发表评论

游客
送你一朵小花花~

帅人已评(2)

##此评论仅作者可见##
China网络安全 3个月前 (2018-04-17) 回复
小乖乖 4个月前 (2018-03-24) 回复