扫描数据库中的恶意数据

时间:2011-01-03 作者:hakre

在一个朋友的网站被黑客攻击后,我告诉他,他应该清理混乱,从头开始,这样他就知道没有文件被篡改。

我可以用grep an so之类的工具扫描网站(首先:Grep and Friends) 但我想知道的是,如何扫描数据库?如果某个黑客在数据库中放置了有效负载怎么办。可以是一些简单的东西,比如XSS,甚至PHP代码,以防内核中仍在进行一些评估(或者在黑客攻击时)。

有什么建议吗?我考虑过使用类似比较函数的SQL查询,或者甚至可以使用一些正则表达式。但也许有人已经这样做了,或者想这样做,并且有一些想法可以分享。

2 个回复
最合适的回答,由SO网友:markratledge 整理而成

我已经读到,将数据库作为文本转储并在其中搜索是一个很好的方法。您可以使用phpmyadmin进行搜索,但它是有限的。取决于数据库的大小和良好的文本编辑器,但您可以在转储数据库之前删除帖子/页面修订以减小其大小。或者一次转储几个表。

SO网友:Tony

我的网站都感染了一个Decode\\u Base64脚本,该脚本感染了许多php文件,尽管清理了一个网站花费了数小时,但仅数小时后它就再次感染了。

我最终使用安全的ftp连接下载了wp content/uploads文件夹和任何其他手动更新的文件。

我还记录了主题、插件和其他需要重新应用的自定义项的笔记/备份。

然后,我更改了所有帐户/ftp密码,使用phpMyAdmin手动更改了数据库/用户密码,以在站点恢复时拒绝访问。

接下来,我删除了所有网站上的所有Wordpress代码,并上传了一个简单的索引。html文件,表示网站正在维护中。

我检查了WP content/uploads文件夹中是否有任何不是图像或我自己内容的内容,尤其是寻找脚本(不应该存在)。

接下来,下载最新版本的WP,使用新密码为现有数据库配置它,然后上载到服务器。

访问该站点,此时只有Akismet处于活动状态。检查并删除不应该存在的任何内容(页面、帖子、链接等)。

安装备份插件以确保您有数据库/文件夹的备份。

安装可创建锁定的防弹安全插件(或类似插件)。htaccess文件,并告诉您如何保护文件/文件夹。遵守it的建议。

最后,再次逐步应用自定义设置。

如果有多个域,请根据需要重复此操作。

在我的情况下,我实际上计划移动到一个新主机,因此在完成此操作后,我会逐个站点保存所有内容,并在新主机上重新创建它们,一旦我确定重建的旧版本是干净的。

祝你好运,我希望这会有所帮助。

结束

相关推荐

插件卸载:为什么在$wpdb->查询($DROP_SQL)之后运行DBDelta

我正在读专业的wordpress。他们卸载插件的代码是//build our query to delete our custom table $sql = \"DROP TABLE \" . $table_name . \";\"; //execute the query deleting the table $wpdb->query($sql); require_once(ABSPATH .’wp-admin/includes/upgrade.php’)