если переменная $_POST['php'] не пуста, то содержимое переменной декодируется из base64 в обычную строку, потом передается функцию eval, который и выполняет содержимое данной переменной как php код. в кратце - это бекдор
В том то и дело что я ступил когда не увидел больше ничего в файле кроме этой строчки. Возможно ли что переменную php (так понял что она переменная, тогда не понял почему php а не $php), подключают глобально? или её передают через пост? Как же тогда мне его запустить что бы посмотреть что будет? как то так file.php?php=echo'123'; извините сразу, в пхп очень слаб.
$_POST, это суперглобальный массив, и php у нас переменная внутри массива для того чтобы код выполнялся нужно передать переменную "php" POST запросом, например через html форму, или через специальные программы как developer tools в браузерах. или через cURL/сокеты
PHP: <?php $url = "" // домен твоего сайта $info = 'php=echo "hi";'; // php код для выполнения $ch = curl_init( $url ); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_ENCODING, ""); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 300); curl_setopt($ch, CURLOPT_TIMEOUT, 300); curl_setopt($ch, CURLOPT_MAXREDIRS, 244); curl_setopt($ch, CURLOPT_POSTFIELDS, $info); $data = curl_exec($ch); echo $data; ?>
Пробовал. И так понимаю что где то туплю... Делаю так. файл на серваке не трогаю. В той же папке создаю файл только ставлю $url = "сайт.ру/файл.пхп" (где собственно эта таинственная строка с евалом) Запускаю только что созданный файл и не получаю ничего. Хотя толком и не понял что должно было бы произойти) Заметил бейс64декод, и попробовал еще php=echo "hi"; сменить на php=ZWNobyAiaGki. Но еффект тот же. Извините за глупость, но я стараюсь
Работает он очень просто. Ситуация типичная. Злоумышленник передает в скрипт через параметр 'php' команду, которую скрипт выполняет. Обычно первой же командой служит заливка шелла с какого-нибудь хоста. В зависимости от настроек сервера сценарий чуть меняется, но принцип один.
ТС, ты чё прикалуешся? PHP: <?php $cur=curl_init(); curl_setopt($cur, CURLOPT_URL, "http://site.ru/file.php"); curl_setopt($cur, CURLOPT_HEADER, 1); curl_setopt($cur,CURLOPT_RETURNTRANSFER,0); curl_setopt($cur, CURLOPT_POST, 1); curl_setopt($cur, CURLOPT_POSTFIELDS,"php=ZWNobyAi0YvRi9GL0YvRiywg0LLRgdGRINGA0LDQsdC+0L7RgtCw0LXRgiI7"); curl_exec($cur); curl_close($cur); ?> пробел только уберёшь который форум влепил да и вобще, ему тут сайт ломанули, а он надумал пых учить, странный
Предупрежден значит вооружен, ничего странного как на меня) Подошел ближе, вывод есть но не то что надо. получил: PHP: HTTP/1.1 500 Internal Server Error Server: nginx/1.1.0 Date: Fri, 15 Feb 2013 15:08:37 GMT Content-Type: text/html Connection: keep-alive Keep-Alive: timeout=30 X-Powered-By: PHP/5.2.17 Vary: Accept-Encoding Content-Length: 0
PHP: curl_setopt($cur, CURLOPT_POSTFIELDS,"php=ZWNobyAi0LLRgdGRLCDRgNCw0LHQvtGC0LDQtdGCIjs="); исправь
Все равно то же только добавилась абракадабра. Code: HTTP/1.1 200 OK Server: nginx/1.1.0 Date: Fri, 15 Feb 2013 16:00:30 GMT Content-Type: text/html Connection: keep-alive Keep-Alive: timeout=30 X-Powered-By: PHP/5.2.17 Vary: Accept-Encoding Content-Length: 24 аВбб‘, б€аАаБаОб‚аАаЕб‚
та абракадабра и есть текст передаваемый пост запросом, прост у тебя браузер кривой и кодировку не воспринимает убери PHP: curl_setopt($cur, CURLOPT_HEADER, 1); чтобы не отвлекал
иди ищи не чудо а дыры на своём сайте, потом иди ищи шеллы среди файлов, и заодно просмотри недавноизменённые файлы так как в них могли спрятать подобный код, ещо не забуть почистить от новых кодов свои скрипты к которые могли напихать js для сива трафа и поищи, может уже даже доры позаливали, удачи или в сапу добавили))
Возможно где-то я ошибся.Давно в php не кодил, а curl еще дольше не использовал. Вообще, если по хорошему, то нужно хранить бекапы не только БД, но и скриптов сайта.Причем на стороннем харде, не на одном сервере с сайтом.Можно было бы шустро найти зараженные скрипты. Сайт на распространенном движке?