如何使用Python3编写Redis未授权访问检测脚本?
作者:WarmHope
时间:2023-04-26
来源:互联网
浏览:0
importsysimportgetoptimportsocketdefget_target():opts,args=getopt.getopt(sys.argv[1:],'-i:-p:-h')#print(opts)foropt_name,opt_valueinopts:ifopt_name=='-h':print('[*]Thisishelpinformation[*]n''[*]-i+vulnerable-ip[*]n''[*]
import sys
import getopt
import socket
def get_target():
opts, args = getopt.getopt(sys.argv[1:], '-i:-p:-h')
# print(opts)
for opt_name, opt_value in opts:
if opt_name == '-h':
print('[*]This is help information [*]n'
'[*]-i + vulnerable-ip [*]n'
'[*]-p + vulnerable-port [*]n'
'[*]Example:python3 -i 127.0.0.1 -p 6379[*]n')
if opt_name in ('-i', ):
ip = opt_value
if opt_name in ('-p', ):
port = opt_value
return ip, port
def passwd_dict():
passwd = ['redis@123', 'Redis@123', 'Passw0rd', '123456']
return passwd
def main(ip, port, passwd):
print("[*]Redis Unauthorized and Weak Password Detection [*]n"
"[*]By: Zh1z3ven [*]n"
"[*]Blog: https://www.cnblogs.com/Zh1z3ven/ [*]n")
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((ip, int(port)))
send_data = 'INFOrn'
s.send(send_data.encode())
res = s.recv(1024)
response = bytes.decode(res)
# print(response)
if 'redis_version' in response:
result = '[!]Vulnerable {0}:{1} 存在未授权访问 [!]'.format(ip, port)
print(result)
return result
elif 'NOAUTH' in response:
for item in passwd:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((ip, int(port)))
send_data = 'AUTH {0}rn'.format(item)
s.send(send_data.encode())
res = s.recv(1024)
response = bytes.decode(res)
# print(response)
if '+OK' in response:
result = '[!]Vulnerable: {0}:{1} 存在弱口令{2} [!]'.format(ip, port, item)
print(result)
return result
else:
result = '[*] 不存在未授权及弱口令 [*]'
print(result)
return result
if __name__ == '__main__':
ip, port = get_target()
passwd = passwd_dict()
main(ip, port, passwd)
作者最新文章
思源笔记
2026-09-16 17:42
在线PDF转TXT操作步骤与乱码排查指南
2026-09-04 13:02
PDF加水印后如何检查显示效果?在线工具操作步骤与避坑指南
2026-09-03 13:02
Xshell保持连接不断开及会话文件本地存储路径详解
2026-09-03 06:02
两个PDF怎么合并成一个?在线合并后怎么检查顺序?
2026-09-02 20:00
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多
Windows 10
Windows
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式
Windows/macOS/Linux
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















