通达OA任意用户登录漏洞复现


这是我在实验室学习渗透测试所做的第七个漏洞复现,由于最开始借鉴的博客叙述不太详细,走了一些弯路,再加上不太熟悉Burp Suite的操作,最开始还尝试了Wireshark和Postman,所以用了一天才做完。

漏洞概述

通达OA是一套国内常用的办公系统,在V11.X<V11.5和通达OA 2017版本中存在任意用户登录漏洞。攻击者在远程且未经授权的情况下,通过此漏洞可以以任意用户身份登录到系统(包括系统管理员)。复现此漏洞可以使用已有的POC脚本,也可以手工复现。

实验工具与环境

实验工具:通达OA2017 v10.13.18,Burp Suite

实验环境:Windows 10

利用POC复现

1. 工具安装配置

下载好通达OA2017后安装,所有选项默认即可。

2. 登录

初始用户名:admin,密码为空,直接登录。

登录后,可以发现管理员后台地址都为如下格式:

http://网站/general/index.php?isIE=0&modify_pwd=0

复制该地址,关闭网页,清除掉该网页的cookie,之后再次直接访问该地址,可以看到此时提示我们用户未登录。

3. 生成并替换cookie

下载poc,在命令行中通过该poc生成我们的cookie,即COOKIE:后分号前的一段字符串。

python POC.py -v 11 -u http://本机IP

复制该字符串,在刚才的网页打开F12进行cookie的替换。点击应用程序,找到cookie,选择本地地址,将PHPSESSID的值替换成刚才生成的cookie。

替换后刷新页面,可以看到已经进入了登录成功的界面。这说明,已经成功利用cookie登录了进来。

手工复现

1. 抓包

使用Burp Suite抓包:在Proxy一栏下,选择Intercept,首先点击“Open Browser”打开内置浏览器(谷歌),然后在“Intercept is off”状态下打开http://localhost,然后使“Intercept is on”,在账号密码均为空的情况下点击登录,此时能看到已经抓取到了我们需要的包。

2. 修改请求

点击“Action–>Send to Repeater”,然后就可以在Repeater一栏下看到这个包。点击左上角的Send后,会在右侧的Response下看到服务器的返回结果。如果状态码是200,说明成功了。

然后修改几个地方:

  • 首行的地址改为/logincheck_code.php
  • 删除Cookie一行
  • 尾行最后加上&UID=1

修改好后,再次发送,在Response中可以找到Set-Cookie,后面即为我们需要替换的cookie。

3. 验证

清除Cookie,直接打开前面提到的链接,还是提示用户未登录,按F12,替换cookie后刷新页面,登录成功。

参考文章


文章作者: 恰醋
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 恰醋 !
评论
 上一篇
ms10-061漏洞复现 ms10-061漏洞复现
Windows打印后台程序没有充分限制访问该服务的用户权限,攻击者可以通过提交特制的打印请求在windows系统目录(%SystemRoot%\system32)中创建文件。
2020-09-07
下一篇 
Windows五次Shift漏洞破解账户密码 Windows五次Shift漏洞破解账户密码
此漏洞利用windows启动恢复功能,篡改系统文件名,从而可以利用命令行来清除用户密码或新建用户,以及更多事情。
2020-08-29
  目录