asp

位置:IT落伍者 >> asp >> 浏览文章

处理ASP数据库被挂马的编程方法


发布日期:2024年07月06日
 
处理ASP数据库被挂马的编程方法

数据库被挂马我相信很多人都碰到过在这里我讲下我处理的方法

第一步为现有数据库做好备份

第二步执行如下ASP文件这样就可以去掉数据库当中的JS木马

connasp自己去写了

这里放入JS木马内容请记得改为自己数据库中的JS木马内容

!#include file=connasp

%

ServerScriptTimeOut=Set rstSchema = connOpenSchema()

k=

Do Until rstSchemaEOF遍历数据库表

If rstSchema(TABLE_TYPE)=TABLE Then

responsewrite Kfont color=redbrstSchema(TABLE_NAME) /b/font:显示表名Set rs=ServerCreateObject(ADODBRecordset)

sql=select * from [ rstSchema(TABLE_NAME)]

rsopen sqlconnFor i=to unt遍历表中字段If int(rs(i)Type)=or int(rs(i)Type)=or int(rs(i)Type)=or int(rs(i)Type)=or int(rs(i)Type)=or int(rs(i)Type)=Then只处理字段类型为字符型的字段

connexecute(update [rstSchema(TABLE_NAME)] set rs(i)name =replace(cast(rs(i)name as varchar())这里放入JS木马内容)) responsewrite rs(i)name rs(i)Type显示执行过的字段名

End If

Next

responsewrite br

End If

rstSchemaMoveNext

k=k+

Loop

responseWrite 执行成功

%

如果数据库表很多的话上面的遍历数据库结构未执行完就被IIS给停止了在这时候可以在

If rstSchema(TABLE_TYPE)=TABLE Then

当中适当加入k值的范围

If rstSchema(TABLE_TYPE)=TABLE kand kThen

这样的话就一次只操作个表

第三步

根据数据库JS注入的特性(会包括script/script和里面放入如下代码

Function Cheack_Sqljs()防止数据库外链JS注入:true为发现外链JS注入

Dim F_PostF_Get

Cheack_Sqljs=False

If RequestForm Then表单提交时的检测For Each F_Post In RequestForm If (Instr(LCase(RequestForm(F_Post))script)or Instr(LCase(RequestForm(F_Post))/script)) and Instr(LCase(RequestForm(F_Post))//)Then

Cheack_Sqljs=True

Exit For

End If

Next

End If

If RequestQueryString ThenQueryString提交时的检测For Each F_Get In RequestQueryString If (Instr(LCase(RequestForm(F_Get))script)orInstr(LCase(RequestForm(F_Get))/script)) and Instr(LCase(RequestForm(F_Get))//)Then

Cheack_Sqljs=True

Exit For

End If

Next

End If

End Function

Function CheckDataFrom()检查提交数据来源True为数据从站外提交过来的

CheckDataFrom=True

server_v=Cstr(RequestServerVariables(HTTP_REFERER)) server_v=Cstr(RequestServerVariables(SERVER_NAME)) if mid(server_vlen(server_v))server_vthen

CheckDataFrom=False

end if

End Function

If Cheack_Sqljs or CheckDataFrom Then

ResponseWrite Script Language=JavaScriptalert(禁止执行非法操作);/Script ResponseEnd()

End If


上一篇:ASP+上传文件语法

下一篇:没有了