Pull to refresh
81
0
Maksim Kochkin @MaxxArts

PHP pro, Go noob, websec fan

Send message

Facebook выложил на Гитхаб свою платформу для проведения CTF — Facebook CTF

Reading time 1 min
Views 15K

image


Facebook CTF — это платформа для организации соревнований CTF (capture the flag), а именно — двух его разновидностей:


  • Jeopardy — классический CTF с набором заданий. Доступ к следующему можно получить лишь правильно решив предыдущее;
  • King of the Hill — вид CTF, в котором нужно максимальное время удерживать контроль над взломанной системой; фишка в том, что система периодически регенерирует состояние, «сбрасывая» участников с того уровня, на который им удалось забраться.
Читать дальше →
Total votes 8: ↑8 and ↓0 +8
Comments 5

Множество уязвимостей в ImageMagick, одна из которых ведёт к RCE

Reading time 5 min
Views 39K

Несколько часов назад Ryan Huber из отдела безопасности Slack анонсировал некую критическую уязвимость в софте, используемом множеством сайтов. Этим софтом оказался ImageMagick — популярный пакет для обработки изображений.


Краткая информация об уязвимостях размещена на сайте imagetragick.com. Да, без названия и сайта для уязвимости не обошлось и в этот раз, хотя изначально Райан писал, что никакого пафоса, включая название и сайт, не будет. (есть ещё и твиттер)


image


Уязвимость была обнаружена stewie и раскрыта на hackerone 21 апреля в репорте, по всей видимости, Mail.ru, ибо примерно через неделю после этого Николай Ермишкин из команды безопасности Мэйла нашёл возможность выполнить RCE. Обо всём этом, само собой, сообщили команде разработки IM. Те 30 апреля выпустили фикс, но уже 1 мая им сообщили, что фикс немножко не фикс. Поэтому 2 мая уязвимость раскрыли в листе рассылки разработчиков пакетов, основанных на IM, а 3 мая уязвимость раскрыли публично. Спустя несколько часов после этого на openwall появилось подробное описание с примерами эксплойтов. Но об этом чуть ниже.

Читать дальше →
Total votes 47: ↑46 and ↓1 +45
Comments 25

О координации изменений во временных зонах

Reading time 7 min
Views 16K

tz map


Знаете, что общего у Турции, Чили, России, Венесуэлы, Азербайджана, Северной Кореи и Гаити? Хаос в управлении временными зонами.


Нет, это не шутка. На самом деле это достаточно серьёзная проблема. Хуже всего во временных зонах не то, что они вообще существуют, и даже не летнее время. Хуже всего то, что часто они изменяются совершенно внезапно. Позвольте я объясню.

Читать дальше →
Total votes 24: ↑24 and ↓0 +24
Comments 54

Долгая история про локализацию даты без года в PHP

Reading time 12 min
Views 15K
Давайте начнём с простой задачки — вывести локализованную дату: там должен быть день, полное название месяца на языке локали и полный год. В наше время это действительно очень просто. В PHP есть своё i18n-расширение intl, которое входит в ядро с версии 5.3. И в этом intl есть класс IntlDateFormatter, у которого в свою очередь предопределено несколько форматов. Используем его LONG формат.

<?php

foreach (['en_US', 'ru_RU', 'es_ES', 'fa_IR'] as $locale) {
    $formatter = new IntlDateFormatter(
        $locale, 
        IntlDateFormatter::LONG, 
        IntlDateFormatter::NONE, 
        'Europe/Moscow'
    );
    echo $formatter->format(1455111783), PHP_EOL;
}

Результат:

February 10, 2016
10 февраля 2016 г.
10 de febrero de 2016
۱۰ ﻑﻭﺭیﻩٔ ۲۰۱۶ ﻡ. // вот тут вообще-то RTL-текст, но я хз как это правильно оформить

Пока неплохо. А теперь давайте слегка изменим условия: «вывести локализованную дату: там должен быть день и полное название месяца на языке локали». То есть, мы не хотим отображать год.
Казалось бы, ерунда. Но есть нюанс...
Total votes 37: ↑37 and ↓0 +37
Comments 40

Интервью со skype-мошенником

