
PERL, CGI, дарки, баги, взломы
Xakep, номер #029, стр. 029-050-1
CuTTer (cutter@real.xakep.ru) http://www.lovecity.ru
Распальцовка
В последнее время заметно увеличилось количество взломов, далеких от "нормального" хакерства. Люди, пролистав bugtraq, отбирают дырявые cgi-скрипты,
качают первый попавшийся cgi-scaner, затем, с его помощью, начинают сканить весь Интернет. Найдя сайт с уязвимыми скриптами, устраивают великие deface'ы.
Естественно, изучения ломаемых скриптов не происходит: всё делается автоматически, с использованием готовых решений из Багтрэка.
По совершении подобного "взлома", человек его совершивший, начинает кричать всему миру о своем существовании: какой же он элитарный, о своей 31337 h4x0r'ности, организовывать новые хак-группы, которые заполонили российский iNet. Стоит заметить, что большая часть этих групповух "быстрого приготовления" даже не имеет ни одного серьёзного кодера. Если, конечно, не считать оными, чемпионов по всенародной распальцовке.
А какое количество появилось различных CGI команд??? Это уже просто жуть, высшая степень маразма. Я как-то забрел на такую команду, и что же? Не нашел ни одного cgi скрипта, которой бы они сделали сами, стандартные ubb борды, но зато какое название, какие идеи... Но и это еще не предел, попадаются и такие индивидуумы, которые не могут поменять права доступа к файлу, чтобы его можно было запустить, всё равно обзываясь очередной ::.:CGI-TEAM:.::. Правда они все равно вовсю орут о том, какие же они элитные кодеры.
Но есть и другие люди, которые достигли уровня не просто script-kiddies'ов, но они и сами изучают скрипты, находят в них ошибки, а потом публикуют инфу по найденным багам. Как это ни странно, но довольно давно создался миф, что они всесильны, ведь такие хакеры занимаются модным нынче словом CGI-Advisory. Уровень ребят тоже очень разный, некоторые кидаются в бой, прочитав Perl по Стивену Холзнеру, а другие занимаются CGI-Security уже несколько лет.
Предложенный материал созадн с целью, показать, что новомодный CGI-sec ANALyzing, не более чем одна из отраслей "несложного" хака, доступного едва ли не каждому, мало-мальски знакомому с perl/c. Естественно, одних утверждений "вот эта крута, а это не крута", ты тут не найдёшь: подробно рассмотрим поиск уязвимостей, на конкретных скрипт-примерах.
Сага о кривых скриптах
Всегда старайся получить полный исходный код, изучаемого скрипта. Так значительно повышаются твои шансы на успех.
Классифицируем баги
Дырок, как и самих скриптов - много, но почти все из них можно распределить по видам глюков (как и всяких зверюшек :)). Вот основные ошибки:
возможность выполнения команд на сервере, чтение любого файла, DoS атаки. Про них мы и поговорим.
Выполнять команду!
Одна из самых распространенных и приятных ошибок - выполнение любой команды на сервере. Данная дырища наблюдается во многих скриптах, например: tigvote.cgi, bnbsurvey.cgi, formail.pl. Но ковырятся с ними мы не будем, т.к. уже было решено, заняться исследованием скриптов, дабы найти комплексный подход к их поломке. А о scriptkiddie`нге, ты итак прочёл много и прочтёшь не меньше ;) Но, не сейчас.