设为首页] [加入收藏]
Time:2015-04-11 09:58

1.85传世sf发布网

能不能根据具体情况进行分析,构造巧妙的SQL语句,从而成功获取想要的数据,是高手与“菜鸟”的根本区别

随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入

SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没什么区别,所以目前市面的防火墙都不会对SQL注入发出警报,如果管理员没查看IIS日志的习惯,可能被入侵很长时间都不会发觉

但是,SQL注入的手法相当灵活,在注入的时候会碰到很多意外的情况

根据国情,国内的网站用ASP+Access或SQLServer的占70%以上,PHP+MySQ占L20%,其他的不足10%在本文,我们从分入门、进阶至高级讲解一下ASP注入的方法及技巧,PHP注入的文章由NB联盟的另一位朋友zwell撰写,希望对安全工作者和程序员都有用处了解 ASP注入的朋友也请不要跳过入门篇,因为部分人对注入的基本判断方法还存在误区大家准备好了吗?Let

显示友好错误信息前面的勾去掉否则,不论服务器返回什么错误,IE都只显示为HTTP 500服务器错误,不能获得更多的提示信息

(注:本文发表前已征得该站站长同意,大部分都是真实数据)

在网站首页上,有名为“IE不能打开新窗口的多种解决方法”的链接,地址为

从上面的例子我们可以知道,SQL注入的原理,就是从客户端提交特殊的代码,从而收集程序及服务器的信息,从而获取你想到得到的资料

首先,不一定每台服务器的IIS都返回具体错误提示给客户端,如果程序中加了cint(参数)之类语句的话,SQL注入是不会成功的,但服务器同样会报错,具体提示信息为处理时服务器上出错请和系统管理员联络

其次,部分对SQL注入有一点了解的程序员,认为只要把单引号过滤掉就安全了,这种情况不为少数,如果你用单引号测试,是测不到注入点的

提示BOF或EOF(程序没做任何判断时)、或提示找不到记录()、或显示内容为空(程序加了onresume next)

当然,这只是传入参数是数字型的时候用的判断方法,实际应用的时候会有字符型和搜索型参数,我将在中级篇的“SQL注入一般步骤”再做分析

不同的数据库的函数、注入方法都是有差异的,所以在注入之前,我们还要判断一下数据库的类型一般ASP最常搭配的数据库是Access和SQLServer,网上超过99%的网站都是其中之一

SQLServer有一些系统变量,如果服务器IIS提示没关闭,并且SQLServer返回错误提示的话,那可以直接从出错信息获取,方法如下:

这句语句很简单,但却包含了SQLServer特有注入方法的精髓,我自己也是在一次无意的测试中发现这种效率极高的猜解方法让我看来看看它的含义:首先,前面的语句是正常的,重点在and user0,user是SQLServer的一个内置变量,它的值是当前连接的用户名,类型为nvarchar拿一个 nvarchar的值跟int的数0比较,系统会先试图将nvarchar的值转成int型,转的过程中肯定会出错,SQLServer的出错提示是:将nvarchar值转换数据类型为的列时发生语法错误,abc正是变量user的值,不废吹灰之力就拿到了数据库的用户名在以后的篇幅里,大家会看到很多用这种方法的语句

顺便说几句,SQLServer的用户sa是个等同Adminstrators权限的角色,拿到了sa权限,几乎肯定可以拿到主机的 Administrator了上面的方法可以很方便的测试出是否是用sa登录,要注意的是:如果是sa登录,提示是将”dbo”转换成int的列发生错误,而不是”sa”

如果服务器IIS不允许返回错误提示,那怎么判断数据库类型呢?我们可以从Access和SQLServer和区别入手,Access和 SQLServer都有自己的系统表,比如存放数据库中所有对象的表,Access是在系统表中,但在Web环境下读该表会提示“没有权限”,SQLServer是在表中,在Web环境下可正常读取

如果数据库是SQLServer,那么第一个网址的页面与原页面

49是大致相同的;而第二个网址,由于找不到表msysobjects,就算程序有容错处理,页面也与原页面完全不同

如果数据库用的是Access,那么情况就有所不同,第一个网址的页面与原页面完全不同;第二个网址,则视乎数据库设置是否允许读该系统表,一般来说是不允许的,所以与原网址也是完全不同大多数情况下,用第一个网址就可以得知系统所用的数据库类型,第二个网址只作为开启IIS错误提示时的验证

在入门篇,我们学会了SQL注入的判断方法,但真正要拿到网站的保密内容,是远远不够的接下来,我们就继续学习如何从数据库中获取想要获得的内容,我们先看看SQL注入的一般步骤:

比特软件信息化周刊提供以数据库、操作系统和管理软件为重点的全面软件信息化产业热点、应用方案推荐、实用技巧分享等以最新的软件资讯,最新的软件技巧,最新的软件与服务业内动态来为IT用户找到软捷径

比特商务周刊是一个及行业资讯、企业导购等为一体的综合性周刊其中,与中国计量科学研究院合力打造的比特实验室可以为商业用户提供最权威的采购指南是企业用户不可缺少的智选周刊!

比特网络周刊向企业网管员以及网络技术和产品使用者提供关于网络产业动态、组网、网络管理、网络运维等最新技术和实用技巧,帮助网管答疑解惑,成为网管好帮手

比特服务器周刊作为比特网的重点频道之一,主要关注x86服务器,RISC架构服务器以及高性能计算机行业的产品及发展动态通过最独到的编辑观点和业界动态分析,让您第一时间了解服务器行业的趋势

比特存储周刊长期以来,为读者提供企业存储领域高质量的原创内容,及时、技术、方案以及案例文章,力求成为业界领先的存储媒体比特存储周刊始终致力于用户的企业信息化建设、数据保护与容灾构建以及数据管理部署等方面服务

比特安全周刊通过专业的信息安全内容建设,为企业级用户打造最具商业价值的信息沟通平台,并为安全厂商提供多层面、多维度的媒体宣传手段与其他同类网站信息安全内容相比,比特安全周刊运作模式更加独立,对信息安全界的动态新闻更新更快

新闻中心以独特视角精选一周内最具影响力的行业重大事件或圈内精彩故事,为企业级用户打造重点突出,商业价值高的信息共享平台;同时为互联网、IT业界及通信厂商提供一条精准快捷,覆盖面广的媒体传播途径

比特云计算周刊关注云计算产业热点技术应用与趋势发展,全方位报道云计算领域最新动态为用户与企业架设起沟通交流平台包括IaaS、SaaS各种不同的服务类型以及相关的安全与管理内容介绍

比特CIO俱乐部周刊以大量高端CIO沙龙或专题研讨会以及对明星CIO的深入采访为依托,汇聚中国500强CIO的集体智慧旨为中国杰出的CIO提供一个良好的互融互通 、促进交流的平台,并持续提供丰富的资讯和服务,探讨信息化建设,推动中国信息化发展引领CIO未来职业发展

IT专家新闻邮件长期以来,以定向、整合的商业模式,为企业IT专业人士以及IT系统采购决策者提供高质量的原创内容,包括IT新闻、专家答疑、技巧和白皮书此外,IT专家网还为读者提供包括咨询、线下会议、读者沙龙等多种服务

X周刊是一份IT人的技术娱乐周刊,给用户实时传递I最新T资讯、技术技巧、畅销书籍,同时用户还能参与我们推荐的互动游戏,给广大的IT技术人士忙碌工作之余带来轻松休闲一刻