12.07.2015 Views

Февраль

Февраль

Февраль

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

взломЛеонид «R0id» Стройков/ r0id@mail.ru /НедетскийвзломМаленькиепроблемымогучего хакераТы уже не раз читал на страницах «Хакера» о различных методах взлома, да и в Сетиполно статей на аналогичные темы. Вот только большинство из них затрагивает лишьчасть случаев, и, как правило, самых простых. Примитивные инъекции, удаленныеинклуды, активные xss — все это только верхушка айсберга. Скорее всего, в твоейпрактике были ситуации, когда тебе приходилось отступать и прекращать атаку. А ведьпри поломке крупного ресурса шанс найти распространенный баг очень мал. Поэтомупри проведении более-менее серьезных атак требуется максимум внимательности и сообразительности.На решение поставленной задачи порой уходят сутки, а то и недели,но настоящие профессионалы никогда не сдаются. Не зря говорят: «Профессионал— это тот, кто ломает то, что хочет сломать, а не то, что может сломать». Сейчас я расскажуо наиболее часто встречающихся ситуациях, осложняющих и без того непростуюхакерскую жизнь.Проблемы со sql-injectionКак ни крути, но в последнее время рулятименно sql-инъекции. Программеры всечаще юзают MySQL/MSSQL-базы, не забываякодить потенциально бажные движки :).О sql-injection уже несколько раз писалосьв журнале, поэтому не вижу смысла повторяться(лучше почитай подшивку «Хакера»).Так что приступим непосредственно к сути.Как ты знаешь, все инъекты можно разделитьна два типа: слепые и не слепые. Особенныйгеморрой при взломе создают слепые инъекции,так как в этом случае мы лишаемся возможностивидеть ответ на свой запрос и самуошибку. Причиной в php-скриптах можетслужить, например, error_reporting(0) (режимсокрытия сообщений об ошибках в php)и символ «@», поставленный перед функцией.Чтобы тебе было понятнее, рассмотрим это/ 078xàêåðявление на конкретном примере. Возьмемнорвежский ресурс www.karriereguiden.noи перейдем по ссылке:http://www.karriereguiden.no/presentation.php?id=144Если теперь подставить символ одинарнойкавычки в значение параметра id, то вместопредполагаемой ошибки мы увидим простопустую страницу:http://www.karriereguiden.no/presentation.php?id=144'Следовательно, есть вероятность наличиябага. Подобрав количество полей, можноубедиться, что уязвимость действительноприсутствует:http://www.karriereguiden.no/presentation.php?id=-1+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33+/*Если подобрано правильное количество полей,на экране будут отображены предназначенныедля вывода поля. В нашем случае — шестоеи седьмое. В некоторых конкретных случаяхдля подбора количества можно использоватьконструкцию «order by». Это выглядит так:http://target.com/index.php?id='+order+by+10/*Если полей больше 10‐ти (или ровно 10), тоошибки не будет (или при слепом инъекте страницаотобразится в обычном виде), в противном02 /98/ 07

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!