这其实不能算是emlog 系统的漏洞,这问题主要是出现在开发者身上。由于作者在写代码的时候没有注意到过滤参数,因此而引发了SQL注入漏洞,望大家有安装过或类似的插件,请及时更新,本文章最后会提供修复版的插件!
0x01 Emlog友情链接自助插件
这款插件主要是为了减轻站长审核友情链接的压力,通过申请者自己填写表单的方式提交申请,后端检查对方网站是否添加本站的链接从,如果存在,则向数据库中添加数据,否则不添加,从而有效节约站长的时间。
存在漏洞版本下载地址:友情链接自助插件V1.3.zip
0x02 代码审计
下载如上链接的插件压缩包,打开,文件目录如图:
其中最重要(核心)的文件就是link_web.php
这个文件。在之前的文章中说过,EMLOG本身并不存在SQL注入漏洞,此漏洞是插件作者代码过滤不严格导致的,为了验证漏洞,在本地测试一下!
首先看看源码如图:
如图红色箭头所指,程序在获取用户输入参数的时候并没有对参数过滤,此后还存在查询,插入数据的数据库操作,因此很常见的SQL注入漏洞就出现了!
贴出如下部分代码方便大家阅读:
<?php
/*
Plugin Name: 友链自助添加1.21
Version: 1.21
Plugin URL:http://www.dyboy.cn/post-117.html
Description: 判断申请友链的网站是否先添加了本网站的友链,然后再加上友链
ForEmlog:5.3.1+
Author: DYBOY
Author URL: http://whois.dyboy.cn/
*/
!defined('EMLOG_ROOT') && exit(&