织梦member/reg_new.php SQL注入漏洞修复

1. 漏洞描述

Dedecms会员中心注入漏洞

2. 漏洞触发条件

/member/reg_new.php?dopost=regbase&step=1&mtype=%B8%F6%C8%CB&mtype=%B8%F6%C8%CB&userid=123asd123&uname=12asd13123&userpwd=123123&userpwdok=123123&email=1213asd123%40QQ.COM&safequestion=1\',\'1111111111111\',\'1389701121\',\'127.0.0.1\',\'1389701121\',\'127.0.0.1\'),(\'个人\',user(),\'4297f44b13955235245b2497399d7a93\',\'12as11111111111111111d13123\',\'\',\'10\',\'0\',\'1213asd11111111111123@QQ.COM\',\'100\', \'0\',\'-10\',\'\',\'1&safeanswer=1111111111111&sex=&vdcode=slum&agree=

//把vdcode=slum改成当前的验证码

3. 漏洞影响范围

4. 漏洞代码分析

/member/reg_new.php

..
$jointime = time();
$logintime = time();
$joinip = GetIP();
$loginip = GetIP();
$pwd = md5($userpwd); 
$spaceSta = ($cfg_mb_spacesta < 0 ? $cfg_mb_spacesta : 0);
//未对$mtype、$safeanswer、$safequestion进行有效过滤就带入SQL查询
$inQuery = \"INSERT INTO `dede_member` (`mtype` ,`userid` ,`pwd`,`uname` ,`sex` ,`rank` ,`money` ,`email` ,`scores` ,`matt`, `spacesta`,`face`,`safequestion`,`safeanswer`,`jointime`,`joinip`,`logintime` ,`loginip` )
VALUES(\'$mtype\',\'$userid\',\'$pwd\',\'$uname\',\'$sex\',\'10\',\'$dfmoney\',\'$email\',\'$dfscores\',\'0\',\'$spaceSta\',\'\',\'$safequestion\',\'$safeanswer\',\'$jointime\',\'$joinip\',\'$logintime\',\'$loginip\'); \"; 
if($dsql->ExecuteNoneQuery($inQuery))
..

5. 防御方法

/member/reg_new.php

..
$jointime = time();
$logintime = time();
$joinip = GetIP();
$loginip = GetIP();
$pwd = md5($userpwd);
/* 对$mtype、$safeanswer、$safequestion进行有效过滤 */ $mtype = HtmlReplace($mtype,1); $safeanswer = HtmlReplace($safeanswer); $safequestion = HtmlReplace($safequestion); /* */
$spaceSta = ($cfg_mb_spacesta < 0 ? $cfg_mb_spacesta : 0);
$inQuery = \"INSERT INTO `dede_member` (`mtype` ,`userid`,`pwd`,`uname` ,`sex` ,`rank` ,`money` ,`email` ,`scores` ,`matt`, `spacesta` ,`face`,`safequestion`,`safeanswer` ,`jointime`,`joinip` ,`logintime` ,`loginip` )
VALUES (\'$mtype\',\'$userid\',\'$pwd\',\'$uname\',\'$sex\',\'10\',\'$dfmoney\',\'$email\',\'$dfscores\',\'0\',\'$spaceSta\',\'\',\'$safequestion\',\'$safeanswer\',\'$jointime\',\'$joinip\',\'$logintime\',\'$loginip\'); \";
if($dsql->ExecuteNoneQuery($inQuery))
{..

温馨提示:本文最后更新于2022/10/20 02:49:16若文章内容或图片失效,请留言联系站长反馈!
!
也想出现在这里? 联系我们
创意广告
© 版权声明
THE END
喜欢本文内容,请点击【点赞】【分享】【收藏】
点赞0赞赏 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容