我的客戶端數據庫被黑了。我正在嘗試重建數據。該網站使用SQL Server數據庫運行傳統的ASP。我相信我已經找到了黑客的弱點,並且現在已經取消了這個入口點。被黑客入侵的SQL Server數據庫需要正則表達式
數據庫中的每個文本列都附加了一些html標記和行內腳本/ js標記。
這裏是一個字段的一個示例:
all</title><script>
document.write("<style>.aq21{position:absolute;clip:rect(436px,auto,auto,436px);}</style>");
</script>
<div class=aq21>
<a href=http://samedaypaydayloansonlineelqmt.com >same day payday loans online</a>
<a href=http://samedaypaydayloan
該實施例爲在Users
表中UserRights
柱。初始值爲all
,但您可以看到附加的鏈接。
我需要編寫一個正則表達式腳本,它將搜索數據庫中每個表的每列中的所有字段,並刪除此額外標記。
從本質上講,如果我嘗試匹配</table>
,那麼字符串和追加的一切可以用一個空字符串代替。
所有這些附加字符串對於同一列中的每個字段都是相同的。但是,每個表中有多個列。
這是我迄今已做,更換被黑客入侵的一部分,而是一個漂亮的正則表達式可能會幫助我,雖然我的正則表達式的技能....好吸。
UPDATE [databasename.[db].[databasetable]
set
UserRights = replace(UserRights,'</title><script>document.write("<style>.aq21{position:absolute;clip:rect(436px,auto,auto,436px);}</style>");</script><div class=aq21><a href=http://samedaypaydayloansonlineelqmt.com >same day payday loans online</a><a href=http://samedaypaydayloan','');
任何正則表達式的幫助和/或提示將不勝感激。
你確定,你不是試圖通過使用正則表達式來破解? ;-)正則表達式的第一印象是從未知/不可預知的....提取的東西....所以無論如何,你要刪除一些不好的東西,雖然... – bonCodigo
大聲笑,不,我不想破解它。這是第二次屁股疼痛。首先我使用上面的SQL來修復它,但是這一次,我注意到所有添加的垃圾郵件都是隨機的。 – symfo
如果你有**備份** :)這次在入侵者攻擊後有備份的計劃嗎? :D – bonCodigo