• 通达OA任意用户登录漏洞复现(POC+手工方式实现)


    本文首发于我的个人博客,记录了我在实验室学习渗透测试所做的第七个漏洞复现。

    漏洞概述

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

    实验工具与环境

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

    实验环境:Windows 10

    利用POC复现

    1. 工具安装配置

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

    2. 登录

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

    001

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

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

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

    002

    3. 生成并替换cookie

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

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

    003

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

    004

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

    手工复现

    1. 抓包

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

    005

    2. 修改请求

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

    006

    然后修改几个地方:

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

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

    007

    3. 验证

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

    008

    参考文章

  • 相关阅读:
    iOS8及以后 地图定位当前城市
    UITextView换行问题解决办法
    使用七牛上传图片代码,导入文件常遇问题解决方法
    CocoaPods安装和使用
    Xcode7真机测试
    Label 添加表情图片
    TTTAttributedLabel使用介绍(转)
    带有中文的url和NSString中文的转换
    正则表达式的使用 选取有用数据
    导航网格配置笔记
  • 原文地址:https://www.cnblogs.com/Alleyn180400524/p/13593759.html
Copyright © 2020-2023  润新知