2014-07-17:细节已通知厂商并且等待厂商处理中
2014-07-17:厂商已经确认,细节仅向厂商公开
2014-07-18:厂商已经修复漏洞并主动公开,细节向公众公开
bilibili某分站有SQL注射漏洞,有一定可能性获取到用户密码
详细说明:上次报告这个漏洞没有通过,估计是我填写得不够详细?如果这次再不通过我只有公开了。
如果是乌云这边联系不上厂商,我要提醒一下,bilibili换域名了,从 .tv 改成 .com 了。
==== 以下正文 ====
bilibili某分站(画友 drawyoo h.bilibili.com)有SQL注射漏洞
触发方法:
打开 h.bilibili.com 在右上角搜索框内输入一个分号('),点击搜索即报错。
网页地址 http://h.bilibili.com/search?keyword=%27
继续测试 '+OR+''=' 仍然报错,
但是测试 '+OR+'a'=' 会返回空白结果,结果页出现了“搜索 \'+OR+\'a\'=\'”的双重转义的字样,所以可以判断确实是做了转义,但是由于没有使用成熟的转义库导致了有漏网之鱼。
下面可以继续构造SQL注入字符串。根据我的推断,画友分站和bilibili主站运行在同一台服务器上,如果数据库被入侵可能导致上万密码被泄漏,后果不堪设想。
==== 正文结束 ====
我的测试到此为止,以不破坏为重,希望乌云和bilibili重视。有次我交的XSS漏洞bilibili竟然私自修复却没有给我回复。
出错信息,爆出 SQL 语句:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '''') limit 0,1' at line 1SELECT GROUP_CONCAT(il_id) as il_id FROM dr_illust_tag WHERE tag_id=(SELECT tag_id FROM dr_tag WHERE tag=''') limit 0,1;
截图如下:
==== 管理员请帮助我取回另一重要截图 ====
另外,前几天我在提交 hash fd3b8129168a154fa9db959db290ba97 漏洞的时候,截图中有一个不同的出错信息,爆出了服务器文件名 /var/www/drawyoo/.../dbClass.php 和 .../500.htm 以及更多重要信息。
可惜wooyun不让我取回那张图了。如果乌云这边的管理员可以帮助我取回那张图我不胜感激。
第一,转义!转义!转义!
一定要用成熟的转义库!
或者参数化查询。
第二,避免双重转义。不要在输出的网页上出页反斜线!这是“转义不完备、网站有漏洞”的暗示!
漏洞回应 厂商回应:
危害等级:中
漏洞Rank:10
确认时间:2014-07-17 12:45
厂商回复:此漏洞是在当天处理另一个独立事件时发现并修正的
最新状态:2014-07-18:此漏洞是在当天处理另一个独立事件时发现并修正的