PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (2): [1] 2 »

> Найдено сообщений: 21
MikaBi Отправлено: 11 Сентября, 2015 - 21:30:29 • Тема: Что он делает? • Форум: CMS и фреймворки

Ответов: 7
Просмотров: 1961
DlTA пишет:
MikaBi пишет:
Но и понять принцип действия от начала до конца тоже хочется.

вам на хост заливают сторонние файлы, как?!
может зная ваши пароли, или через дырки WP или где то лежит шелл или хостер у вас гуано и позволяет заглядывать в соседние папки и не только


Все омрачается тем, что не я владелец сайта. И хотя я сменил все пароли на просто совершенно надежные, но не могу гарантировать, что например у заказчика нет троянов и кйлогеров каких-нибудь на машине с которой он ходит в админку и т.д. Хостер TimeWeb, вроде не совсем уж днище. Сейчас, когда в очередной раз все почистил, буду построчно мониторить логи, что бы отловить обращение к шеллу, других вариантов не вижу пока.
MikaBi Отправлено: 11 Сентября, 2015 - 07:32:10 • Тема: Что он делает? • Форум: CMS и фреймворки

Ответов: 7
Просмотров: 1961
Viper пишет:
Логи сервера смотреть не судьба? Как минимум mail relay запретить.

К прочтению https://codex[dot]wordpress[dot]org/FAQ_[dot][dot][dot]_site_was_hacked

PS! Вы хотели узнать что делает скрипт? Или как от него избавиться?


В логах идет ежеминутное обращение к 2 - 3 вредоносным файлам. Если файлы удалить, то продолжает долбиться в 404 несколько дней. Момент дропа новых файлов пока отследить не могу, но буду стараться.

Ну, само собой финальная цель - избавиться, а если точнее, то закрыть уязвимость. Но и понять принцип действия от начала до конца тоже хочется.
MikaBi Отправлено: 10 Сентября, 2015 - 22:33:15 • Тема: Что он делает? • Форум: CMS и фреймворки

Ответов: 7
Просмотров: 1961
Мелкий пишет:
MikaBi пишет:
сайт на wordpress

MikaBi пишет:
сделал все стандартные действия ...

MikaBi пишет:
они появляются вновь.

Почему в стандартных действиях не указано "обновил до актуальной, поддерживаемой версии саму CMS и все плагины"?


Ну, потому, что это настолько кристально ясно, что я даже не стал "засорять эфир" этой информацией. Конечно обновил в первую очередь.
MikaBi Отправлено: 10 Сентября, 2015 - 21:06:10 • Тема: Что он делает? • Форум: CMS и фреймворки

Ответов: 7
Просмотров: 1961
Привет всем! Давно тут не был)

В общем, дело такое: на сайте заказчика вирус, сайт на wordpress, но это по сути не так важно, потому, что до момента поиска уязвимости еще далеко. Ну, то есть я конечно сделал все стандартные действия- убил все левые плагины, сравнил оригинал вордпресса с текущим, прогнал сайт несколькими плагинами по выявлению вредоносного кода, прогнал "айболитом" и т.д. В итоге начистил гору вредоносов, но безрезультатно - они появляются вновь.

Что делает вирус. Он спамит через email, за что хостер отрубил возможность отправлять письма. Но это тоже к сути моего вопроса отношения не имеет. Вредоносный код обычно появляется во всяких потаенных местах, типа css папок, всяких глубоких папок js каких-то плагинов и т.д. Выглядит как, либо абракадабра (dffr32.php), либо маскируется под какие-то нужные файлы (template.php). Сам код обфусцирован несложно довольно-таки, потому я его привел в божеский вид и пытаюсь понять как именно он все делает.

Пока я понял только, что он проверяет наличие $_FILES, перебирает его и если находит там любой файл кроме jpg то меняет его имя определенным образом. Ну и по мелочи там- имя хоста и т.д. Затем идет огромный кусок кода, это класс phpMailer прямо с комментариями даже с гитхаба) Этот кусок я пропустил и не буду показывать сейчас потому что он огромен и 100% это чистый phpmailer , а после уже идет опять код зловреда, где он уже и собственно отправляет спам. Но я не могу понять момента, где он берет сам список спама, список адресов куда слать и т.д.

Может кто-то из уважаемого сообщества заинтересуется и посмотрит код? Он очень интересный, между прочим) В общем, любые соображения приветствуются.

Злой код
Спойлер (Отобразить)



Этот код содержится практически во всех зараженных файлах, и везде он одинаков. Но, должен сказать, что попадается еще один вид кода, который я пока не смог толком деобфусцировать. Если кому-то станет интересно - выложу в "грязном" виде.

Всем спасибо.
MikaBi Отправлено: 23 Ноября, 2014 - 14:28:30 • Тема: Обмассивился • Форум: Вопросы новичков

Ответов: 2
Просмотров: 127
kotyara1979 пишет:
PHP:
скопировать код в буфер обмена
  1. $rez=array();
  2. foreach($arr as $arr1)
  3. {
  4.         if(isset($rez[$arr1['товар']]))
  5.                 $rez[$arr1['товар']] = $rez[$arr1['товар']]+$arr1['цена'];
  6.         else
  7.                 $rez[$arr1['товар']] = $arr1['цена'];
  8. }
  9. return $rez;


примерно так.


А ты хорош!) Спасибо. На действующий код еще не переносил, но с виду вроде как должно все быть четко. Я нечто подобное продумывал, только почему-то хотелось делать это на основе in_array каким-то образом.
MikaBi Отправлено: 23 Ноября, 2014 - 14:03:27 • Тема: Обмассивился • Форум: Вопросы новичков

Ответов: 2
Просмотров: 127
Привет, всезнающий форум. Тут такое дело, я видимо закипел уже мозгом и не могу решить относительно простую задачу. Итак:

путем различных манипуляций я получаю многомерный массив вида:

$arr[0] = array("товар"=>"колбаса", "цена"=>"25");
$arr[1] = array("товар"=>"сосиска", "цена"=>"30");
$arr[2] = array("товар"=>"груша", "цена"=>"20");
$arr[3] = array("товар"=>"колбаса", "цена"=>"50");
$arr[4] = array("товар"=>"яблоко", "цена"=>"10");
$arr[5] = array("товар"=>"груша", "цена"=>"30");

Задача такова, что бы цены одинаковых товаров, если одинаковые есть, суммировались и в итоге получался простой ассоциативный массив, один:

array("колбаса" =>"75", "сосиска" =>"30", "груша" =>"105", "яблоко" =>"10");

Так же может складываться ситуация, что все подмассивы с товаром и ценой будут иметь одинаковый товар. Массив $arr изначально неизвестного размера. Вроде вертится что-то в уме, даже почти придумал засыпая вчера, как Менделеев, но нет... помогите, если не лень
MikaBi Отправлено: 17 Ноября, 2014 - 16:00:01 • Тема: XML-RPC - то, что немного развеселит форум! • Форум: Вопросы новичков

Ответов: 19
Просмотров: 687
esterio пишет:
кукы передаються в хидераз протокола HTTP. XML-RPC протокол описания вызова функций на удаленном сервере с помощью XML. как передать кукы curl-ом в нете полно инфы.
например
PHP:
скопировать код в буфер обмена
  1. curl_setopt($ch, CURLOPT_COOKIE, 'user=ellen; activity=swimming');

та же сессия (а точнее ее ИД) передаеться кукой.
вот поетому есть описание методов, их параметров и что они возвращают. по названиях более-менее понятно что они делают. поетому я не вижу особых препятствий в АПИ. да согласен оно скудное, но немног опоесперементировав можно все таик с ним работать


Спасибо, curl-ом отдал, все заработало. Просто у заказчика curl на сервере не был подключен, хотел обойтись без него, пришлось просить включить.
MikaBi Отправлено: 17 Ноября, 2014 - 03:27:54 • Тема: XML-RPC - то, что немного развеселит форум! • Форум: Вопросы новичков

Ответов: 19
Просмотров: 687
esterio пишет:
MikaBi пишет:
а ты-хорош) вот завтра приду и с новыми силами все попробую порешать)

я так часто делаю, утро вечера мудрее

Viper пишет:
Если быдло-кодер не может описать своё же собственное api, то не вижу причин пользоваться данным говном

как по мне оно хоть и не детальное, но вполне читабельное. и решать пользоваться или нет не вам а автору топика.

У меня такое ощущение, что человек, написавший это API куда-то делся и оставил владельцев соепульта наедине с вопросами пользователей. Я там выше ссылку давал, там у человека в точности такой же вопрос, на который сеопульт ему ответил, мол мы не обязаны учить вас азам работы с протоколом, причем хочу заметить, что услуга API предоставляется только тем клиентам, которые тратят 50 или более тысяч в месяц. И вот за эти 50 и более тысяч люди получают завуалированный посыл на х... . Но это собственно все лирика, API описан более чем скромно, да, классы, методы-все понятно, но что с куки? Может это я тупой просто, не отрицаю, но даже если это так, то я хочу учиться. Если вам там все понятно, скажите, как передать куки? Буду очень благодарен. З.ы. техподдержка сеопульта за трое суток ответила один раз... попросила логин, видимо хотят проверить достоин ли я их API Не понял
MikaBi Отправлено: 14 Ноября, 2014 - 23:55:13 • Тема: XML-RPC - то, что немного развеселит форум! • Форум: Вопросы новичков

Ответов: 19
Просмотров: 687
LIME пишет:
знакомое ощущение
очень знакомое))
очень очень знакомое
но я понял одно
компьютер не ошибается
остынь ка ты
вздохни
пройдись
попей чайку
обычно в такие моменты рождаются идеи
очень сильно сомневаюсь что ошибка в их API
спокойно перечитай еще раз из доки
если не судьба то просто ляг спать
утро вечера мудреннее
клянусь ты это решишь...не бывает не раемых задач
но извини разбирать твою проблему лениво
тем более сам ее решишь если терпения наберешься
(Добавление)
забей
идея сама появится

а ты-хорош) вот завтра приду и с новыми силами все попробую порешать)
MikaBi Отправлено: 14 Ноября, 2014 - 23:45:13 • Тема: XML-RPC - то, что немного развеселит форум! • Форум: Вопросы новичков

Ответов: 19
Просмотров: 687
LIME пишет:
MikaBi пишет:
Notice: xmlrpc: Wrong user data (10014)
значит косяк в протоколе
чудес не бывает
значит гдето косякнул но пока не знаешь где
иши ошибку в протоколе
я вчера 3 часа убил искал какого хрена не грузится шаблон оказалось что в имени было 2 ss вместо одной
клянусь ошибка типо такой
чегото не заметил
это самое обидное...ошибка в символе
если я ошибся переведу тебе 1000 руб


просто видишь в чем дело, я уже на пути истинном, коннект есть, казалось бы..отдай куки и работай,сучка, как тебе хочеццо! но нет..ведь не зря я нашел например вот это:

http://forum[dot]seopult[dot]ru/index.php?showtopic=9742

как думаешь?

как, как им еще печнек отдать, ведь то, что в моем коде выше- это далеко не последняя попытка, что я там только не делал.... Я на этот волшебный форум пишу, уж когда совсем гроб,гроб,кладбище..
MikaBi Отправлено: 14 Ноября, 2014 - 23:35:12 • Тема: XML-RPC - то, что немного развеселит форум! • Форум: Вопросы новичков

Ответов: 19
Просмотров: 687
LIME пишет:
а где в твоем коде отправка кук?

А, вот это потому, что я дал старый код (мудак). а новый код вот он:

<!--<meta charset="UTF-8" />-->
<?php
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);

$pass= md5('qwefyr57fd');
$request = xmlrpc_encode_request('Seopult.Auth.getSession', array('username'=>'highprofitnn', 'authmethod'=>'md5','password'=>$pass));


$context = stream_context_create(array('http' => array(
'method' => "POST",
'header' => "Content-Type: text/xml",
'content' => $request
)));


$file = file_get_contents("http://api.seopult.ru/", false, $context);


$response = xmlrpc_decode($file);


if (xmlrpc_is_fault($response)) {
trigger_error("xmlrpc: $response[faultString] ($response[faultCode])");
}

else {

$cookie= $response["cookie"];

$cookie= str_replace(':', '=', $cookie);
$cookie= "Cookie:".$cookie;
echo $cookie;
$projectRequest=xmlrpc_encode_request('Seopult.User.getInfo', array());
$context = stream_context_create(array('http' => array(
'method' => "POST",

'header' => "Content-Type: text/xml \r\n".$cookie."\r\n",
'content' => $projectRequest
)));

$file = file_get_contents("http://api.seopult.ru/", false, $context);
$response = xmlrpc_decode($file);
if (xmlrpc_is_fault($response)) {
trigger_error("xmlrpc: $response[faultString] ($response[faultCode])");
} else {
var_dump($response);
}

}

?>
MikaBi Отправлено: 14 Ноября, 2014 - 23:32:55 • Тема: XML-RPC - то, что немного развеселит форум! • Форум: Вопросы новичков

Ответов: 19
Просмотров: 687
[quote=LIME][/quote]
да, с этим все все в порядке, ведь по первому запросу приходит массив с куки...а вот дальше, когда предполагается их использовать..что то идет не так...
MikaBi Отправлено: 14 Ноября, 2014 - 23:30:37 • Тема: XML-RPC - то, что немного развеселит форум! • Форум: Вопросы новичков

Ответов: 19
Просмотров: 687
LIME пишет:
MikaBi какие ошибки выдает?


