qkowlew: На Зилантконе меня сфоткали мыльницей. Мыльницам не позирую! (фига)
[personal profile] qkowlew
...он с любопытством ковырялся в пойманном проклятии, всё ещё колебавшемся на кончике палочки, вытягивал пальцами красные искры и отщёлкивал их в стороны, разбирая заклинание на части, словно детскую игрушку-конструктор...

Домен зареган 1 ноября 2013.

Сайт залит на хостинг 6 ноября 2013.

8 ноября 2013 в него добавлено минимум три закладки формата "приход с запросом POST на определённый URI сотворяет и исполняет PHP код" и одну формата "создаём ежеминутное задание в кронтаб, исполняющее созданный 1.sh который творит бинарные файлы libworker.so и /usr/bin/host, причём их содержимое зависит от архитектуры. :)

В 2014 и в 2015 годах, явно по случаю продления домена, админы хостинга просыпались и обращали внимание, что сайт что-то делает не то. На тему чего его блокировали и частично очищали от говна (но часть говна, особенно бинарник /usr/bin/host, жила неизменно).

Cледы этого - в тикет-системе хостера, с датами блокировок

24 января (неизвестно, правда, каким кодом, и мне откровенно лень искать) в корне сайта было нагенерено около 80 тысяч статических .html, представляющих собой фишинговые страницы, имитирующие страницы магазинов японоязычного содержания, при этом сделанные как "якобы вы сюда пришли с результатов поиска в Yahoo", но формочки при этом отправляют POST с интересными данными на разные странные адреса.

25 января хостер написал ругательство - исправьте в течение недели а то заблокируем.
Примерно вчера заблокировали.

Иными словами, в течение 2 с лишним лет сайт не столько служил его заказчику, сколько помогал зарабтывать бабло целой пачке злоумышленников.

Сегодня я всего лишь копаюсь в коде этого угробища.

Date: 2016-Feb-19, Friday 17:29 (UTC)
From: [identity profile] besm6.livejournal.com
Вопрос о платформе - это вопрос о врожденных дырах в ней, о ее типичном применении, или о ее применении в данном экземпляре?

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

Ну, если eval внешних данных применяется в самой платформе, то это, конечно, однозначный крест на платформе. Если в типичном применении - неоднозначный, но тоже крест...

А так-то я такую дыру могу даже на хаскеле оставить. На хаскеле, правда, специально постараться придется...