当前位置:首页 > 包含标签 Emlog 的所有文章

Bug描述

用户后台虽然开启了验证码,但是验证码失效机制有问题,可导致无线次数的暴力破解,对于恶意攻击者来说破解是时间问题。


Bug影响

emlog Pro 1.2.0+(目前只检测到1.2.0,之前是否有问题未知)

因为emlog验证码正确后不会在对该验证码失效,再加上验证码是由于checkcode.php生成,如果禁止该连接访问,验证码正确就只可以实现多次有效验证。

Bug描述

后台配置了邮件通知,通过构造POST语句可以给任何邮件发送验证码,虽然这个验证码不会导致任何问题,但是这个接口不需要任何手段发送给任何邮件,也没有任何间隔,可以很简单的导致PHP占用过高。


Bug过程

受影响的版本:emlog pro 2.0.0+

1、通过Post工具,直接Post mail=邮箱到http://www.77bx.com/admin/account.php?action=send_email_code直接绕过验证码发送验证码邮件。

Emlog统计运行时间、内存和数据库查询次数

Emlog程序需要简单的统计运行时间、内存和数据库查询次数,用于Emlog的优化。

以下是Hack Emlog代码实现,操作前请先备份,支持Emlog Pro版本

1、前台页面显示统计。根目录index.php修改,<?php后面首行增加以下代码。需要开启memory_get_usage函数

$_SERVER['MEMORY_USAGE'] = memory_get_usage();


2、后台页面显示统计。admin\index.php,<?php后面首行增加以下代码。

Emlog修改标签造成重复标签的bug以及修复

Emlog后台可以修改标签的名称,也就是tagname,导致tagname重复,这个应该是设计上的Bug,不严重,但是如果标签很多的时候,都不知道有没有重复,修改后还会出现问题。


Bug事例

后台有多个标签,其中一个是emlog标签,另一个是77bx标签,那么把77bx的标签修改为emlog标签,那么就会出现相同标签的记录。

PHP7下安装Emlog5.3.1

PHP7出来一段时间了,据说PHP7可以性能翻倍。而且我的服务器上也已经开通了PHP7,就开始折腾下Emlog5.3.1。


直接在php7安装emlog5.3.1各种报错。emlog5.3.1虽然已经出了使用mysqli连接类,但是为了兼容性还是默认是使用了mysql。因为PHP7已经不支持mysql扩展了,但是支持mysqli和pdo_mysql。所以这里还是介绍如何使用mysqli来安装emlog。


以下是修改emlog安装程序,无报错安装。如果是实际环境请在本地环境模拟后成功后再更换。

1、修改include\lib\option.php,大概11行修改为mysqli

HACK emlog程序教程,操作前请先备份。使用memcached缓存来替代文件缓存,毕竟memcached缓存在内存, 文件缓存在硬盘(要看I/O的性能),一般来说内存的性能大于硬盘,所以一般来说memcached缓存优于文件缓存。


memcache相对于文件缓存的优点:

1、读写性能优异,特别是高并发时和文件缓存比有明显优势。

2、memcached组建支持集群,并且是自动管理负载均衡。

HACK emlog程序教程,操作前请先备份。使用Redis缓存来替代文件缓存,毕竟Redis缓存在内存, 文件缓存在硬盘(要看I/O的性能),一般来说内存的性能大于硬盘,所以一般来说Redis缓存优于文件缓存。


Redis相对于文件缓存的优点:

1、读写性能优异,特别是高并发时和文件缓存比有明显优势。

2、Redis支持集群。