The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

12.01.2018 10:28  Сбой антиспам-системы привёл к коллапсу в репозитории NPM

В репозитории NPM произошёл инцидент, напоминающий произошедшую в 2016 году историю с модулем left-pad, удаление которого привело к неработоспособности многих проектов из-за потери зависимости. На этот раз причиной проблем стала система автоматизированной борьбы со спамом, из-за которой по ошибке были удалены пользователь floatdrop и 102 разработанных им модуля.

Многие из заблокированных модулей пользовались популярностью и использовались в качестве зависимостей в других модулях и приложениях. Недоступность данных модулей привела к каскадному обрушению зависимостей и невозможности установить или обновить тысячи пакетов в NPM. Например, модуль require-from-string, содержащий всего 25 строк кода, насчитывает более 4.5 млн загрузок в месяц, а модуль timed-out (46 строк кода) более 7 млн загрузок в месяц.

Разбор причин ложного срабатывания антиспам-системы показал, что незадолго до инцидента один из спамеров разместил вредоносный модуль, в который для прикрытия скопировал файл README из легитимного пакета timed-out, принадлежащего пользователю floatdrop. Система распознала вредоносный модуль, но из-за совпадения файлов README посчитала пользователя floatdrop причастным к спаму. Отвечающий за разбор спама персонал халатно отнёсся к своим обязанностям и не разобравшись в сути предупреждения от антиспам-системы подтвердил блокировку учётной записи floatdrop и удалил все его модули из репозитория.

