Я посвятил несколько дней на изучение примеров из этой книги. Не знаю, хорошо это или нет))) Именно поэтому постараюсь здесь выразить несколько соображений по поводу книги и ее автора.
Первоначально приобрел книгу и практически дочитав до конца написал восторженный отзыв на сайте, который продает продукцию издательства «Символ-Плюс». Но потом стал разбираться с примерами, и здесь началось самое интересное.
Как я и ожидал, простое прочтение книги от корки до корки мало чего дает. Потому что нить рассуждений потихоньку теряется, точнее многое пропускается из-за обилия нового материала, или необычной подачи материала.
Прежде всего я задаюсь вопросом, для кого пишут такие книги. Тем, кто «в теме» вряд ли будет интересно читать всё это. Ламеры же будут пищать от восторга, ничего толком не понимая. Ну да, можно прикоснуться к arcana))) И наконец, эта книга не делает читателя хакером, она реально не научит взламывать что-то там.
Автор в общем-то после введения в азы программирования начинает рассуждать на тему переполнения буфера на примере, конечно же, как вы догадались, языка Цэ))) В общем, этим книга начинается, этим же и заканчивается. Всё остальное, прослушка сетки, мысли о криптологии и т.д. кажется таким наброском, автор толком не разрабатывает эти вещи, ну или они теряются на фоне основной темы. Хотя, конечно, почитать можно, не поймите меня неправильно, мысли интересные, но они еще меньше освещают проблему, чем проблему переполнения буфера.
Мне кажется, автор разговаривает сам с собой в основном. Вот беда. И неизвестно вообще, в каких условиях создавалась эта книга. Я пробежался по первому изданию и пытался понять, в чем отличие. Да нет, особо отличий нет. Конечно, редактору виднее, но мне, как читателю, отличий вот именно, что невидно.
Книг по данной тематике и к тому же довольно известных я на вскидку могу назвать несколько. И Эриксон, боюсь, проигрывает им в изложении материала, опять же потому что автор слушает в основном себя. Но тем не менее, эту книгу каждый разработчик обязан иметь, может, потому что подобного рода книг, именно про эксплойты, не так много, но прочитать надо.
Я, конечно, не скачивал никакой куцый образ убунты, а решил попробовать примеры прямо на боевой машине под ОС FreeBSD 8. Это, конечно, был путь нажить себе проблемы))) Но если учиться, то почему нет? Если кто не в курсе, ассемблер под BSD слегка отличается от ассемблера под линукс))) И brandelf не очень-то помогает. В общем, начал разбираться с примерами.
Да, да, в примерах есть ошибки и еще какие. Редакторы пропустили для open() 0_ в аргументах (должно быть O_). В идеале, конечно, хотелось бы, чтобы вычитывали после файнридера и примеры тоже)))
Далее заметил неправильный размер массива, хотя, может, это реализация на BSD с толку сбивает, не знаю, не проверял.
Очень мило автор дает кусок мана для execve(), где, кстати, синопсис называется синтаксисом, но не суть... так вот, execve имеет аргументы... далее Джон Эриксон говорит: «Ну вот на языке Цэ вызов sh будет выглядеть примерно так... [пример]». Естественно пример не работает, так как никаких аргументов передано не было. Остается загадкой, почему так автор поступил.
Самое важное замечание по тексту. Автор нигде не дает расшифровки, что есть такое шеллкод, который он использует тут и там. И главное, как его получить. Поэтому я и задавался вопросом, для кого эта книга. Шеллкод этот, конечно, будет наверняка работать под непропатченной убунту, которая идет вместе с книгой, а это значит, что если читатель хочет чего-то большего, то он должен великодушно простить Эриксона за то, что тот не поведал ему, что этот шеллкод за мавлин-павлин такой.
Вердикт: Книгу приобрести и читать. Надеюсь, что мое изложение немного вам поможет.
P.S. Я купил уже немало книг из-ва «Символ» и ничего плохого не могу сказать ни об одной из них. Всё это годные добротные книги. Но очень жаль, что так мало высказываются по существу и вообще ничего не пишут о них. Потому что в каждой книге есть такие милые особенности, было бы очень полезно либо почитать отзывы нормальные, либо на форумах как-то обсудить. Да, я в курсе про амазонию, но было бы здОрово видеть это здесь, на сайте любимого издательства.
|