mendel

mendel
Рейтинг
232
Регистрация
06.03.2008
danforth:
Я понимаю что ты фанатик питона и джанги, но даже на них нужно писать хоть сколечко отказоустойчивое и оптимизированное приложение.

У меня месяц назад (да, именно тогда) на тестовом хостинге произошло одновременно два события - один эникейщик решил устроить взлом/дос/проверку_безопасности одного скрипта. В это время заглючило железо на хостмашине где живет вдс. Специально выяснял что это таки железо, а не падение под нагрузкой. Совпадения бывают, да.

Не знаю кто из вас тут прав, просто в тему.

Futuris:
Ну и работу вы проделали. Буду осмысливать. Спасибо!

Да сколько там той работы). Всегда знал что такие псевдозащиты именно что псевдо, но на практике колупать не пробовал.

Ну и да, это меня окончательно убедило что свой фреймворк буду под MIT выкатывать. А то со своими страхами форка выгляжу как эти ребята защищая свою "курсовую".

Futuris:
В принципе кода там немного. Ручками возьму и пересмотрю в редакторе.

минифицированный пхп-файл? (явно как альтернатива обфускатору).

Или такой же минифицированный жс?

Бросьте это гиблое дело.

Тут или сканер какой натравить или забить.

Разработчики принципиально не хотят чтобы у них искали ошибки, и очень ценят свой труд).

---------- Добавлено 31.03.2017 в 12:59 ----------

АПД: Не хочу повторять слова одного кульхацкера, но мне кажется что XSRF там должен быть наверняка. Но... зачем оно вам в принципе? Я имею ввиду зачем вам это проверять?

Бегло посмотрел демку, как я понял это велосипед на тему jstree и ace. Ну загрузчик файлов еще вестимо.

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

Без велосипедизма в редакторе - такие вещи пишет каждый второй программист на том или ином этапе своего развития. Дырявое оно или нет - не важно.

Не будет вас никто целенаправленно ломать. А от автоматического взлома оно скорее всего защитит.

---------- Добавлено 31.03.2017 в 13:34 ----------

АПД: вру, оно таки обфусцировано немного. Но в целом вскрывается консервным ножом. Обфусцированно руками, не нормальным софтом, т.е. это стиль у людей такой. Т.е. автор мыслит так, чтобы сложно было прочитать).

Я сначала подумал что это чтобы запутать, но вот такие обороты явно не обфускатором деланы:


final class a
{
private $a;
private $h;
public function __construct()
{
$this->a['a'] = $_GET;
$this->a['b'] = $_POST;
$this->a['c'] = $_SERVER;
$this->a['d'] = $_COOKIE;
$this->a['e'] = $_FILES;
}
.....
public function e($a, $b = false)
{
if (isset($this->h['d'][$a]))
return $this->h['d'][$a];
else if (isset($this->a['d'][$a]))
return $this->h['d'][$a] = $this->g($this->a['d'][$a], $b);
}
private function g($a, $b)
{
if ($b && ($c = 'g_' . $b) && method_exists($this, $c))
return $this->$c($a);
else
return $a;
}
private function g_sha1($a)
{
preg_match('~^[a-z0-9]{40}$~i', $a, $b);
if (isset($b[0]))
return $b[0];
}
}

Ну т.е. именование такое может быть искусственным, циклический вызов этого может быть исскуственным, но передача третьего параметра в прег_матч, который неинициированный, вот эти гет-посты в конструкторе, финал, приват/паблик без протекта... всё это признаки именно стиля.

Реальных уязвимостей не нашел, но вот такие вот обороты вызывают вопросы:


$a = $this->t->e('textolite_session', 'sha1');
...
$b = unserialize(urldecode($this->s->h('auth_error_list')));
...
$g = $this->t->d('password', 'sha1');

unserialize на самом деле на строчку из конфига ведет, но стиль блин!

ну и сочетание слов пароль и sha1 тоже вопросы вызывает.

Опять таки повторюсь - Неуловимый Джо остается неуловимым. Я из чисто академического интереса.

SeVlad:
Мне вот что интересно - почему так никто и не сказал ТСу, что "поисковые роботы" находят не php-скрипты, а html-страницы?

Да он настаивает на своей версии что его атакуют роботы с целью увидеть исходники когда от глюка апач "забудет" что пхп нужно выполнять и будет отдавать как статику.

В истории такие случаи были. Давно. Редко.

Но человека не переубедить, так что смысл капитанить?

vandamme:
гугление выдает не сервис, а список сервисов (компаний) как минимум 3-4 шт.

Это надо в комплексе читать, с тем что я не попугай.)

Бесплатный сервис сертификатов один. Летсэнкрипт.

