• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

齐博CMS的sql注入漏洞学习

php 搞代码 4年前 (2022-01-23) 45次浏览 已收录 0个评论

今天看到了asrc上面对某个cms的漏洞分析的文章(http://security.alibaba.com/blog/blog.htm?spm=0.0.0.0.96tpib&id=13 ),感觉阿里大牛在写漏洞分析的时候还是有点谨慎,利用方式什么就更不能说了。

百度搜了一下这个CMS,使用量还是不小的。对php不太懂,简单学习了一下,并且总结了利用方式。

漏洞的原因就是 inc/common.inc.php 中的这一段代码:

if(!ini_get('register_globals')){	@extract($_FILES,EXTR_SKIP);}

这段代码的含义就是把 php接收到的$_Files 请求的数组转换成一些变量。而我们知道,这些变量是不会经过魔术引号的转义的。

再看 member/comment.php 这个文件,如下代码:

if($job=='del'){      foreach( $cidDB AS $key=>$value){		$rs=$db->get_one("SELECT aid FROM {$pre}comment WHERE cid='$value'");		$erp=get_id_table($rs[aid]);		$rsdb=$db->get_one("SELECT C.cid,C.uid AS commentuid,C.aid,A.uid,A.fid FROM {$pre}comment C LEFT JOIN {$pre}article$erp A ON C.aid=A.aid WHERE C.cid='$value'");		if($rsdb[uid]==$lfjuid||$rsdb[commentuid]==$lfjuid||$web_admin||in_array($rsdb[fid],$fiddb)){			$db->query("DELETE FROM {$pre}comment WHERE cid='$rsdb[cid]'");		}		$db->query("UPDATE {$pre}article$erp SET comments=comments-1 WHERE aid='$rsdb[aid]'");	}	refreshto("$FROMURL","删除成功",0);}

其中 $cidDB 这个变量本应该是从URL里面通过get方式获取的留言的id ,然后拼到sql语句里面执行sql的。

但是因为 comment.php引用了common.inc.php,并且$cidDB并没有初始化,所以这边我们可以用 $_Files里面的变量去直接给 $cidDB 赋值,并且没有转义。

poc:

其实算不上poc,就是一个简单的利用方式。

本2文来*源gao($daima.com搞@代@#码(网搞gaodaima代码 写一个简单的html页面:

action里面写网站相关地址


然后我们重命名一个文件,名为:1′ union select version() and ‘1’=’1

然后提交上传,就可以看到返回结果了:

这边有个比较麻烦的问题是: 由于value值保存在了两个sql语句里面,这两个语句的列不一样,所以这边用union会报错,只能盲注了。或者寻找一下其他地方的未初始化的变量也可。

  • 大小: 55.3 KB
  • 大小: 26.1 KB
  • 查看图片附件

以上就介绍了齐博CMS的sql注入漏洞学习,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:齐博CMS的sql注入漏洞学习

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址