漏洞概要 关注数(13) 关注此漏洞
缺陷编号: WooYun-2014-75308
漏洞标题: 英皇娱乐官网存在SQL注射、目录遍历等漏洞可getshell
相关厂商: eegmusic.com
漏洞作者: lijiejie
提交时间: 2014-09-07 06:16
公开时间: 2014-10-22 06:18
漏洞类型: 任意文件遍历/下载
危害等级: 高
自评Rank: 10
漏洞状态: 未联系到厂商或者厂商积极忽略
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 help@wooyun.org
Tags标签: 目录遍历,SQL注射
漏洞详情
披露状态:
2014-09-07: 积极联系厂商并且等待厂商认领中,细节不对外公开
2014-10-22: 厂商已经主动忽略漏洞,细节向公众公开
简要描述:
英皇娱乐官网存在SQL注射,目录遍历等漏洞,通过上传漏洞拿到了webshell
详细说明:
随手测试英皇娱乐,缘分呐。
1. 源于一处目录遍历
无意中发现http://eapa.eegmusic.com/ 存在一处目录遍历:
例如,下载passwd:
http://eapa.eegmusic.com/download.php?path=upload/../../../../../../../../etc/passwd
此处非root,无法下载shadow。
用nmap扫描发现,除了80端口,无其他对外开放的端口。
一个利用的技巧是:
a) 通过下载不存在的文件,暴路径
b) 通过是否报错No such file or directory,可猜文件夹(文件)是否存在
2. 在php文件中搜索敏感信息
因为权限较低,无法下载一些敏感的.bash_history文件,所以只能在有权限读的php文件中找数据了。
首先是找到了数据库账号:
http://eapa.eegmusic.com/download.php?path=upload/../../../../../../../..//home/eapa/config/DbConfig.php
然而,数据库在内网,无法直接外连。拿到账号不能直接利用。
3. 发现www和eapa位于同一IP
思路在这里稍微有些中断,因为eapa站点非常简单,实际已发现后台backend目录,但是并不在www目录下,无法直接通过现有域名直接访问,虽然我也可以猜一下vhosts.conf文件。
后来我试着在114best.com上面查对应IP是否还存在其他域名。惊奇地发现原来www官网也在上面。
4. 猜文件名
因为eapa位于/home/eapa/,于是我猜www位于/home/eegmusic下,运气挺好,猜中了。
(因为passwd文件中有该用户eegmusic)
然后我尝试去读了一些php文件,发现数据库账号都跟eapa一样的,没多大用。
5.发现SQL注射
当读到一个/news/content.php文件时,发现注射:
确认SQL注射存在后,我用sqlmap拖下了user表(mysql账号不能写文件):
sqlmap.py -u "http://www.eegmusic.com/news/content.php/view/1333*" -D eegmusic -T cms_user --dump
发现密码已加盐,而且是随机盐。并且salt是8位字母数字混合的。很难解开。
6. 用弱密码登录
不过在这个过程中,发现数据库中保存着少量的明文不加盐密码,非常弱:123456.
于是,我试着逐个用123456,当试到第二个的时候,就成功了。
提示需要修改密码,修改之后,成功登录后台!
漏洞证明:
修复方案:
解决
1) 目录遍历
2) SQL注射
3) 任意文件上传
版权声明:转载请注明来源 lijiejie@乌云
漏洞回应
厂商回应:
未能联系到厂商或者厂商积极拒绝
漏洞评价:
对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值