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

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

缺陷编号:wooyun-2014-073604

漏洞标题:中国移动SMS客户管理平台getshell+多处数据库信息

相关厂商:中国移动

漏洞作者: CoffeeSafe

提交时间:2014-08-23 21:55

修复时间:2014-10-07 21:56

公开时间:2014-10-07 21:56

漏洞类型:命令执行

危害等级:中

自评Rank:10

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-08-23: 细节已通知厂商并且等待厂商处理中
2014-08-28: 厂商已经确认,细节仅向厂商公开
2014-09-07: 细节向核心白帽子及相关领域专家公开
2014-09-17: 细节向普通白帽子公开
2014-09-27: 细节向实习白帽子公开
2014-10-07: 细节向公众公开

简要描述:

10086SMS客户管理平台 getshell+多处数据库信息泄露

详细说明:

网址:http://www.10086-sms.com/superadmin/index.action
10086SMS客户管理平台
存在struts漏洞。导致直接getshell

1.jpg

漏洞证明:

数据库信息,包含多个库与站点:
0x01

as.psmc.server.ip=222.68.193.136
as.psmc.server.port=8573
as.psmc.sp.id=15000073
#15000073
as.psmc.sp.pwd=12312344
as.psmc.sp.enquire.link.time=10000
as.service.class=smsclient.test.TestService
as.psmc.sp.send.failure.time=10
as.psmc.sp.send.failure.wait.time=5000
as.psmc.sp.priority=0
as.psmc.sp.need.receipt=1
as.psmc.sp.need.replace=0
as.psmc.sp.encoding=15
as.server.enquire.link.timeout=40000
as.psmc.sp.send.delay.time=100
#021 SOCKET CHANNEL -CONFIG
<?xml version="1.0" encoding="GBK"?>
<c3p0-config>
<default-config>
<property name="user">sa</property>
<property name="password">sa</property>
<property name="driverClass">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>
<property name="jdbcUrl"><![CDATA[jdbc:sqlserver://192.168.230.129:1433;DatabaseName=sms;selectMethod=cursor]]></property>
<property name="initialPoolSize">10</property>
<property name="maxIdleTime">28000</property>
<property name="maxPoolSize">100</property>
<property name="minPoolSize">5</property>
<property name="automaticTestTable">con_test</property>
<property name="checkoutTimeout">60000</property>
<property name="idleConnectionTestPeriod">28000</property>
<property name="acquireRetryAttempts" >30</property>
<property name="maxStatements">100</property>
<property name="acquireIncrement">5</property>

<property name="testConnectionOnCheckout">false</property>
<property name="testConnectionOnCheckin">false</property>
<property name="maxStatementsPerConnection">100</property>
<property name="numHelperThreads">3</property>


</default-config>
<named-config name="myApp">
<property name="user">root</property>
<property name="password">java</property>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">
jdbc:mysql://localhost:3306/jdbc
</property>
<property name="initialPoolSize">10</property>
<property name="maxIdleTime">30</property>
<property name="maxPoolSize">100</property>
<property name="minPoolSize">10</property>
</named-config>
</c3p0-config>
<c3p0-config>
<default-config>
<property name="user">smstong</property>
<property name="password">sms*.2013</property>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl"><![CDATA[jdbc:mysql://localhost:3306/smstong?useUnicode=true&characterEncoding=GBK]]></property>
<property name="initialPoolSize">5</property>
<property name="maxIdleTime">28000</property>
<property name="maxPoolSize">18</property>
<property name="minPoolSize">5</property>
<property name="automaticTestTable">con_test</property>
<property name="checkoutTimeout">60000</property>
<property name="idleConnectionTestPeriod">28000</property>
<property name="acquireRetryAttempts" value="30"/>
<property name="maxStatements">0</property>
<property name="testConnectionOnCheckout">false</property>
<property name="testConnectionOnCheckin">true</property>
<property name="maxStatementsPerConnection">0</property>


</default-config>
<named-config name="myApp">
<property name="user">root</property>
<property name="password">java</property>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">
jdbc:mysql://localhost:3306/jdbc
</property>
<property name="initialPoolSize">10</property>
<property name="maxIdleTime">30</property>
<property name="maxPoolSize">100</property>
<property name="minPoolSize">10</property>
</named-config>
/code>
0x02
<code></c3p0-config>
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>
<session-factory>
<property name="connection.provider_class">org.hibernate.connection.ProxoolConnectionProvider</property>
<property name="show_sql">false</property>
<property name="proxool.pool_alias">proxoolPool</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="proxool.xml">proxoolconf.xml</property>
<property name="hibernate.proxool.existing_pool">false</property>
<mapping resource="com/clsoftware/model/FilterWords.hbm.xml" />

</session-factory>
</hibernate-configuration>
ipaddr=211.136.163.68
port=80
#sp的服务代码
VASPID=875702
VASID=10657304666801
#sp的业务代码
ServiceCode=100
#计费类型
MMFeeType=01
#彩信layout
routWidth=200
routHeight=300
imgWidth=200
imgHeight=150
imgLeft=0
imgTopUp=0
imgTopDown=150
txtWidth=200
txtHeight=150
txtLeft=0
txtTopUp=0
txtTopDown=150
#各种路径
smilPath=/home/mas/eie/was/wasdata/upfile/smil/
clusterAddPath=/home/mas/eie/was/wasdata/upfile/tempfile/
picPath=/home/mas/eie/was/webroot/uppic/
musicPath=/home/mas/eie/was/webroot/upmusic/
textPath=/home/mas/eie/was/wasdata/upfile/mmstxt/


0x03

#数据库连接属性
jdbcUrl=jdbc:db2://112.5.125.129:5076/MASDB
driver=com.ibm.db2.jcc.DB2Driver
user=db2inst1
password=Hm1xbmS*
#上传附件的服务器名称
SERVER_IP=112.5.125.129
#上传附件的服务器IP
SERVER_PORT=2076
#文件编码
encoding=UTF-8
<?xml version="1.0" encoding="GBK"?>
<something-else-entirely>
<proxool>
<alias>proxoolPool</alias>
<driver-url>jdbc:mysql://localhost:3306/clsoftware_orderprocesssystem</driver-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<driver-properties>
<property name="user" value="root" ></property>
<property name="password" value="654321"></property>
<property name="characterEncoding" value="GBk"/>
<property name="zeroDateTimeBehavior" value="convertToNull"/>
</driver-properties>
<house-keeping-sleep-time>90000</house-keeping-sleep-time>
<maximum-new-connections>20</maximum-new-connections>
<prototype-count>5</prototype-count>
<maximum-connection-count>10</maximum-connection-count>
<minimum-connection-count>5</minimum-connection-count>
</proxool>
</something-else-entirely>
<?xml version="1.0" encoding="GB18030"?>
<!--sm短信api 配置文件样例 sms api config file example-->
<config>
<!--数据库配置 db settings-->
<database>
<eiedb>
<!--
driver url name correct-charset test-sql connection-timeout login-timeout user
password
max-connection
max-free-connection
watch-interval
-->
<driver>com.ibm.db2.jcc.DB2Driver</driver>
<!--com.microsoft.jdbc.sqlserver.SQLServerDriver-->
<!--com.mysql.jdbc.Driver-->
<!--com.ibm.db2.jcc.DB2Driver-->
<!--net.sourceforge.jtds.jdbc.Driver-->
<!--jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=db_customsms-->
<!--jdbc:mysql://127.0.0.1/DB_CustomSMS-->
<!--jdbc:db2://127.0.0.1:50110/MASDB-->
<url>jdbc:db2://112.5.125.129:5076/MASDB</url>
<correct-charset>UTF-8</correct-charset>
<!--select 1 from sysibm.sysdummy1-->
<!--select 1 from sysibm.sysdummy1-->
<test-sql> select 1 from sysibm.sysdummy1</test-sql>
<!--为负数的时候不检查状态,不检查超时,为正数检查状态,检查超时,以秒为单位-->
<login-timeout>360</login-timeout>
<connection-timeout>120</connection-timeout>
<max-connection>20</max-connection>
<max-free-connection>20</max-free-connection>
<!--db2inst1-->
<user>db2inst1</user>
<password>Hm1xbmS*</password>
<!--为负数的时候不检查状态,不检查超时,为正数检查状态,检查超时,以秒为单位
db connect status check interval.
-->

<watch-interval>10</watch-interval>
<!--在数据库连接断掉的时候,是否锁定请求数据连接的线程,
true:锁定,false:不锁定,默认false,建议不要修改。
do not modify this setting.
-->
<lockGetConnectionThread>false</lockGetConnectionThread>
<!--决定是哪个版本的api,可以配置mas.db2,mas.mssql,eie.mssql,mas.db262-->
<version>mas.db2</version>
</eiedb>
</database>
<!--
短信缺省属性配置,参见SMSendBean的结构体描述。
sms submit default settings,you can also see SMSendBean construction descriptions.
you can modify it when you need.
-->
<smDefaultProperties>
<DestAddrType>0</DestAddrType>
<FeeCode>0</FeeCode>
<FeeType>02</FeeType>
<MessageID>0</MessageID>
<MsgID></MsgID>
<NeedStateReport>0</NeedStateReport>
<OrgAddr>1860</OrgAddr>
<ServiceId>MFJ0110101</ServiceId>
<SmType>0</SmType>
<TryTimes>0</TryTimes>
<smscotentLength>300</smscotentLength>
</smDefaultProperties>
<!--日志配置-->
<logSetting>
<!--开发包日志级别,默认为WARN(不配置的时候,或者配置错误的时候),
可以配置为DEBUG、INFO、WARN、ERROR、FATAL.
sms api log level.
-->
<logLevel>debug</logLevel>
<!--开发包日志的位置,如果为consle,将意味着输出到屏幕上,
为其他,则是日志文件路径,日志将以每日备份的形式保存。
不设置,默认采用应用程序的设置。
sms api log file location,'consle' means print to consle.
-->
<logFile>log/logFile.log</logFile>
</logSetting>
<!--相关sql语句配置,暂时无须配置-->
<sqls>
</sqls>
</config>

修复方案:

虽未作出演示,但从代码以及黑盒角度去设想,危害多大你懂的。
希望尽快修复。

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:11

确认时间:2014-08-28 09:22

厂商回复:

CNVD确认所述情况,但未直接确认网站管理方,已经转由CNCERT尝试通报给中国移动集团公司,由其后排查确认并处置。

最新状态:

暂无