[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注入漏洞