Как заточить exploit под себя


         

Чем компилировать?


Чаще всего exploit'ы пишутся на Си/Си++, Perl, Python и PHP, реже на всякой экзотике типа Ruby, причем тип языка указывается далеко не всегда, а о версии транслятора и ключах компиляции остается только догадываться. Вот такая культура программирования, с которой нам приходится жить.

Ладно, Perl узнается с первого взгляда по строке "#!/usr/bin/perl", идущей впереди листинга. Если же ее нет, смотрим на следующее:

q       присутствуют директивы в стиле "use IO::Socket;"

q       точка с запятой ставится в конце каждой строки;

q       тело функций и многострочечных циклов/операторов if заключено в фигурные скобки;

q       отступ внутри тела роли не играет и часто отсутствует;

q       мнострочечные строковые константы соединяются через точку;

Выполнение всех этих условий свидетельствует о том, что перед нами Perl. Язык Python внешне похож на него, но содержит ряд принципиальных отличий (и обычно предваряется строкой "#!/usr/bin/python", которой, впрочем, может и не быть):

q       присутствуют директивы в стиле "import socket", "import sys";

q       точка с запятой в конце строки _не_ ставится;

q       тело функций и многострочечных циклов, операторов if _не_ берется в скобки;

q       отступ внутри тела функций, оператор if и циклов строго обязателен;

q       мнострочечные строковые константы соединяются как в Си ("<ENTER>");

Выполнение всех этих условиях — верный признак Питона, который как и Perl портирован на множество платформ и распространяется на бесплатной основе.

Наибольшие проблемы вызывает комплект поставки. Достаточно часто хакеры выкладывают не весь exploit, а только его часть и транслятор начинает материться на отсутствующие включаемые файлы/библиотеки.

Содержание  Назад  Вперед





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий