asp

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

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


发布日期:2020年02月25日
 
处理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 sqlconn For 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 k and k Then

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

第三步

根据数据库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_v then

CheckDataFrom=False

end if

End Function

If Cheack_Sqljs or CheckDataFrom Then

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

End If

               

上一篇:如何安装/卸载WindowsVistaSP1

下一篇:WindowsVistaSP1不可不知细节