[PHP代码审计]emblog6.0.0存在SQL注入漏洞

Posted Y4tacker

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[PHP代码审计]emblog6.0.0存在SQL注入漏洞相关的知识,希望对你有一定的参考价值。

写在前面

上个水课,发现cnvd上面有个新的emblog的洞,这里简单复现分析下,算是个简单的适合新手学习的洞了,当然其实这个网站还存在一堆无营养的漏洞,就没必要水文章了,大家无聊可以自己玩玩

漏洞利用

漏洞点在后台添加自定义导航处
在这里插入图片描述
对应代码在admin/navbar.php下第77行,能看见在这里接受POST传入的pages参数,遍历调用addNavi

if ($action== 'add_page') {
    $pages = isset($_POST['pages']) ? $_POST['pages'] : array();

    if (empty($pages)) {
        emDirect("./navbar.php?error_e=1");
    }
    
    foreach ($pages as $id => $title) {
        $Navi_Model->addNavi($title, '', 0, 0, 'n', Navi_Model::navitype_page, $id);
    }

    $CACHE->updateCache('navi');
    emDirect('./navbar.php?active_add=1');
}

跟入addNavi函数

function addNavi($name, $url, $taxis, $pid, $newtab, $type = 0, $typeId = 0) {
        if($taxis > 30000 || $taxis < 0) {
            $taxis = 0;
        }
        $sql="insert into ".DB_PREFIX."navi (naviname,url,taxis,pid,newtab,type,type_id) values('$name','$url', $taxis, $pid, '$newtab', $type, $typeId)";
        $this->db->query($sql);
    }

不难发现不管是在前面还是后面都没有对参数的过滤,因此造成了sql注入的产生,这里直接sqlmap跑一下就行了
在这里插入图片描述

以上是关于[PHP代码审计]emblog6.0.0存在SQL注入漏洞的主要内容,如果未能解决你的问题,请参考以下文章

[PHP代码审计]Piwigo11.4.0存在SQL注入漏洞

[PHP代码审计]Piwigo11.4.0存在SQL注入漏洞

[PHP代码审计]极致CMS1.9存在SQL注入漏洞

[PHP代码审计]极致CMS1.9存在SQL注入漏洞

PHP 代码审计之死磕 SQL 注入

技术专题-PHP代码审计