解決SQL Server數據庫被掛馬的方法_Mssql數據庫教程
推薦:解析SQL Server 2008升級報表服務器數據庫報表服務器數據庫可以為一個或多個報表服務器實例提供內部存儲。因為報表服務器數據庫架構可能會因為推出新的 Reporting Services 版本而有所變化,所以要求數據庫版本與使用的報表服
案例:一個網站遭遇入侵,破壞相當嚴重,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、最好是請專業的網站安全公司,對您的站和服務器做徹底的安全評估
分享:Mssql數據庫教程之--SQL Server 2008:傳遞表值參數許多人一直希望能夠實現把表格變量傳遞到存儲過程中,如果變量可以被聲明,那么它就應該能夠被傳遞。而最新的SQL Server 2008則有這項功能!想知道如何才能把表格變量(包括內含的數據)
- sql 語句練習與答案
- 深入C++ string.find()函數的用法總結
- SQL Server中刪除重復數據的幾個方法
- sql刪除重復數據的詳細方法
- SQL SERVER 2000安裝教程圖文詳解
- 使用sql server management studio 2008 無法查看數據庫,提示 無法為該請求檢索數據 錯誤916解決方法
- SQLServer日志清空語句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸載方法(其他版本類似)
- sql server 2008 不允許保存更改,您所做的更改要求刪除并重新創建以下表
- SQL Server 2008 清空刪除日志文件(瞬間日志變幾M)
- Win7系統安裝MySQL5.5.21圖解教程
- 將DataTable作為存儲過程參數的用法實例詳解
- 相關鏈接:
- 教程說明:
Mssql數據庫教程-解決SQL Server數據庫被掛馬的方法。