zoukankan      html  css  js  c++  java
  • 联合查询注入


    前提:页面必须有显示位
    select * from A union select * from B
    两个select必须有相同列且各列的数据类型也相同
    注入步骤:
    1、找注入点切得到闭合字符
    2、判断数据库类型
    3、猜解列数,得到显示位
    4、得到基本信息(如:数据库名、数据库版本、当前数据库名等)
    5、得到数据库名
    6、得到表名
    7、得到列名
    8、得到列值

    其中最重要的是页面要有显示位,即爆出来的库信息能在页面上当作正常数据显示出来。然后爆出来的库信息要放在select后相应的位置,

    例如:正常的后台sql查询语句是 select name,class,age from student 其中 name,age 正常情况下显示在页面,那么爆出来的库信息就要放在name和age的位置。

              注入后的语句 select name, class, age from student union select version(), 1, user() ,如此,version() 和 user()将会显示在 name, age所在的页面位置。

    参考:http://www.jianshu.com/p/399881e79b1f

  • 相关阅读:
    打印机无法打印文件
    .Net com组件操作excel(不建议采用Com组件操作excel)
    Zebra
    Map遍历方式
    PageHelper原理
    MySQL8.0新特性
    算法_插入排序
    贝叶斯定理
    二叉树学习笔记
    Java校验时间段重叠
  • 原文地址:https://www.cnblogs.com/natian-ws/p/7208638.html
Copyright © 2011-2022 走看看