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