程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2023-05(1)

[PHP代码审计]由S-CMS5.0最新SQL注入带来的审计新思路

发布于2021-06-07 21:36     阅读(1366)     评论(0)     点赞(16)     收藏(2)


写在前面

目前已交CNVD,出于其影响综合考虑,想了几天还是打算分享给大家,希望给大家带来更多的启发
前几天挖了一下S-CMS的SQL注入,这里不得不引起我的一个思考,很多时候开发者只是误认为自己的全局Waf很安全,其实并不是,接下来我们就来看看这个SQL注入,当然这个CMS还有其他注入方式这里只是因为觉得这个点好玩所以才发这篇文章,只是想告诉大家,全局waf的错误对整个CMS来说都是致命的

审计思路

在这个CMS很多请求都是通过admin/ajax.php去实现,我们来看看头部,引入了三个文件

<?php
require '../function/conn.php';
require '../function/function.php';
require '../function/mobile.php';

这里我节约时间,直接给大家看第二个,能看到这里是有一个全局参数的Waf

$_POST = array_map('check_input', $_POST);
$_GET = array_map('check_input2', $_GET);
$_COOKIE = array_map('check_input2', $_COOKIE);
$_REQUEST = array_map('check_input2', $_REQUEST);
$_SERVER = array_map('check_input2', $_SERVER);

这个check_input2还算是安全

function check_input2($value){
	if (is_array($value)){
		return $value;
	}else{
		$value=str_replace("*","__",$value);
		$value=str_replace("'","__",$value);
		$value=str_replace("\"","__",$value);
		$value=str_replace("<","__",$value);
		$value=str_replace(">","__",$value);
		$value=str_replace(" ","__",$value);
		$value=str_replace("$","__",$value);
		$value=str_replace("\t","__",$value);
		return addslashes(trim($value));
	}
}

可是check_input却并不是,我们能猜测到开发者是希望能够对数组形式进行过滤可是他没做到,因此不难得知这里可能存在参数注入

function check_input($value){
	if (is_array($value)){
		return $value;
	}else{
		return addslashes(trim($value));
	}
}

我们使用全局搜索一波\$_POST\[\$[a-zA-Z0-9]\]\[,果然是有的,那我很容易对其进行注入
在这里插入图片描述
看看这里是
在这里插入图片描述

if (splitx($x, "_", 0) == "hide") {
                    mysqli_query($conn, "update " . TABLE . "menu set U_hide=" . $_POST[$x][0] . " where U_id=" . splitx($x, "_", 1));
                }

我们传参,也就构成了注入

hide_1[]=1 AND (SELECT if(1=1,sleep(5),1))

修复建议

我个人对此的修复方式

function check_input($value){
    if (is_array($value)){
        foreach ($value as $k=>$v) {
            return check_input($v);
        }
    }else{
        return addslashes(trim($value));
    }
}



所属网站分类: 技术文章 > 博客

作者:来呀来呀开心吧

链接:http://www.phpheidong.com/blog/article/89948/6e51b0ecc45574c056e9/

来源:php黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

16 0
收藏该文
已收藏

评论内容:(最多支持255个字符)