講解SQL Server數據庫被挂馬的解決方案

  案例:一個網站遭遇入侵,破壞相當嚴重,SQL數據庫被挂馬,所有的表裏面大部分字段都被多次重複插入挂馬代碼,查看日志,還好沒有涉及到服務器的安全,只是數據庫那裏出現了很多異常警告而已,網站確實存在漏洞
  沒有辦法,我只得修複數據庫,因爲他們沒有數據庫備份,根本就沒有辦法還原數據庫啊,何況連事務日志都沒有開啓,試著恢複了幾次都不成功,恢複數據庫沒有一點希望,我只得乖乖的幫他們清理挂馬代碼,不可能手工刪除挂馬代碼,畢竟數據太大了,不可能去直接修改,通過四處搜尋得到了一個勉強有效的解決辦法,每個表裏面去執行一下這個sql語句:
  update tablename set @ziduanming =replace(cast(@ziduanming as varchar(8000)),'',null)
  上面的sql語句可以對應修改表,字段名,和替換內容。
  其實,sql數據庫挂馬是一種較新的挂馬方法,只要網站存在注入,並且連接數據庫是db owner權限就可以進行數據庫挂馬,估計這次攻擊的流程應該是自動化的,通過先進的掃描技術批量收集到幾萬網站的SQL注入漏洞,針對漏洞攻擊,進行自動化的SQL注入挂馬。這次應該有很多網站遭殃了,asp+mssql的是主要被攻擊對象!
  SQL Server數據庫挂馬的解決辦法:
  正確清理木馬,注意數據庫不能隨便修改或刪除,被挂上馬後,更需要謹慎的操作。建議,先備份然後再小心清理。
  如果以前沒有備份的話,就利用我上面的sql命令進行修複,
  如何預防SQL數據庫挂馬:
  1、清理網站上所有注入點。
  2、爲網站配置可靠的防注入程序。
  3、最好在網站源碼中做好過濾,在數據庫中限制字符的類型和長度。
  4、養成經常備份數據庫的習慣。大家可能無法保證天天備份數據庫,但也會保證每周備份一次,如果有時間保證天天備份數據庫。
  5、最好是請專業的網站安全公司,對您的站和服務器做徹底的安全評估。