当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(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标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-11-26: 积极联系厂商并且等待厂商认领中,细节不对外公开
2016-01-11: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

求过,求闪电,求$

详细说明:

PigCms(又称小猪CMS)是一个基于php+mysql的多用户微信营销源码程序,由合肥彼岸互联信息技术有限公司开发,是国内使用最多、功能最强大、性能最稳定的多用户微信营销系统平台源码,目前国内大多数微信营销平台都是pigcms或由pigcms二次开发而成
案例:

http://www.jipinweixin.com/
http://www.wx21.cn/
http://www.alipaylife.com/
http://zy.weihubao.com
http://www.chinajkzs.cn/


好吧,懒得找更多案例了,可以百度搜索 site:weihubao.com
weihubao.com是彼岸互联注册的一个域名,搜索得到的结果全都是pigcms的授权用户
下面正文开始:
-------------------------------------------------
0x00 感谢@phith0n牛的漏洞 WooYun: ThinkPHP最新版本SQL注入漏洞
0x01 万(ke)恶(ai)的验证码
我打算从登录处进行SQL注入,万恶的验证码出来阻拦我了,但是这个验证码真的有用吗?
答案是否定的!只要不访问验证码,验证码就永远不会更新,有图为证:

验证码.jpg


验证码2.jpg


0x02 简单案例
以http://www.wx21.cn/index.php?m=Index&a=login为例,
构造登录表单

username[0]=%3D'__test__'OR sqli #between&username[1]=test&password=test%3B&verifycode2=***&__hash__=***


然后就可以看到thinkphp的报错了,上图↓

报错.jpg


不得不说thinkphp的报错太可爱了,不光把SQL错误原因报出来了,连路径都报出来了有木有!
0x03 较复杂案例
以官方的演示站http://demo.pigcms.cn/index.php?m=Index&a=login为例:
官方网站还是有一定的安全措施的,关闭了thinkphp的报错,所有错误页都变成了302重定向,这样就不能用报错注入了,只能用延时盲注。另外也过滤了一些输入,让注入更加困难了。

延时.jpg


后台过滤了/select[.]+from/i对SQL注入造成了很大的影响,但是像version(),user(),load()这样的函数是可以用的,只要SQL语句构造的好,还是会有一些意想不到的效果的。

user.jpg


pass.jpg


0x04 总结
虽然官网上做了一定的修复,将漏洞风险降低了,但是,我搜到的所有其他站点的cms版本都比官网上面的落后几个版本,而且基本上都开启了thinkphp的报错。利用比较简单,漏洞危害比较大,所以自评rank15。
关于demo.pigcms.cn上面的sql注入,我暂时想不到能绕过select from的办法,希望有大牛见到了能指点指点我。

漏洞证明:

前文已经证明

修复方案:

1.升级thinkphp版本
2.升级pigcms版本
3.加强过滤条件

版权声明:转载请注明来源 路人甲@乌云


漏洞回应

厂商回应:

未能联系到厂商或者厂商积极拒绝

漏洞Rank:15 (WooYun评价)