Проблема сразу дала о себе знать и персонал оперативно приступил к устранению неполадок. В течение трёх часов удалось полностью восстановить состояние репозитория. Примечательно, что быстрому восстановлению помешало то, что некоторые предприимчивые пользователи сразу зарегистрировали новые модули с теми же именами, что и удалённые (всего было размещено 11 дубликатов). Появление данных модулей потребовало дополнительного разбора и создало предпосылки для подозрений в попытках распространения вредоносного кода.

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

  1. Главная ссылка к новости (http://blog.npmjs.org/post/169...)
  2. OpenNews: Более половины npm-пакетов могли быть скомпрометированы из-за ненадёжных паролей доступа
  3. OpenNews: Уязвимость в Apache CouchDB, позволяющая совершить атаку на реестр пакетов NPM
  4. OpenNews: Применение тайпсквоттинга для распространения вредоносных модулей NPM, PyPI и Gems
  5. OpenNews: Незащищённость NPM к атакам по внедрению вредоносных модулей-червей
  6. OpenNews: Инцидент с захватом прав на NPM-модуль привёл к сбою в работе проектов, использующих NPM
Лицензия: CC-BY
Тип: Интересно / Проблемы безопасности
Ключевые слова: npm, javascript
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Показать все | RSS
 
  • 1.1, Аноним, 10:54, 12/01/2018 [ответить] [смотреть все]     [к модератору]
  • +5 +/
    Наконец то ходь кто-то спомнил про npm leftpad ... весь текст скрыт [показать]
     
  • 1.2, Zenitur, 10:57, 12/01/2018 [ответить] [смотреть все]    [к модератору]  
  • +6 +/
    Подскажите живущему в 2005, какие интересные проги есть на node.js?
     
     
  • 2.15, Аноним, 11:35, 12/01/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +7 +/
    http://left-pad.io/
     
  • 2.17, IB, 11:42, 12/01/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    peerflix
     
  • 2.22, Аноним, 12:15, 12/01/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    https://github.com/icefapper/offdroid
     
  • 2.26, Филимон Опрометчивый, 12:25, 12/01/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +33 +/
    Чувак, покупай биткойны!
     
     
  • 3.37, Аноним, 14:06, 12/01/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • –3 +/
    Да. Верно!
     
  • 3.63, Дегенератор, 16:38, 12/01/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • –2 +/
    Хоть один адекватный комментарий!
     
  • 3.69, ползкрокодил, 17:21, 12/01/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +2 +/
    У кого покупать? Майнить надо! А лучше выложить реализацию раньше Накамото.
     
  • 2.30, Аноним, 12:48, 12/01/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +14 +/
    > Подскажите живущему в 2005, какие интересные проги есть на node.js?

    Чувак, прочитай это и сделай как я написал, обогатишься и прославишься:
    1. скоро (или уже) у вас появится браузер гуглохром. выковыряй их него потроха, ответственные за clients-side (js, css, html). на это уйдёт наверное несколько месяцев, но время у тебя есть. автоматизируй этот процесс, чтобы при выходе новой версии хрома не тратить на это много времени (так как версии клепаться со временем будут всё чаще).
    2. запакуй их в один архив с последней версией nodejs.
    3. назови это Electron, объяви это проектом для создания десктоп-приложений. сделай демку, какой-нибудь helloworld. Будет тормозить и жрать память как не в себя, но не переживай: в наше время все уже привыкли к тормозам и ничего не заметят, а памяти если что ещё докупят.
    4. сделай для него сайт. основными особенностями должны быть: на сайте должна быть только одна страница (главная), размер шрифта не меньше 18 (можешь просто сделать такой размер, чтобы было комфортно читать, потом нажать три раза Ctrl-+ и захардкодить в css получившийся размер).
    5. создай на гитхабе аккаунт electron, в нём - репозиторий electron (если будут заняты, используй electronjs). а чтобы защититься от киберсквоттеров, зарегай домен electron.org (если уже занят, подойдёт electroljs.org, также популярны домены в зоне io, можешь попробовать какой-нибудь electron.io).
    6. в начале 2013 года убирай с сайта robots.txt и готовься к наплыву посетителей и пользователей этой штуки.

    P.S. Должен предостеречь, что с самого начала технически подкованные люди будут тебя ненавидеть за это, так что решай сам, стоит ли оно того: стоит ли ненависть тысяч восхищения миллионов.

     
  • 2.34, anonymous_coprophagus, 13:28, 12/01/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +30 +/
    Предупреди всех, чтобы не брали интел!
     
     
  • 3.57, Аноним, 15:53, 12/01/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +6 +/
    ЫЫЫ!!! Коммент года! :D
     
     
  • 4.96, Аноним, 22:27, 12/01/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    353 дня впереди - то ли ещё будет!
     
  • 2.60, Виталик, 16:26, 12/01/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +2 +/
    Если речь про десктоп проги она всего 1 визуал студия код от майкрософт хейтер... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.62, arisu, 16:38, 12/01/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +3 +/
    визуал студия хороший редактор дальше можно не читать, всё равно чушь написана... весь текст скрыт [показать]
     
     
  • 4.64, Виталик, 16:41, 12/01/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Речь не про их ИДЕ которой нет на линукс, а про https github com Microsoft vsc... весь текст скрыт [показать]
     
     
  • 5.67, arisu, 16:50, 12/01/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    то есть, ты решил вообще себя зарыть воистину не надо мешать людям говорить, и... весь текст скрыт [показать]
     
     
  • 6.79, Аноним, 19:12, 12/01/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Ну там реально всего одна известная проблема, реализация мигания курсора потребл... весь текст скрыт [показать]
     
     
  • 7.82, arisu, 19:18, 12/01/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +2 +/
    8230 двигатель браузера под капотом ... весь текст скрыт [показать]
     
  • 7.83, arisu, 19:25, 12/01/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    p s когда мне надоел тот прискорбный катаклизм, который я наблюдаю в редактора... весь текст скрыт [показать]
     
     
  • 8.87, и полностью его расцвечивает, 20:00, 12/01/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    , ты читать его собрался используй grep и не и и себе и другим моск ... весь текст скрыт [показать]
     
     
  • 9.88, arisu, 20:05, 12/01/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    а вот это у нас поколение младое прорезалось думать не умеет, код делать не уме... весь текст скрыт [показать]
     
  • 8.89, Гроздь, 20:25, 12/01/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    попробуй вкурить acme из plan9port - весчь https github com evbogdanov acme б... весь текст скрыт [показать]
     
     
  • 9.90, arisu, 20:35, 12/01/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    мне он идеологически не нравится.
     
     
  • 10.91, Гроздь, 20:41, 12/01/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    есть клоны с текстовым режимом и емаксовыми кейбиндингами ... весь текст скрыт [показать]
     
     
  • 11.92, arisu, 20:46, 12/01/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    но зачем это, если у меня уже есть свой редактор, который работает именно так, к... весь текст скрыт [показать]
     
     
  • 12.93, Гроздь, 20:55, 12/01/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    потому что это довольно накладно однако, если тебя все устраивает, то меня и те... весь текст скрыт [показать]
     
     
  • 13.94, arisu, 21:06, 12/01/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +2 +/
    x2 5 памяти на файл, с полным кэшированием раскраски да нет, не накладно 821... весь текст скрыт [показать]
     
     
  • 14.99, Аноним, 00:03, 13/01/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Зачем тебе полностью читать файл в память Или у тебя такой большой экран, что ц... весь текст скрыт [показать]
     
     
  • 15.100, arisu, 00:05, 13/01/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    затем, что если я захочу медленный редактор, то я знаю, где скачать какое 8208 ... весь текст скрыт [показать]
     
     
  • 16.109, Аноним, 14:17, 13/01/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Медленный, как vim ... весь текст скрыт [показать]
     
     
  • 17.110, arisu, 14:56, 13/01/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    это ты сейчас решил пошутить на тему скорости вима грешно убогих пинать как мо... весь текст скрыт [показать]
     
     
  • 18.115, Аноним, 20:52, 13/01/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Не угадал Вторая попытка ... весь текст скрыт [показать]
     
     
  • 19.116, arisu, 20:54, 13/01/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    а, ты не шутил, ты просто не видел быстрых редакторов ну, бывает не отчаивайся... весь текст скрыт [показать]
     
  • 15.102, XoRe, 02:19, 13/01/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Ctrl F и слушаешь, как винт поскрипывает ... весь текст скрыт [показать]
     
     
  • 16.108, Аноним, 14:10, 13/01/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Чтобы винт не поскрипывал, есть дисковый кеш.
     
     
  • 17.111, arisu, 14:57, 13/01/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    как хорошо, что когда вы войдёте в полную силу 8212 я уже сдохну ... весь текст скрыт [показать]
     
  • 17.122, XoRe, 18:18, 15/01/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Если вы про кеш самого диска на X мб, то файл туда как попадет, так и выпадет е... весь текст скрыт [показать]
     
  • 7.112, Аноним, 16:50, 13/01/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    так это надо тоже суметь ;)
     
  • 1.4, Аноним, 11:00, 12/01/2018 [ответить] [смотреть все]     [к модератору]  
  • +5 +/
    И никто в сообществе жепоскриптеров так и не подумал за всё это время плюнуть на... весь текст скрыт [показать]
     
     
  • 2.7, A.Stahl, 11:07, 12/01/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +6 +/
    Видимо удобство перевешивает периодические проблемы.
     
  • 2.9, Аноним, 11:08, 12/01/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +2 +/
    Криворукий скорее тот, кто вместо вставки 30 строк кода цепляет отдельный модуль... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.13, mrd, 11:26, 12/01/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Та страница показывает последний коммит, а не разницу между релизами Вот наприм... весь текст скрыт [показать]
     
  • 3.40, Аноним, 14:15, 12/01/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Да пофиг сколько там строчек кода Плохо - что даже эти пару строчек кода никем ... весь текст скрыт [показать]
     
  • 2.105, Аноним, 11:14, 13/01/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    > жепоскриптеров
    > подумал

    /0

     
  • 1.11, X4asd, 11:19, 12/01/2018 [ответить] [смотреть все]    [к модератору]  
  • +5 +/
    > была введена 24-часовая задержка републикации удалённых пакетов (для защиты от незаметного размещения вредоносных пакетов вместо удалённых)

    они там реально идиоты?

    почему 24 часа, а не скажем 365 дней?

     
     
  • 2.18, Аноним, 11:56, 12/01/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +6 +/
    >они там реально идиоты?

    с точки зрения обычного человека, идиоты. С точки зрения современного человека, альтернативные гении.

     
  • 2.39, Аноним, 14:10, 12/01/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    Нужно блочить навсегда.
     
  • 2.42, Аноним, 14:23, 12/01/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +1 +/
    Меня больше интересует, почему этого не сделали два года назад.
     
     
  • 3.71, Аноним, 17:29, 12/01/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    npm это сброище модулей для node js, ,js собственно потому они и в этот ... весь текст скрыт [показать]
     
  • 2.113, Аноним, 16:51, 13/01/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    просто от них ничего не зависит поэтому они должны страдать ... весь текст скрыт [показать] [показать ветку]
     
  • 1.12, Аноним, 11:21, 12/01/2018 [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    При удалении gmail логин в системе деактивируется навсегда и никогда не будет св... весь текст скрыт [показать]
     
     
  • 2.80, Аноним, 19:15, 12/01/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +4 +/
    А номер телефона через полгода выдадут другому человеку ... весь текст скрыт [показать] [показать ветку]
     
  • 1.14, Аноним, 11:27, 12/01/2018 [ответить] [смотреть все]    [к модератору]  
  • +21 +/
    Полон опасностей NPM-мирок
     
     
  • 2.19, Аноним, 12:03, 12/01/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • –1 +/
    обиженные похапешники теперь будут совать это под каждой новостью о любом языке ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.27, анонимус, 12:31, 12/01/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    А похапешники тут при чем У них с композером такого не происходит И lock файлы... весь текст скрыт [показать]
     
     
  • 4.33, vitalif, 13:21, 12/01/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    и композер нафек не нужен, т к а в пхп почти все и так встроено б если тако... весь текст скрыт [показать]
     
  • 1.16, анон, 11:39, 12/01/2018 [ответить] [смотреть все]    [к модератору]  
  • +4 +/
    хех, недавно на медиуме была статья на эту тема, эпичное чтиво, рекомендую:

    https://hackernoon.com/im-harvesting-credit-card-numbers-and-passwords-from-yo

     
     
  • 2.51, Crazy Alex, 15:22, 12/01/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +1 +/
    да, достойно
     
  • 2.114, Аноним, 17:52, 13/01/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    da zabavno D ... весь текст скрыт [показать] [показать ветку]
     
  • 2.118, User, 10:42, 14/01/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    Перевод на хабре
    https://m.habrahabr.ru/company/ruvds/blog/346442/
     
  • 1.24, anomymous, 12:20, 12/01/2018 [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    Ещё раз: бездумный депенденс на хипстерские репы - зло. Только статическая сборка, причём каждое обновление библиотек должно проходить ревью.
     
     
  • 2.25, anomymous, 12:21, 12/01/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    И regression testing, да.
     
     
  • 3.97, Michael Shigorin, 23:27, 12/01/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –5 +/
    Прочитал сперва как aggression testing -- задумался про defensive programming ... весь текст скрыт [показать]
     
  • 2.28, RobotsCantPoop, 12:34, 12/01/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +2 +/
    Ага, а потом начнут орать про бюрократию, совок и про то что инноватора ни з... весь текст скрыт [показать] [показать ветку]
     
  • 2.55, Аноним, 15:43, 12/01/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    Сплю и вижу статически собранный дистрибутив ГНУ Линукс с ревью и тестами на рег... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.65, amonymous, 16:44, 12/01/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    RHEL так и собирается, а что Да и почти любой бинарный дистр GNU Linux Под ста... весь текст скрыт [показать]
     
     
  • 4.75, Аноним, 18:05, 12/01/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –2 +/
    Начинаются манёвры Под статической сборкой что-то внезапно понимается что-то со... весь текст скрыт [показать]
     
  • 3.98, Michael Shigorin, 23:50, 12/01/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –3 +/
    Ммм была ведь такая попытка, какие-то детишки-слакваристы вроде с полотна Ут... весь текст скрыт [показать]
     
  • 1.45, Аноним, 15:01, 12/01/2018 [ответить] [смотреть все]     [к модератору]  
  • +2 +/
    надеюсь, имена этих героев известны и все они уже забанены просто так ... весь текст скрыт [показать]
     
     
  • 2.56, Аноним, 15:47, 12/01/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • –2 +/
    Стоят в очереди на получение бана сразу после 171 тупых инженеров из Интела 1... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.123, Аноним, 09:47, 16/01/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Сравнение неуместно Joyent - коммерческая компания, на своём сайте кого хочет -... весь текст скрыт [показать]
     
  • 2.84, Аноним, 19:29, 12/01/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    Да вас же, вэб-макак, всех не перебанишь Тут только дустом можно попробовать сп... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.119, Аноним, 12:28, 14/01/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    хорошо, что немакаки-хеловорлдщики только в комментах гядят, а то хана вообще вс... весь текст скрыт [показать]
     
  • 1.46, Аноним, 15:03, 12/01/2018 [ответить] [смотреть все]     [к модератору]  
  • +/
    а вот в pipa почему-то такого нет Потому что модерации нет совсем ... весь текст скрыт [показать]
     
  • 1.49, name, 15:12, 12/01/2018 [ответить] [смотреть все]    [к модератору]  
  • +2 +/
    >персонал

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

     
     
  • 2.95, копипастер, 22:26, 12/01/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +1 +/
    > с бутылкой пива

    с кружкой смузи // fixed

     
  • 2.121, user455, 16:29, 15/01/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    а какая разница в 21 веке где сидит сотрудник и что он держит в руке?
     
  • 1.101, smile, 01:04, 13/01/2018 [ответить] [смотреть все]    [к модератору]  
  • +3 +/
    npm-экосистема конечно впечатляет своей убогостью, но заголовок не соответсвует, ведь

    > и не разобравшись в сути предупреждения от антиспам-системы подтвердил блокировку

    результат рукожопов, а не тупенького спам-фильтра, который, как никак, расстарался и предупредил.

     
  • 1.103, dasrfatwet, 03:40, 13/01/2018 [ответить] [смотреть все]    [к модератору]  
  • +/
    Не удивлюсь если уже существуют или в будущем появятся стартапы про безопасность npmjs репозиториев по типа как с докером было.
     
     
  • 2.104, dasrfatwet, 03:40, 13/01/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    Естественно за деньги.
     
     
  • 3.120, Аноним, 04:52, 15/01/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    И за деньги есть, и бесплатно, но с e 769 769 769 блей Артифактори, наприм... весь текст скрыт [показать]
     
  • 1.124, fantom, 18:58, 16/01/2018 [ответить] [смотреть все]    [к модератору]  
  • +/
    Народная мудрость последнего абзаца:

    Решительный шаг вперед есть результат хорошего пинка взад!

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor