Apache 2.4 记录 PHP 命令 200 成功,但它在做什么?POST /?q=die('z!a'.'x'); 等等

Apache 2.4 记录 PHP 命令 200 成功,但它在做什么?POST /?q=die('z!a'.'x'); 等等

我正在运行带有 Apache 2.4.29 和 PHP 7.0.28 的 CentOS 7.x VPS,我开始在日志中看到以下内容。一段时间以来,我已经根据网上的文章尽可能地保护了 php.ini,但我想知道为什么当他们执行以下操作时,我会看到 HTTP 状态代码 200 成功,我想知道它在做什么以及如何防止它?据我所知,这die()相当于exit()。这是一个已知的较旧的缓冲区溢出漏洞吗?

但底线是,为什么它会返回成功以及它造成了什么损害?

[18/Mar/2018:09:57:21 +0000] "POST /?q=die('z!a'.'x');&w=die('z!a'.'x');&e=die('z!a'.'x');&r=die('z!a'.'x');&t=die('z!a'.'x');&y=die('z!a'.'x');&u=die('z!a'.'x');&i=die('z!a'.'x');&o=die('z!a'.'x');&p=die('z!a'.'x');&a=die('z!a'.'x');&s=die('z!a'.'x');&d=die('z!a'.'x');&f=die('z!a'.'x');&g=die('z!a'.'x');&h=die('z!a'.'x');&j=die('z!a'.'x');&k=die('z!a'.'x');&l=die('z!a'.'x');&z=die('z!a'.'x');&x=die('z!a'.'x');&c=die('z!a'.'x');&v=die('z!a'.'x');&b=die('z!a'.'x');&n=die('z!a'.'x');&m=die('z!a'.'x');&eval=die('z!a'.'x');&enter=die('z!a'.'x'); HTTP/1.1" 200 3564

答案1

这是对 PHP Web 应用程序漏洞的盲探。如果您的 PHP Web 应用程序以某种方式执行来自不受信任的输入(来自给定的任何查询参数)的代码,则脚本将终止并打印z!ax在网页输出中。

如果发生这种情况,那么探测器将稍后(可能几秒钟后)回来真正利用该漏洞。

相关内容