Ничто не предвещало беды, как вдруг в утренней тишине по квартире разлилась трель сотового телефона. Наташа, наш главный бухгалтер, крайне прискорбным голосом сообщила, что в организации (назовём её ООО «ААА») ничего не работает, и директору уже доложено в самых ярких тонах. Что характерно, никаких звонков ни мне, ни напарнику от этих товарищей не поступало. Ещё не совсем отойдя ото сна праведного, я поинтересовался у неё, что же именно там не работает. «Всё», — как-то иронично ответила Наташа и попросила меня съездить и разобраться.
Вооружившись всем, чем только можно, и придумывая на ходу гневные речи с пониженным содержанием матюгов, выезжаю на место ЧП. Встречает толпа народа в отделе кадров оного ООО «ААА».
— Ну, что тут у вас не работает?
— Ой, знаете, тут принтер бумагу жуёт и греется сильно.
В углу стоит маленький лазерный принтер, явно рассчитанный на домашнее использование. Нахожу на нём бумажку, приклеенную на скотч, читаю. «Инв. № *****, модель… Введён в эксплуатацию в 2007 году». Отлично. Малыш, через которого ежедневно прогоняют по полторы пачки «Снегурочки», вдруг начал её жевать? Побойтесь Всевышнего, как он вообще у вас ещё не сдох?
— И как давно у вас он бумагу жуёт?
— Ну, уже полгода как.
— Мда. Ещё что-то не работает?
— Знаете, на мониторе буковки расплываются.
Судя по виду, монитору лет семь. Неудивительно.
— Ещё неполадки?
— Да вроде всё…
Вот тут меня чуть не прорвало. Утром сотрудница этого «ААА» попыталась распечатать что-то на этом старичке в очень большом количестве, и в закономерном итоге примерно каждый пятый лист оказался замят принтером. Возмутившись, она поскакала к генеральному и во всей красе рассказала, что у них там ничего не работает, а «ваши компьютерные администраторы» занимаются непонятно чем и ни шиша не ремонтируют. Генеральный тут же пошёл наводить разборки с Наташей, которая, кроме ведения бухгалтерии, ещё и курирует нас с напарником. Ворвавшись в бухгалтерию, генеральный зарычал на неё, устроив ей нервный срыв. У Наташи (надо отдать должное, сильная девушка) едва хватило сил объяснить генеральному, что админы занимаются именно тем, чем и должны, а вот какого лешего АААшники сидели и молчали до последнего, зная наши с напарником телефоны (приклеены на каждом мониторе), — вообще тайна, покрытая мраком.
— Сидели и молчали, говоришь? — генеральный начал остывать.
— Да, — ответила Наташа сквозь слёзы.
— Ну вот пусть и дальше тогда сидят!
В этот же день я составил акт о состоянии принтера и монитора, в котором значился вердикт о необходимой замене обоих. Там же жирным шрифтом стояла отметка о том, что больше никто из сотрудников ООО «ААА» (кроме той дамы) на технику не жалуется. Когда отдал акт генеральному, тот как-то недобро усмехнулся, отчего у меня аж мурашки побежали.
— Будет им принтер… — многозначительно произнёс генеральный.
Второй день ждём апофеоза. АААшников не видно, а если и попадаются на глаза, то все какие-то ссутуленные, пришибленные, глаза в пол прячут и стараются прошмыгнуть куда-нибудь поскорее. Наташа загадочно улыбается.
#9944: get и put до добра не доведут
12:15 30.09.2012, IT happens
Субботний вечер. Хочется творить, но делать что-то серьёзное лень. Вспоминаю, что в пятницу мне на работу как раз прислали файлик, который надо покопать и изучить. То есть надо удалённо залезть на рабочий комп. Challenge accepted!
Так, в рабочую сетку попал без проблем. Дальше — зайти на комп. Облом: он не пингуется. Выключился, что ли? Стоп, ему и не надо пинговаться. Там просто злобный К-антивирь, который блочит всё, что пахнет ICMP. Зато должен работать отладочный веб-сервак, где я тестирую проект перед коммитом на боевой сервер. Открываю адрес в браузере — веб работает, значит, комп таки включён.
Надо как-то достать нужный файл с этого компа. Для этого нужен FTP-доступ в нужную папку или шелл-скрипт на упомянутом веб-сервере. По FTP на этот комп залезаю крайне редко, пароль рута не помню. FTP-сервер упорно меня редиректит на Anonymous-аккаунт, который мне на фиг не нужен. С недоброй усмешкой потираю руки, понимая, что сейчас прийдётся ломать собственную систему.
Явных дырок в проекте нет, что радует. Пораскинув мозгами по черепной коробке и руками по клавиатуре, вспоминаю, что есть на этом веб-сервере тайный скрипт, выполняющий произвольные PHP-команды, передаваемые POST-ом (ну, в целях отладки, конечно). А по удивительному стечению обстоятельств я как раз тут админ…
Пишу простейший шелл. Как его залить? Можно сделать тайным скриптом удалённый file_get_contents(), который сам стянет шелл с моей домашней тачки, но из сетки предприятия мой домашний комп недоступен. Просится ленивый вариант: file_put_contents('shell.php', ''). Две минуты — и шелл уже лежит там, где надо.