Уязвимость содержится в системе управления сайтом Netcat версий 3.х - 5.7, и позволяет злоумышленникам получить полный доступ к сайту. Уязвимость существует из-за недостаточной фильтрации входящих данных в модуле netcat/require/s_list.inc.php.
В пропатченной версии содержится преобразование данных:
$stringValue = htmlspecialchars(stripcslashes($srchPatValues[$j]), ENT_QUOTES);
$stringValue = addcslashes($stringValue, '$');
Однако и использование htmlspecialchars&stripcslashes не является панацеей от такого рода уязвимостей.
Признаки взлома сайта:
- Если в файле netcat/require/s_list_inc.php есть код, похожий на https://gist.github.com/NickMitin/512b3d19b3dbd89e82ac913df278472f
то ваш сайт подвержен уязвимости. - Если ваш сайт отдаёт 500 ошибку, проверьте файл e404.php. В конце может быть вредоносный код.
- Если у вас в корне есть файл new.vars.inc.php, удалите его.
- Выполните поиск файлов, содержащих “<?php eval(base64_decode(<<<EOD” в начале. Удалите найденные файлы.
Чтобы закрыть уязвимость, выполните следующие шаги:
Для версий 5.х в файле /netcat/require/s_list.inc.php в функции showSearchForm замените код https://gist.github.com/NickMitin/512b3d19b3dbd89e82ac913df278472f на https://gist.github.com/NickMitin/b65c523b63d712e1ac1dc3210377d2da
Для версий 4.x и 3.х в файле /netcat/require/s_list.inc.php в функции showSearchForm замените код https://gist.github.com/NickMitin/bd9d1d6b5fc0af0d64ce2ce129ac7973 на https://gist.github.com/NickMitin/1e392b9f8bee09e7d531feaeeda26677
Использование Web Application Firewall позволяет блокировать подобные атаки даже при наличии уязвимости "нулевого дня".