WEB开发网
开发学院数据库MSSQL Server 有孔就入 SQL Injection的深入探讨 阅读

有孔就入 SQL Injection的深入探讨

 2007-05-19 09:43:25 来源:WEB开发网   
核心提示:SQL Injection这个话题越来越热了,很多的论坛和hack站点都或多或少地在谈论这个问题,有孔就入 SQL Injection的深入探讨,当然也有很多革命前辈写了N多的关于这方面的文章,所利用的也是许多知名的程序,我们就可以对此进行SQL渗透了,按照常规的步骤:1、提交http:///showspecial.a

SQL Injection这个话题越来越热了,很多的论坛和hack站点都或多或少地在谈论这个问题,当然也有很多革命前辈写了N多的关于这方面的文章,所利用的也是许多知名的程序,比如动网,尘缘雅境,而我们也可以拿到免费的程序来看其中的漏洞和数据库的结构,从中来达到注入的目的,不过如果是别人自己写的程序,那么我们就不知道他的源代码,更不知道他的数据库结构(数据表名和其中的字段名),就算有个变量未过滤提交到数据库去,我们也是无从对其下手的,只能利用通过猜解他的数据库结构来构造相应的SQL语句,那么是不是就到此为止,能猜到多少是多少呢?没有做不到的,只有想不到的,我相信这篇文章对研究SQL Injection朋友来说,应该会有所启发。

一、发现漏洞,常规注入

最近帮我们的站增加音乐,虽然本地的电信的音乐资源库非常丰富,但是缺少有关歌手和专辑的资料,所以到网上去闲逛找点有用的图片和歌手简介,通过百度搜索到了一个mp3的音乐超市,里面的资料还是比较丰富的,拷贝的同时顺手在他的Specialid=1817后面加了一个(单引号),我突然眼前一亮:

Microsoft OLE DB Provider for SQL Server 错误 80040e14
字符串 之前有未闭合的引号。
/showspecial.asp,行13

Specialid没有过滤掉单引号就直接用到SQL语句中去了,而且是SQL SERVER版本的,漏洞的可利用性极大,可不能就此放过这么好的练兵机会,接着换;(分号)提交进去,居然页面正常出来了,说明该变量也没有过滤掉;号,到这里,我们就可以对此进行SQL渗透了,按照常规的步骤:

1、提交http://********/showspecial.asp?Specialid=1817;use master;--

注:--的作用是注释掉程序中后面的SQL语句,以防对我们构造的语句有影响,比如order by..出现

1 2 3 4 5  下一页

Tags:SQL Injection 深入

编辑录入:coldstar [复制链接] [打 印]
赞助商链接