MySQL 数据库在注入攻击后包含恶意 SCRIPT 标签?
Posted
技术标签:
【中文标题】MySQL 数据库在注入攻击后包含恶意 SCRIPT 标签?【英文标题】:MySQL database contains malicious SCRIPT tag after injection attack? 【发布时间】:2013-09-21 05:44:58 【问题描述】:我的网站几周前被攻击者入侵。我认为删除帐户可以解决问题,但每次成员创建新帐户时,以下代码都会出现在我的“用户”数据库中包含电子邮件信息的字段周围。请帮我解决这个问题。我的会员信息受到威胁。抱歉,由于情况严重,出于安全原因,我无法提供我的网站。
这是出现在数据库中的代码:
<script type="text/javascript">
/* <![CDATA[ */
(function()tryvar s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a)s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2)c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);s=document.createTextNode(s);l.parentNode.replaceChild(s,l);catch(e))();
/* ]]> */
</script>
提前致谢。
【问题讨论】:
唯一确定的方法是铺好你的服务器。重来。希望你有备份。 我会考虑这是一个选项,但我有一个理论,攻击者导致 SQL 执行存储例程,在该例程中它将代码注入新成员。我已经使用 XSS 过滤和 php 的 strip_tags 函数和 CodeIgniter 提高了我网站脚本的安全性。我不想在我启动网站时添加这个,但我不认为有人会在第一个 24 小时内尝试破解它。如果我可以删除 STORED ROUTINE 那么我应该没问题。如果没有,那么我会听取你的建议。谢谢格雷格。 它也可能是 TRIGGER、EVENT 或以上所有。 【参考方案1】:可能不是 mysql,但您的 PHP 代码已被修改。
我认为您可以使用 mysqldump 获取完整的数据库脚本,包括存储过程、函数、触发器等,然后手动检查一切是否正确。
【讨论】:
以上是关于MySQL 数据库在注入攻击后包含恶意 SCRIPT 标签?的主要内容,如果未能解决你的问题,请参考以下文章