Часть 44 из 69 В начало
Для доступа к библиотеке пройдите авторизацию
– Не сомневаюсь, – кисло улыбнулась Юлита. – Но я в тебя верю, Янек. Ты справишься.
– Ну ладно… – вздохнул он. – Я уже вошел во внутреннюю сеть, у меня есть доступ к серверу файлов, на котором хранятся записи, но я не знаю пароль. Попробую сначала внедрение SQL-кода, эс-кью-эл, сокращение от structure query language, это такой язык, который используют для создания и модификации баз данных, а внедрение, потому что…
Было почти восемь утра. Юлита не спала двадцать часов. И вообще этого не чувствовала.
Прокурор Бобжицкий сидел в приемной, над стеклянной чашкой поднимался пар. Он совершенно иначе представлял себе это заведение. Скорее как тюрьму. А здесь линолеум на полу, стены в пастельных тонах, на стенах отвратительные рисунки пациентов (натюрморт с цветами, сельский пейзаж, чей-то кривой портрет), дешевая пластмассовая мебель всех цветов радуги. По коридору туда-сюда ходил сгорбленный мужчина, шаркая стертыми тапочками, где-то вдалеке работал телевизор, пахло вареной капустой. Что-то вроде дома престарелых. Только в дверях магнитные замки, а окна не открываются.
– Господин прокурор?
Бобжицкий обернулся на голос. В дверях стоял охранник-не-охранник.
– Да?
– Все готово.
– Спасибо. Уже иду. – Он глотнул горячего чая, обжег рот.
Маленькая комната, окно, выходящее в лес, письменный стол, два стула. На одном из них сидел Павел Кордицкий. Пожалуй, самый ненавистный мужчина в стране. Длинные редеющие волосы, связанные в хвост яркой резинкой. Растянутый спортивный костюм. Шлепанцы. Опухшее серое лицо. На солнце он бывал редко.
– Добрый день! – Прокурор занял место с другой стороны стола. – Цезарь Бобжицкий.
– Безумно приятно.
Тишина. Бобжицкий открыл папку, щелкнул замок.
– Чему обязан таким удовольствием? – Кордицкий положил руки на стол. – Новое обвинение? Вы опять нашли что-то в моей комнате?
– Нет. Речь не о вас.
– А о ком?
– Позвольте мне задавать вопросы.
– А я должен отвечать?
– Вы ничего не должны.
– Ну да, – фыркнул Кордицкий. – Ведь я же свободный человек.
“Пятнадцать лет”, – подумал Бобжицкий. Столько ему дали. “Слишком мало!”, – кричали газеты, “слишком мало!”, – кричали люди возле здания суда после последнего заседания. Вот и нашлось решение. Справедливое-несправедливое.
– С 1991 по 1993 год вы работали в театре “Крулевич”. Верно?
– Верно, – Кордицкий кивнул. – Кладовщиком.
– В то же время там играл Рышард Бучек. Вы были с ним знакомы?
– Разумеется. Я всех знал.
– Как бы вы определили ваши с ним отношения?
Кордицкий посмотрел вверх. В центре потолка висела камера.
– Она не регистрирует звук, – сказал Бобжицкий, прочитав его мысли.
– Точно.
Снова тишина. Только тикали настенные часы.
– Повторяю, речь не о вас.
– Ага. Я не дурак.
– Попробую иначе. Было ли что скрывать Рышарду Бучеку?
Кордицкий взглянул ему в глаза, словно проверял, не насмехается ли тот над ним. А потом рассмеялся. Мокрый смех, переходящий в кашель, слизь, отрывающаяся от горла.
– Что вас так развеселило?
– Нет, нет, в горло что-то попало. – Кордицкий вытер слезы.
Бобжицкий сложил ладони треугольником. Надавить так надавить.
– Я слышал, вам разрешили держать в комнате телевизор. Десять каналов, да? Окно в мир, так сказать.
– А что?
– Вы же не дурак.
У Кордицкого задергалась нога. Так, что задрожал стол.
– Я вам расскажу одну историю, господин прокурор, – произнес он наконец, – совершенно вымышленную. Любые совпадения с реальными людьми и событиями случайны. Вы понимаете?
– Понимаю. – Бобжицкий снял колпачок с ручки. – Я вас внимательно слушаю.
Юлита видела несколько фильмов о хакерах. Темный подвал, мужчина в капюшоне, лицо, освещенное бледным светом экрана. Пальцы танцуют по клавиатуре, все быстрее и быстрее, как у пианиста, играющего крещендо, напряжения добавляет динамичная электронная музыка, там-дам-там-дам-дам, там-дам-там-дам-дам, на экране мелькают зеленые буквы и цифры, или лучше китайские знаки, так быстро, что обычный человек не успевает их прочитать; крупным кадром бегающие глаза хакера, в них отражается текст. Вдруг появляется красная полоска с надписью ACQUIRING NETWORK или BREACHING FIREWALL, тридцать процентов, семьдесят процентов, хакер стучит по клавишам еще быстрее, на экране всплывают все новые и новые мигающие окошки с восклицательными знаками, восемьдесят процентов, девяносто пять процентов… Наконец полоска достигает конца, появляется зеленая надпись ACCESS GRANTED, хакер откидывается на кресле и довольно вытирает пот со лба.
То, что делал Янек, ни в чем не напоминало те фильмы. В поле “логин” он вписал только один символ: апостроф, а потом нажал enter. Чуть позже появилось сообщение. Server Error.
– Отлично, – Янек потер руки. – Быстро управимся.
– Я не понимаю… – Юлита напряженно вглядывалась в экран, словно смотрела на один из таких рисунков, которые скрывают в себе другой рисунок, заметный, только если напрячь зрение. Но другой рисунок не появлялся.
– Это значит, что база данных сконфигурирована неверно. Она плохо фильтрует признаки утечки. Иначе мне бы пришло сообщение, что нет такого пользователя.
– Э-э-э…
– Ну, благодаря этому я могу изменить исполняемый запрос, – сказал Янек и вписал в поле “логин” следующую команду. – Ладно, сейчас не мешай, мне нужно пять минут и…
– Стоять, стоять, стоять. – Юлита сложила экран ноутбука, игнорируя протесты Трана. – Мы не так договаривались. Ты должен был мне все объяснить.
– Ну вот я и объясняю.
– Так, чтобы я не чувствовала себя дурой.
Янек погладил усы, вздохнул.
– Юлита, ты понимаешь, чего ты от меня требуешь? – раздраженно уточнил он. – Представь, что ты приходишь на лекцию на четвертом курсе мехмата и надеешься, что тебе объяснят, как решать их задачи. Барышня, вы же ничего не знаете.
Вроде все верно, но ее задело за живое. И еще это “барышня” свысока. “Хрен тебе, парниша, – подумала она, – я от тебя не отстану”.
– Подумай об этом так, – сладко проворковала Юлита. – Какая прекрасная возможность для подающего надежды педагога.
– Но я не… Э-эх. – Янек умолк и открыл бардачок. Он рылся в нем, пытаясь что-то отыскать среди мятых бумажных платочков и конфетных фантиков. Наконец извлек пожелтевший мятый блокнот и черный фломастер.
– Будь так добра, сосредоточься, хорошо? Представим, что доступ к этой базе данных есть у некоего Яна Малиновского. Когда ты вписываешь в поле “логин” “Малиновский” и нажимаешь enter, на самом деле ты отправляешь вот такой запрос.
Фломастер заскрипел по бумаге, у Янека оказался ужасный, корявый почерк. Он дописал и передал блокнот Юлите. SELECT * FROM users WHERE username =,malinowski’.
– То есть ты велишь компьютеру, чтобы из категории “пользователи” он выбрал пользователя по фамилии “Малиновский”.
– Понятно?
– Понятно.
– Невероятно. Продолжай в том же духе. – Янек забрал у нее блокнот. – Слово ,malinowski’ с двух сторон окружают апострофы, так? Апострофы – часть команды, они выделяют ее часть. А теперь смотри: если в поле “логин” я вписываю только апостроф, то сервер воспринимает это как запрос пользователя по фамилии, ну, апостроф. – Быстрый взмах фломастером, короткая черточка. – Но если сервер сконфигурирован плохо, он прочтет это как часть команды, поэтому он мне сообщает, что он не понимает команду, как было пару минут назад. Иначе говоря, кто-то хреново сделал свою работу, потому что я могу вписывать команды администратора, будучи просто пользователем. А это означает, что мы войдем за пару минут.
– Но как?
– Способов несколько. – Янек снова открыл ноут. – Может, начнем со списка пользователей, так проще всего…
Янек стучал по клавишам. В поле “логин” появился короткий текст: admin’ OR,1’=’1.
– Простой трюк, – сказал он. – База данных должна прочитать «OR» как любое другое слово, но из-за ошибки с апострофом, о которой я тебе говорил, он воспримет это как часть команды. То есть мы говорим компьютеру: назови пользователя по имени “admin” или – и это “или” самое важное – такого пользователя, для которого один равно одному. И вот тут-то бедная программа сходит с ума, потому что это всегда правда, один равен одному, это условие верно для любого пользователя. – Увидев, что Юлита уже открывает рот, чтобы что-то сказать, Янек остановил ее жестом. – Умоляю, не проси меня объяснять все в деталях, иначе мы просидим тут до утра, окей? Просто смотри.