И чтобы два раз не вставать - сразу гуглите чем они отличаются от остальных, кем созданы, с какой целью и т.п.

umercomp:
Простите, у Вас имбецилы работают, раз при попытках взлома к логам догадываются обратиться через н-ный промежуток времени? Вопрос риторический.

Имбецилы это те кто дает эмоциональную оценку чужим бизнес-процессам по экспресс-оценке трех строк поста).

Ваша оценка моих умственных способностей сродни оценке нашего решения этим кульхацкером).

Оргвопросы решались оперативно. Даже техдира хостера (спасибо гиперхосту) разбудили для некоторых подробностей.

А читать логи неудавшегося взлома когда автор атаки известен и опознан, и уровень квалификации деятеля - крайне низкий? А смысл? Я бы вообще их не читал, просто вчера добрался до этих логов по другой причине. Выполнял совершенно другие, не связанные с этим инцидентом манипуляции, обратил внимание на одну "странность". Задумался. Предположил что это период того инцидента. Проверил. Да, именно тогда. Раз наткнулся, то прошелся чуть подробнее.

У чувака был по сути полный карт-бланш. Ему не просто выдавали 500 или 403 на его "шалости" а подробно выдавали описание. XsrfException или ActionNotFoundException, да и даже если и ForbiddenException то со стеком дебаг_бектрейса. Т.е. включен подробный лог, включен ДЕВмод с выдачей всех нотисов в браузер и т.п. И чувак ничего не нашел. Совсем ничего.

Что мне было искать в логах?

Сайтов то много есть. На клиентские скрипты сайты регулярно кто-то ломится. Ну что я там найду?)

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

Меня смутило что чувак совсем сырой, явно каким-то софтом рыл, а запрос был к месту.

(Механический сканинг виден по времени между запросами и их массовостью, а также то что пробовали через форму заливки файлов скачать /etc/password при этом даже не вытаясь нащупать что-то другое через нее же, хотя ежу понятно что такое только при очень большом везении прокатит, да и "тестировали"/атаковали софт, а не сервер).

danforth:
Вы в NASA работаете?
Или единственные, кто мог сделать за озвученный бюджет?
Или там просто ваша поделка, которую только вы в состоянии поддерживать?

Это американская компания.

Они обращались к энному количеству разработчиков.

Все говорили им что это принципиально невозможно сделать, и вопрос не в бюджете а в том что задача не решаемая.

Мы согласились. Бюджет назвал клиент.

Мы естественно согласились за верхнюю планку).

ТЗ было ужасным (вернее его не было).

АПИ систем с которыми интегрировались ужасный,

все данные везде забивались задней левой ногой.

Основная сложность была в том чтобы придумать что же именно с этим делать,

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

Ну и на закуску была еще чудесная задача по нормализации того ужаса что они позабивали в первичку. Опечатки, дубли и т.п., учет в совершенно другой системе координат, в общем полный набор нормализации. Причем взять и все остановить, поприделывать везде нормальный SKU (артикул), создать таблицу отождествления 1 к 1 было нереально ибо данные поступают live, плюс основной фишкой было сопоставление исторических данных и текущих. Ну и штат персонала продолжает добавлять номенклатуру исходя из их кривого формата.

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

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

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

Когда всё сделали - как всегда стало казаться что "ой, а оно вон как оказывается просто, и за что с нас такие деньги дерут?" (ну да, по американским тарифам, факт).

богоносец, официально они боялись за свои данные. Типа чтобы не взломали.

Фантастическая версия - взломать и скомуниздить.

Но думаю все прозаичнее - повод для торга искали.

Но там без вариантов было - мы единственные кто мог сделать, они единственные кто мог купить (с оговорками, но через их голову сложно).

---------- Добавлено 30.03.2017 в 22:46 ----------

апд: в контексте вопроса я имел ввиду быстрый полуавтоматический взлом/тест, без особых навыков и усилий.

vandamme:
ну понятное дело есть сервисы выдающий сертификат на год бесплатно, а дальше - видимо платить же придется?

Я похож на попугая?)

Не на год.

Платить не придется.

Не сервисЫ а сервиС.

vandamme:
за такие бабки выбор как раз есть - нафиг он нужен.

За какие бабки вам не нужен бесплатный сертификат?

danforth:
Обычно берется Kali Linux и прогоняется всем что есть, включая sqlmap, w3af и прочее.

Ну "всем чем есть" это понятно)

Вопрос был скорее что стандартное и "для блондинок".

danforth:
Мне больше интересно, почему коммерческий отдел выдвигает претензии отделу разработки.

Там не претензия была, там была именно просьба "быстро и жестко".

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

Всего: 1906