Reading time 4 min
Views 290K
Несколько дней назад Сергей Доля рассказал о том, как мошенники взломав скайп его друга, начали рассылать сообщения по контакт-листу с просьбой перевести денег. За несколько часов злоумышленникам по оценкам самого Доли удалось получить более 250 000 рублей. Об этом также писал tjournal.



Схема развода далеко не нова. Одна из самых известных историй на эту тему описана почти два года назад. Стыдно признавать, но около года назад я сам стал жертвой таких же (тех же самых?) мошенников. Один из старых знакомых, от которого давно не было ничего слышно, внезапно написал с просьбой перевести немного денег, потому что «очень надо». Да-да, я знаю, «как так можно», «ну что за лох» и всё такое. В общем, просто желаю вам не попадаться.

Но вот буквально на днях ещё один из моих контактов, с которым я также давно не переписывался, неожиданно написал и… да, попросил дать взаймы несколько тысяч. На этот раз я, конечно же, всё понял с первых двух фраз, но решил не убивать интригу, а немного развлечься. Впрочем, ничего забавного из этого не вышло. Мне было интересно, что будет делать мошенник, когда обнаружит, что на его счёт ничего не пришло, хотя жертва перевод подтвердила. На деле же оказалось, что человек с той стороны не всегда может проверить счёт, на который просит кинуть деньги.

Из статьи Доли мне запомнился скриншот, на котором кто-то из его друзей просит мошенников дать интервью, а они отказываются. Ну и раз представился такой шанс, я тоже решил попросить дать интервью. Неожиданно, мне удалось получить ответы на многие интересные вопросы. Ниже я привожу наш диалог в незначительной художественной обработке.
Читать дальше →
Total votes 194: ↑172 and ↓22 +150
Comments 186

Самообразование с самостимулированием

Reading time 5 min
Views 1.8K
Пост в блоге «Образование 2.0» виден только подписчикам, но есть отличная от нуля вероятность, что он будет интересен и остальным, поэтому кросспост.

image
«Не хочу учиться, а хочу жениться»
Митрофанушка

Вместо предисловия


Здесь должен был быть умный захватывающий текст для привлечения внимания. Но ничего не придумал, поэтому. Этот пост — попытка отдать идею тем, кто может ее реализовать (если это вообще кому-то нужно). Ну или как минимум поделиться мыслями по поводу.

Образование 1.0


Наша система профессионального образования тяжело больна. Об этом писали так много, что мне даже добавить нечего.

На мой скромный взгляд не так давно выпустившегося, основная проблема — отсутствие стимула и самостимула (не путать с мазохизмом). Версия «устаревшие образовательные программы» слишком заезжена и банальна.

Образование 1.5


Преподаватели в большинстве своем не умеют или не хотят привлекать студентов на свои занятия. Слушать сухие лекции скучно и невыносимо. Выполнять странные лабораторные по инструкции неинтересно. Практические занятия почему-то зачастую превращаются в теоретические. Следствие всего этого — молочная пенка теории в голове и массовый копипаст практики, которым завалены преподавательские и кафедры всех специальностей.

Образование 1.9


Не нравится — не ешь. Самообразование никто не отменял. Некоторые преподаватели даже пытаются оправдать свое преподавание фразой «университет учит учиться». Мне кажется, фраза верна в несколько ином смысле, не том, который в нее вкладывают.

Итак, самообразование. Идеальное образование. Но и тут не все так гладко: существует человеческая лень. Самый простой способ побороть лень — неотвратимый стимул.

Так что за идея-то, автор? К чему это все?
Total votes 103: ↑77 and ↓26 +51
Comments 69

Самообразование с самостимулированием

Reading time 5 min
Views 4.6K
image
«Не хочу учиться, а хочу жениться»
Митрофанушка

Вместо предисловия


Здесь должен был быть умный захватывающий текст для привлечения внимания. Но ничего не придумал, поэтому. Этот пост — попытка отдать идею тем, кто может ее реализовать (если это вообще кому-то нужно). Ну или как минимум поделиться мыслями по поводу.

Образование 1.0


Наша система профессионального образования тяжело больна. Об этом писали так много, что мне даже добавить нечего.

На мой скромный взгляд не так давно выпустившегося, основная проблема — отсутствие стимула и самостимула (не путать с мазохизмом). Версия «устаревшие образовательные программы» слишком заезжена и банальна.

Образование 1.5


Преподаватели в большинстве своем не умеют или не хотят привлекать студентов на свои занятия. Слушать сухие лекции скучно и невыносимо. Выполнять странные лабораторные по инструкции неинтересно. Практические занятия почему-то зачастую превращаются в теоретические. Следствие всего этого — молочная пенка теории в голове и массовый копипаст практики, которым завалены преподавательские и кафедры всех специальностей.

Образование 1.9


Не нравится — не ешь. Самообразование никто не отменял. Некоторые преподаватели даже пытаются оправдать свое преподавание фразой «университет учит учиться». Мне кажется, фраза верна в несколько ином смысле, не том, который в нее вкладывают.

Итак, самообразование. Идеальное образование. Но и тут не все так гладко: существует человеческая лень. Самый простой способ побороть лень — неотвратимый стимул.

Так что за идея-то, автор? К чему это все?
Total votes 20: ↑16 and ↓4 +12
Comments 8

Маленький тест на знание JS

Reading time 2 min
Views 32K
Пост про (вполне логичные) особенности javascript ( habrahabr.ru/blogs/javascript/84311 ) вызвал бурное обсуждение. Я вслед за автором WTFJS.com сильно облажался, считая эти странности действительно чем-то мистическим ) Большое спасибо всем тем, кто объяснил, почему так происходит на самом деле или для чего так сделано. Понимание таких тонкостей позволяет перейти в общении с языком на «ты». Кто-то скажет, что это должен знать любой программист, хоть как-то владеющий JS? Возможно. Но, как оказалось, многие не знали, и я в их числе.

Простите, но кат здесь стоит только потому, что пост чуть больше, чем нужно
Total votes 49: ↑38 and ↓11 +27
Comments 78

Ох уж этот javascript

Reading time 1 min
Views 17K
Считаете себя гуру JS'а? Попробуйте предсказать результаты следующих операций:

Number.MIN_VALUE > 0; // true or false?

typeof null; // what type?
null === Object; // true or false?

// и самый сок

NaN === NaN; // true or false?

typeof NaN; // what type?


* This source code was highlighted with Source Code Highlighter.


Сомневаетесь? Тогда именно для вас Брайан Леру (Brian Leroux) создал WTFJS — сайт, содержащий коллекцию странностей JS. «JavaScript — это язык, который мы любим несмотря на все его ненавистные особенности».

Для нетерпеливых ответы под катом.

Подглядеть
Total votes 140: ↑106 and ↓34 +72
Comments 122

Анатомия .click() или история одной проблемы

Reading time 4 min
Views 29K
Доброго времени суток, товарищи.

Столкнулся с одной проблемой в JQuery и теперь хочу выяснить: все как всегда (сам дурак и прощай остатки кармы) или все же это такая особенность JQuery?

Положим, есть следующий HTML-код:
<input id="dis" type="checkbox" /><br><input id="chb" type="checkbox" /><input id="txt" type="text" /><br><br>* This source code was highlighted with Source Code Highlighter.


Схема работы предельно простая: чекбокс #chb управляет активностью текстового поля #txt (когда checked — !disabled и наоборот), а чекбокс #dis отключает (disabled=«disabled») чекбокс #chb и переключает его состояние.

Вот примерный код:
$("#chb").click(function() {<br>    $("#txt").attr("disabled", ! this.checked);<br>});<br><br>$("#dis").click(function() {<br>    if ( $("#chb").attr("checked") )<br>    {<br>        $("#chb").click();<br>    }<br><br>    $("#chb").attr("disabled", this.checked); <br>});<br><br>* This source code was highlighted with Source Code Highlighter.


Казалось бы, ничего необычного?
Не все так просто
Total votes 16: ↑10 and ↓6 +4
Comments 11

Странные ссылки на dirty.ru

Reading time 1 min
Views 586
Возможно, это какая-то фишка, но если зайти, например, на search.dirty.ru, то можно заметить, что все стандартные ссылки в подвале начинаются с search.dirty.ru и, соответственно, ведут вникуда ( например, эта — search.dirty.ru/about.html ). Но и там ссылки, которые должны вести на главную, на главную не ведут.

Около месяца назад я написал на предназначенный для уведомления о найденных багах адрес, но не последовало ни ответа (что как бы и ладно), ни исправления на сайте. Хабр когда-то ругали за невалидность, которая правится в два щелчка мыши, а тут у голоса рунета незначительная простуда, которая лечится еще проще.

Вы не поверите, но мне просто интересно, почему так?
Total votes 44: ↑8 and ↓36 -28
Comments 15

Mouse gestures extension для Chrome 3.0.196.x

Reading time 4 min
Views 1.8K
На Хабре уже рассказали про замечательное расширение для Chrome, позволяющее управлять мышежестами. Но начиная с версии 3.0.196.0 из JS-движка Хрома (поправьте, если ошибаюсь) пропал объект contentWindow (вот тут Аарон Будмэн рассказывает зачем и почему), который в указанном расширении использовался. В текущей версии chromegestures (1.0.7) проблема еще не устранена.

Понять, что расширение не работает именно из-за этого, нетрудно: каждый раз при загрузке любой страницы (при установленном расширении, естественно) в DeveloperTools появляется сообщение об ошибке «contentWindow is not defined».

Попробовать gestures в Хроме очень хотелось, поэтому я пошел в ChromeGestures.user.js и тупо закомментировал все 4 строчки с использованием contentWindow (как выяснилось позже, это совсем не обязательно, читаем внизу upd3). Очевидно, что после такой жестокости что-то работать не будет или будет работать не так (читать код не очень хотелось, да и не настолько силен я в js), но на данный момент это лучше, чем ничего =) Возможно, кому-то пригодится.

Небольшой мануал под катом
Total votes 7: ↑6 and ↓1 +5
Comments 9

CSS: селектор на два и более классов одновременно

Reading time 1 min
Views 39K
Оказывается, чтобы выбрать элемент, принадлежащий классам foo и bar одновременно (<div class="foo bar">, например), то можно писать так:

div.foo.bar { ... }

Выяснил случайно экспериментально. Не знал, стыдно.
Total votes 47: ↑24 and ↓23 +1
Comments 24

НЛО

Reading time 1 min
Views 2K
Думаю, логично было бы начать этот блог с того, что НЛО всё-таки прилетел, а не прилетело. Я, конечно же, понимаю, что для многих НЛО не является стандартной расшифровкой, но всё же, это, в первую очередь, Объект, а потом уже всё остальное.
Total votes 85: ↑63 and ↓22 +41
Comments 118

Параграф 1

Reading time 1 min
Views 466
Бог как обычно сидел в своем кабинете и разбирал бумаги. Время было уже к обеду, как вдруг вошел архангел, подошел к столу и положил на край небольшую стопочку бумаг.

— Тут вот сверху с пометкой «срочно», какой-то Лебедев. — шепотом, чтобы не отвлекать Главного, сказал архангел.

Бог нахмурился, взял листок в руки и бегло просмотрел.

— Кто такой Лебедев?

Архангел лишь пожал плечами, развернулся и скрылся за дверью. Бог встал, прошелся по кабинету все с тем же нахмуренным лицом, заложив руки за спину. Затем подошел к двери, осторожно выглянул и убедившись что там никого нет закрыл дверь на ключ. Он вернулся к столу, достал из ящика печать, шлепнул ею по бумажке. На бумаге четко проявилось — «Вернуть». После чего Бог спокойно вернулся к компьютеру и, насвистывая какую-то приятную мелодию, отправил очередное свое творение в бизнес-линч.

PS: это не богохульство, я глубоко верующий; это не для разжигания холиваров, я глубоко уважаю Артемия Андреича равно как и других хороших дизайнеров. Но я же все понимаю, это Хабр, поэтому когда будете минусить карму, пожалуйста, оставьте десяточек, угу?
Total votes 22: ↑13 and ↓9 +4
Comments 5

Хабрапорка: бить или не бить?

Reading time 1 min
Views 500
Итак, можно подвести итоги опроса: проголосовавшие разделились на два примерно равных лагеря, хотя «за» чуть больше. Ну так что же, значит довольно большому количеству хабраграждан подобный блог будет полезен. Осталось только найти добровольца, который создаст этот блог и будет за ним тщательно следить. Есть люди, которые без лишней скромности могут сказать — «я хороший дизайнер»?
Total votes 13: ↑7 and ↓6 +1
Comments 3
1

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity