手工注入——access手工注入实战和分析
今天进行了access手工注入,下面是我的实战过程和总结。
实战环境使用的是墨者学院的在线靶场。下面咱们直接进入主题。
第一步,判断注入点
通过‘ 或者 and 1=1 和 and 1=2 是否报错,如下图。

接下来咱们输入 and 1=2 发现报错了,说明存在注入点。如下图。

第二步,猜数据库表名
在access数据库中,打开里面直接就是表,所以我们只能猜表名,通过这条语句 and exists (select * from 表名)常见的一些表名为 admins users administrator,admin,admins,admin_user,admin_usr,admin_msg,admin_login,user,username,manager,msg_user,msg_login,useradmin等。通过猜测,我们查到 存在admin这个表,这里用到的原理是,如果存在正常显示,不存在就报错,如下图。

第三步,猜测表里有几个字段
通过order by 语句,小于输出的数字正常显示,大于输出的数字报错。我们猜出为四个字段。如下图。

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。分割线。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

第四步,猜测字段
通过这条语句 and exists (select 字段 from admin)常见的字段有 username password pass passwd user_name 等
如果对方的数据库字段较多,咱们又猜不出来,并且有回显位置,可以尝试偏移注入。这里通过直接猜测就猜出来了,如下图。

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。分割线。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

根据图片的内容我们,我们猜测出的两个字段为,username ,passwd ,根据字段名字我们就知道里面存放的为账号和密码。
第五步,联合查询爆出账号和密码
通过这条语句 union select 1,2,3,4 from admin 我们知道了,2,3,这两个位置回显到页面上,这就是我们需要的。如下图。

接下来,我们把之前查找出来的 字段 替换到2,3 两个位置,语句为 union select 1,username,passwd,4 from admin 结果为下图,爆出了账号密码。

access 手工注入总结
1、 先判断有没有注入点
2、 参数后面加 and exists(select*from admin) 猜表名 返回正常页面表示存在(admin)
3、 参数后面加 and exists(select username from admin)猜(admin)表中是否存在列名(username) 返回正常页面表示存在
4、 参数后面加 and exists(select passwd from admin)猜(admin)表中是否存在列名(passwd) 返回正常页面表示存在
5、 判断字段数 参数后面加 order by 4 (判断字段数为4)
6、 判断回显 参数后面加 union select 1,2,3,4 from admin
7、 爆出列名的信息 参数后面加 union select 1,username,passwd,4 from admin
8、获取到账号密码,手工注入结束。
手工注入——access手工注入实战和分析的更多相关文章
- ACCESS 手工注入
ACCESS的注入,基本是死的.思路很简单,基本都可以工具解决.上代码: 1.判断有无注入点' and 1=1 and 1=22.猜表一般的表的名称无非是admin adminuser user pa ...
- 最新SQL手工注入语句&SQL注入大全
看看下面的1.判断是否有注入;and 1=1;and 1=2 2.初步判断是否是mssql;and user>0 3.判断数据库系统;and (select count(*) from syso ...
- sql注入【手工及一些工具】
Sql注入原理分析: 网站程序存在可控传递参数,参数未进行过滤直接带入数据库查询,导致攻击者可通过传递恶意sql语句代码进行执行攻击. Sql注入产生条件 1.必须有参数传递 2.参数值带入数据库查询 ...
- 基础Web漏洞-SQL注入入门(手工注入篇)
一.什么是SQL注入 SQL是操作数据库数据的结构化查询语言,网页的应用数据和后台数据库中的数据进行交互时会采用SQL.而SQL注入是将Web页面的原URL.表单域或数据包输入的参数,修改拼接成SQ ...
- access偏移注入原理
前言:近段时间在学习access偏移注入时,在网上查询了大量的资料,感觉很多资料讲解的十分模糊并且我个人认为有很多不够严谨的地方,于是我便在线下经过大量测试,写出以下文章,如有错误,望指出. 如要转载 ...
- Web渗透测试(sql注入 access,mssql,mysql,oracle,)
Access数据库注入: access数据库由微软发布的关系型数据库(小型的),安全性差. access数据库后缀名位*.mdb, asp中连接字符串应用-- "Driver={micros ...
- sql注入--access
access数据库结构: 表名 --> 列名 --> 数据 access注入攻击片段 联合查询法: (1) 判断注入点: ?id=1 and 1=1 ; ?id=1 and 1 ...
- 渗透测试----access偏移注入
偏移注入指access偏移注入,由于数据库结构的问题,偏移注入只适用于access数据库.对于access数据库来说,无论是逐字猜解还是联合查询注入,都是需要我们能够猜到用户名和密码的列名(字段),才 ...
- Natas Wargame Level25 Writeup(头部注入+POST/GET注入)
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAArsAAAC8CAYAAAB4+WYTAAAABHNCSVQICAgIfAhkiAAAIABJREFUeF
随机推荐
- 【渗透】node.js经典问题
1.循环问题 当循环调用 require() 时,一个模块可能在未完成执行时被返回.例如以下情况:a.js: exports.done = false; const b = require('./b. ...
- 使用GitHub(二):配置并使用Git创建版本库
使用GitHub(二):配置并使用Git创建版本库 本文简单介绍使用GitHub对代码进行版本控制,包括添加SSHkey.配置Git.使用Git创建版本库并在GitHub上进行管理,主要目的是对学习内 ...
- React解决长列表方案(react-virtualized)
github地址 高效渲染大型列表的响应式组件 使用窗口特性,即在一个滚动的范围内,呈现你给定数据的一小部分,大量缩减了呈现组件所需的时间,以及创建DOM节点的数量. 缺点:滑动过快,可能会出现空白的 ...
- PAT-字符串处理-B1006 换个格式输出整数 (15分)
题目描述: 让我们用字母 B 来表示“百”.字母 S 表示“十”,用 12...n 来表示不为零的个位数字 n(<10),换个格式来输出任一个不超过 3 位的正整数.例如 234 应该被输出为 ...
- 第三章、vue基础精讲
3.1VUE实例 组件:全局组件,局部组件,vue的每个组件也是一个实例,有自己的实例属性和实例方法. 在console中调试vue,vm为vue的实例,凡是以$开头的都是vue的实例属性或者vue的 ...
- SpringBoot2 整合ElasticJob框架,定制化管理流程
本文源码:GitHub·点这里 || GitEE·点这里 一.ElasticJob简介 1.定时任务 在前面的文章中,说过QuartJob这个定时任务,被广泛应用的定时任务标准.但Quartz核心点在 ...
- python.五角星
import turtle turtle.pensize(4)turtle.pencolor("black") turtle.fillcolor("red")t ...
- flask 对于用户登录保持状态 flask_login
先加载flask_login ext.py 在app下的__init__.py 进行引用把,我就不写了 login_manager = LoginManager() # 如果没有登录则重定向到该蓝图 ...
- 判断括号是否有效(c++描述)
开门见山,假设我们有一大串的由'{', '}', '[', ']', '(', ')' 这些括号构成比如像这样的"{[}][()"符号串,我们肉眼当然能看出它是非法的,那么如何使用 ...
- kafka启动报错"A broker is already registered on the path /brokers/ids/1"解决方案
问题 kafka挂掉后,启动报错日志如下 [2020-03-19 17:50:58,123] FATAL Fatal error during KafkaServerStartable startup ...