Notice: xmlrpc: Wrong user data (10014) in /бла-бла-путь ко мне
MikaBi Отправлено: 14 Ноября, 2014 - 23:25:50 • Тема: XML-RPC - то, что немного развеселит форум! • Форум: Вопросы новичков

Ответов: 19
Просмотров: 687
В общем, народ, вы- как всегда последняя инстанция, кто мне еще поможет, если не коллективный разум,а?

Есть такой сайт- seopult.ru и у них есть API, полностью построенное на XML-RPC.
Описание того, чего им надо для полноценной связи у них, по моему мнению, очень скудное, но вот оно: http://api[dot]seopult[dot]ru/

А теперь проблема:

Подключился к аккаунту так, как они и просят, получил в ответ куки, такого вида:
272214:595f728dbcef560cecddаd5hyff77e50062
Затем, попробовал выполнить следующий запрос, но получаю в ответ вот это:
Wrong user data (10014)... то есть не отдал куки!


В общем нет, начну все заново:
щас будет много кода:

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. $pass= md5('mypass');
  3. $request = xmlrpc_encode_request('Seopult.Auth.getSession', array('username'=>'highprofitnn', 'authmethod'=>'md5','password'=>$pass));
  4.  
  5.  
  6. $context = stream_context_create(array('http' => array(
  7.     'method' => "POST",
  8.     'header' => "Content-Type: text/xml",
  9.     'content' => $request
  10. )));
  11.  
  12.  
  13. $file = file_get_contents("http://api.seopult.ru/", false, $context);
  14.  
  15.  
  16. $response = xmlrpc_decode($file);
  17.  
  18.  
  19. if (xmlrpc_is_fault($response)) {
  20.     trigger_error("xmlrpc: $response[faultString] ($response[faultCode])");
  21. }
  22.  
  23. else {
  24.        
  25.     $cookie= $response["cookie"];
  26.    
  27.    
  28.     $cookie= "Cookie:".$cookie;
  29.  
  30.     $projectRequest=xmlrpc_encode_request('Seopult.User.getInfo', array());
  31.     $context = stream_context_create(array('http' => array(
  32.     'method' => "POST",
  33.    
  34.     'header' => "Content-Type: text/xml",
  35.     'content' => $projectRequest
  36. )));
  37.  
  38.   $file = file_get_contents("http://api.seopult.ru/", false, $context);  
  39.   $response = xmlrpc_decode($file);
  40.   if (xmlrpc_is_fault($response)) {
  41.     trigger_error("xmlrpc: $response[faultString] ($response[faultCode])");
  42. } else {
  43. var_dump($response);
  44. }
  45.  
  46. }
  47.  


В общем, глобальный вопрос..сервер требует передать ему куки, иначе он не будет работать, но как это седлать? Что я делаю не так?
MikaBi Отправлено: 04 Сентября, 2014 - 02:26:53 • Тема: Мир сошел с ума. Противостояние сайтов парсеру. • Форум: Вопросы новичков

Ответов: 3
Просмотров: 244
Привет, народ. В общем, тут такое дело...или у меня что-то уже с головой, или я чего-то тайного не знаю.

Суть такова: написал я парсер (убогонький, наверняка, зато свой- родной) , что бы забирать ссылки на нужные мне тендеры с официального сайта государственных закупок zakupki.gov.ru . Колдовал я, колдовал в итоге парсер начал приносить мне ссылочки.

Но проблема в том, что каким-то непостижимым образом ссылки ведут на заглушку "Страница не существует". Я конечно сразу подумал на тему проверки ребятами с закупок.гов.ру хоста с которого я пришел, или что-то подобное и если он не их то редирект куда-нибудь подальше..но! даже если просто скопировать ссылку мою, то есть полученную парсером и их ссылку в адресную строку, а потом пройти по ним, то родная ссылка ведет куда нужно, а моя на заглушку.

У меня осталась последняя дикая мысль... если они понимают, что пришел не человек а бот, то каким-то образом меняются некоторые латинские символы на русские...не смейтесь, но более мне предположить нечего)))

Да сами посмотрите вот две ссылки:

Их ссылка: http://zakupki[dot]gov[dot]ru/223/purcha[dot][dot][dot]435&epz=true

Моя ссылка: http://zakupki[dot]gov[dot]ru/223/purcha[dot][dot][dot]435&epz=true


Они абсолютно одинаковы.

У вас какие-нибудь предположения? Может ли такое вообще быть, или это нечто о чем я не знаю? Всем спасибо.

Решено: В общем, я лохе и параноик, никому я не нужен со своим полумертвым парсером)) видимо дело было в кодировке т.к. кое-где я приводил результат в нижний регистр таким образом

Снесите тему, если нужно)

Страниц (2): [1] 2 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB