漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2015-0151629
漏洞标题:pigcmsSQL注入漏洞(thinkphp SQL注入漏洞实例)
相关厂商:pigcms.com
漏洞作者: 路人甲
提交时间:2015-11-26 10:55
修复时间:2016-01-11 15:32
公开时间:2016-01-11 15:32
漏洞类型:SQL注射漏洞
危害等级:高
自评Rank:15
漏洞状态:未联系到厂商或者厂商积极忽略
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2015-11-26: 积极联系厂商并且等待厂商认领中,细节不对外公开
2016-01-11: 厂商已经主动忽略漏洞,细节向公众公开
简要描述:
求过,求闪电,求$
详细说明:
PigCms(又称小猪CMS)是一个基于php+mysql的多用户微信营销源码程序,由合肥彼岸互联信息技术有限公司开发,是国内使用最多、功能最强大、性能最稳定的多用户微信营销系统平台源码,目前国内大多数微信营销平台都是pigcms或由pigcms二次开发而成
案例:
好吧,懒得找更多案例了,可以百度搜索 site:weihubao.com
weihubao.com是彼岸互联注册的一个域名,搜索得到的结果全都是pigcms的授权用户
下面正文开始:
-------------------------------------------------
0x00 感谢@phith0n牛的漏洞 WooYun: ThinkPHP最新版本SQL注入漏洞
0x01 万(ke)恶(ai)的验证码
我打算从登录处进行SQL注入,万恶的验证码出来阻拦我了,但是这个验证码真的有用吗?
答案是否定的!只要不访问验证码,验证码就永远不会更新,有图为证:
0x02 简单案例
以http://www.wx21.cn/index.php?m=Index&a=login为例,
构造登录表单
然后就可以看到thinkphp的报错了,上图↓
不得不说thinkphp的报错太可爱了,不光把SQL错误原因报出来了,连路径都报出来了有木有!
0x03 较复杂案例
以官方的演示站http://demo.pigcms.cn/index.php?m=Index&a=login为例:
官方网站还是有一定的安全措施的,关闭了thinkphp的报错,所有错误页都变成了302重定向,这样就不能用报错注入了,只能用延时盲注。另外也过滤了一些输入,让注入更加困难了。
后台过滤了/select[.]+from/i对SQL注入造成了很大的影响,但是像version(),user(),load()这样的函数是可以用的,只要SQL语句构造的好,还是会有一些意想不到的效果的。
0x04 总结
虽然官网上做了一定的修复,将漏洞风险降低了,但是,我搜到的所有其他站点的cms版本都比官网上面的落后几个版本,而且基本上都开启了thinkphp的报错。利用比较简单,漏洞危害比较大,所以自评rank15。
关于demo.pigcms.cn上面的sql注入,我暂时想不到能绕过select from的办法,希望有大牛见到了能指点指点我。
漏洞证明:
前文已经证明
修复方案:
1.升级thinkphp版本
2.升级pigcms版本
3.加强过滤条件
版权声明:转载请注明来源 路人甲@乌云
漏洞回应
厂商回应:
未能联系到厂商或者厂商积极拒绝
漏洞Rank:15 (WooYun评价)