Я использую CentOS 7.x VPS с Apache 2.4.29 и PHP 7.0.28, и в своих журналах я начал видеть следующее. У меня есть 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
Это слепая проверка уязвимостей веб-приложений PHP. Если у вас есть веб-приложение PHP, которое каким-то образом выполняет код из ненадежных входных данных, из любого из заданных параметров запроса, тогда скрипт умрет и напечатает z!ax
в выводе веб-страницы.
Если это произойдет, то зонд вернется позже (может быть, через несколько секунд), чтобы по-настоящему использовать уязвимость.