偏移注入之移位溢注

当前文章只适用于教学和合法测试,用于非法活动,一切法律责任由个人负责

Access数据库是一个只有表名没有库名的特殊数据库,所以我们在渗透测试过程中,再通过了获取了表名不知道字段名的情况下怎么去进行注入了

这里我们首先来讲一下一个简单的查询语句

select * from admin

这个语句*是代表什么呢,代表当前查询表的所有字段,而在数据中字段又可以通过“表名.字段名”的方式来写,所以我们这个语句又可以写成 select admin.* from admin.

那这个又和我们的偏移注入有什么关系呢,下面我们进入我们的第一回合

因为我们在Access注入通常发生在 cooki中,所以我们还是以靶场实例来对大家一一演示。

首先我们进入一个靶场。

我们先来寻找我们这个靶场cookie中是否存在注入点

我们打开开发者工具,F12或者鼠标右键点击检查,然后找到application或者应用程序。

找到存储中的cookie

 然后点击cookie列表,点击空白处新增一个id,旁边列填上我们url中末尾数字105

然后删除url?后面的参数,点击回车

 发现页面正常返回,这里我们还需要进行将cookie的id-1再试试。 

 页面还是正常返回,说明此处存在注入漏洞

我们通过order by 1一直到它页面报错为止。

我们试到order by 27页面显示找不到此产品

我们再试order by 26,这里我们用到了js的一个编码,来对cookie 进行一个赋值,在控制台或者console中输入如下代码,其中escape是js的一个url编码函数。

document.cookie = "ID=" + escapse("105 order by 26")

 

 这里页面返回正常,说明当前表名字段数是26.

然后我们再来看这个靶场存在uesr表不,这里我们一般是先猜常用表名。

document .cookie="ID=" + escapse("105 and exists(select * from user)")

这个提示找不到产品,这里我们在尝试下admin表

这里页面正常。说明存在admin表

这里我们然后找显注点,我们已经知道当前字段数是26

那我们就先输入 document.cookie = "ID=" + escape("105 and 1=2 select 1,2....26 from admin") 

此时我们找到了三个注入点,为了找出所有的显注点,我们打开检查查看页面源代码。

发现这个图片有个src=25,这个是不是我们的显煮点呢,我们将代码改成

document.cookie ="ID=" +escape("select 1,2,33333 ,44444,555555,66666,777777,....25252525252525,26666666")

 发现我们的页面也发生了变化,这时我们在查看下刚刚那个图片

 

此时就变成了我们所改动的值,这个说明我们刚刚的想法是正确的。

然后我们第一个通过移动admin.*的位置,来查看我们这个靶场的flag,因为我们知道总共有四个显著点,我们可以先从后面移动admin.*的位置

documen.cookie=
“ID=” +escape("105 and 1=2 union select 1,2,3,4,5,6,7,8,9,10,admin.*")

此时我们没看出什么问题,然后我们再移动一个位置

document.cookie ="ID=" + escape("105 and 1=2 union select 1,2,3,4,5,6,7,8,9,admin.*,10 from admin")

 这里我们就找到了我们的flag了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

qq_36232967

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

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

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

打赏作者

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

抵扣说明:

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

余额充值