首页 > 漏洞预警和分析 > 杰奇cmsSQL注入

杰奇cmsSQL注入

[2018.01.03]

漏洞文件:/modules/article/readbookcase.php

define("JIEQI_MODULE_NAME", "article");

require_once "../../global.php";

if (empty($_REQUEST['aid']) && empty($_REQUEST['oid'])) {

    jieqi_printfail(LANG_ERROR_PARAMETER);

}

$GLOBALS['_REQUEST']['aid'] = intval($_REQUEST['aid']);

if (!empty($_REQUEST['bid'])) {

    include_once $jieqiModules['article']['path'] . "/class/bookcase.php";

    $bookcase_handler =& jieqibookcasehandler::getinstance("JieqiBookcaseHandler");

    $bookcase_handler->db->query("UPDATE " . jieqi_dbprefix("article_bookcase") . " SET lastvisit=" . JIEQI_NOW_TIME . " WHERE caseid=" . $_REQUEST['bid']);


首先我们先看看整体的代码逻辑走向,先判断aid与oid是否空,如果都为空则提示,然后下面是为aid进行类型转换intval接着一个if判断bid是否为空当非空的情况下则进入以下内容,首先是包含bookcase文件然后下面接着数据库操作。

query("UPDATE " . jieqi_dbprefix("article_bookcase") . " SET lastvisit=" . JIEQI_NOW_TIME . " WHERE caseid=" . $_REQUEST['bid']);


Query是直接执行sql查询,这里的bid是未有单引号保护的然后杰奇是有全局转义但根本不影响我这个未有单引号的注入触发。



本地实现:


 

是直接可以执行的



北京通和实益电信科学技术研究所有限公司 版权所有 京ICP备15030238号-1