某cms代码审计

前言

  前几个礼拜上课老师带着挖cms的洞,挖出个cookie反序列化注入漏洞,和报错注入并且提交了cnvd。昨天去找源码的时候发现它更新了一个版本,更新日志上也没说修复,就想着看看漏洞还存不存在,或者修复后能不能绕过。

先来看看旧版本的sql报错注入漏洞

查看漏洞文件

                          getOne($sql);
			                                                if($count>0) {
				                                                echo $json->encode(false);
				                                                exit;
			                                                } else {
				                                                echo $json->encode(true);
				                                                exit;

                                                                    ?>

  在member.php139开始,在switch循环中当,可以看见当act=ajax、type=username 、接收$_REQUEST['username']的值去空格后赋值给$username后,拼接进下面的$sql语句中执行,关键的是它没给$username进行任何过滤!!

尝试注入

1.当我查询username=1的时候,回显ture。

某cms代码审计_第1张图片

2.使用单引号闭合

某cms代码审计_第2张图片
报错了,说明存在注入。

3.进一步确认

1' and updatexml(1,concat(0x7e,(select version())),1)#
某cms代码审计_第3张图片

看看更新后的版本

直接到上个版本的注入点进行测试

1.无论我使用什么语句测试都是返回ture

2.使用xdebug调试一下

发现被过滤了。
某cms代码审计_第4张图片

先使用Beyond Compare对比一下跟新的文件。

某cms代码审计_第5张图片

1.可以看见include文件夹里的common.php的文件进行了修改,给所有

某cms代码审计_第6张图片

2.未完。

你可能感兴趣的:(某cms代码审计)