我有一位客户要求我尝试分析一个网站的漏洞。
发生的事情是,每个周末左右,数据库中一张表的一条logging的字段每次都变成同一个东西。 从Jewelry到Jewelery <a href="http://[**REMOVED-FOR-SF**]/viewPress?press_id=407">[**REMOVED-FOR-SF**]</a><a href="http://[**REMOVED-FOR-SF**]/[**REMOVED-FOR-SF**].html">[**REMOVED-FOR-SF**]</a> 。 事实上,它始终是相同的logging,使我认为这是一种自动脚本,但如果是这样,我找不到它。
以下已经完成:
下一步是什么?
攻击者很可能不需要知道密码来执行更改 – 我将如何解决这个问题:
find您的CMS的查询函数包装器,并更新它以logging到文件和/或发送电子邮件,只要查询string上的正则expression式匹配您的垃圾邮件string – 包括任何和所有相关的服务器和CMSvariables,这可能有助于识别问题的来源。
请注意,您可以在PHP 4.3+上调用debug_backtrace()来隔离包含文件(如果这可能是恶意插件的工作)。
可能是一个剩余的注入攻击 – 你可以设置一个数据库触发器让你知道什么时候logging再次改变? 然后将其与您的networking服务器日志相关联 – 应该立即导致罪魁祸首。
还要确保你logging尽可能多的东西(引荐者等)
你有没有看过SQL服务器? 也许有一个脚本在那里运行,或者有一些程序被设置为进行更新,这是为了合法的原因(甚至只是为了testing的目的)而被遗忘,但仍然被触发。 可能有一些硬编码的值,如错字。
你在CMS中安装了一个链接生成器吗? 一些网站会自动链接以生成反向链接到博客文章。 这看起来像是同样的事情。 检查你的CMS的扩展,看看里面是否有东西。
网站的负载有多重? 也许一个数据包捕获可能是一个select,告诉你任何事情和从外部世界来的一切,当这个变化。 这至less会让你知道服务器内部的东西是否正在改变事物,或者你的漏洞在哪里。
您可以设置modsecurity,并添加一条规则,以便在发现拼写错误的版本时loggingPOST数据。 如果是某人编辑它,或SQL注入它应该被logging。