сценарии встраиваются в изображения

Я бы сказал, что лучший и безопасный способ - обработать ваш POST-запрос, используя такую ​​инфраструктуру, как hapi или express , если ваше приложение и graphql работают на том же сервере, что и вы. даже не нужно использовать graphql, вы можете вызвать свой метод, который будет обрабатывать пользовательские данные для аутентификации и т. д.

9
задан watchwood 27 November 2008 в 00:25
поделиться

4 ответа

Скорее всего, то, что происходит, они дают Вам ссылку на сценарий, который создает изображение и возвращает его на лету, нет ничего ни кроме каких пользователей разрешения для использования внешних изображений, что можно делать с этим, одна опция предотвратить его состоит в том, чтобы загрузить и сохранить изображение на сервере в противоположность соединению с внешним изображением.

- Я решил обеспечить образец
Это изображение создается на лету, URL, который я даю: http://unkwndesign.com/profilePic.png:
сопроводительный текст http://unkwndesign.com/profilePic.png
теперь, profilePic.png является папкой, которая при необходимости обеспечивает index.php, который, с помощью gd, добирается ТАК логотип и налагает IP-адрес по нему, чтобы быть очень ясным здесь я НЕ LOGING ЭТО ИЛИ ЛЮБЫЕ ДРУГИЕ ДАННЫЕ, которые источник для index.php:

<?php
$image = imagecreatefrompng("http://stackoverflow.com/Content/Img/stackoverflow-logo-250.png");
$font_size = 12;
$color = imagecolorallocate($image, 0,0,0);
ImageTTFText ($image, $font_size, 0, 55, 35, $color, "arial.ttf",$_SERVER['REMOTE_ADDR']);
header("Content-type: image/png");
imagepng($image);
imagedestroy($image);
?>

Так как я возвращаю изображение с надлежащим расширением и надлежащим типом пантомимы, там не способ обнаружить то, что я делаю. Если бы сервер загрузил мое изображение и сохранил его локально, IP-адрес был бы IP-адресом сервера, который разрушит забаву сделать его и вероятно окажется действительно discurageing фактором для остановки поведения.

6
ответ дан 4 December 2019 в 21:52
поделиться

Попытайтесь иметь процесс GD те изображения. Если это бросает ошибки, Вы знаете, что у Вас есть проблема. Так как загрузка изображения является относительно редкой операцией, она не должна заставлять проблемы загрузки делать некоторое произвольное управление.

3
ответ дан 4 December 2019 в 21:52
поделиться

Некоторые наиболее распространенные методы для проверки целостности образа включают проверку типа MIME или двоичного файла, читая первые несколько байтов изображения. Хотя они не являются лучшими, это стоит попытки парировать некоторых из них.

0
ответ дан 4 December 2019 в 21:52
поделиться

Вы говорите о проблеме, где IE интерпретирует изображение с HTML-тэгами в ней как являющийся страницей HTML, таким образом позволяя HTML и инжекцию сценария из отправленных пользователями изображений?

(Ошибка, являющаяся, что IE сделает это, даже если Вы скажете этому Тип контента, является изображением / тип. Microsoft вызвала бесконечные аварии безопасности с этой попыткой быть 'полезной'.)

Если так, обычное решение состоит в том, чтобы вручить отправленные пользователями изображения от другого имени хоста, то, которое не имеет доступа к cookie или пишущий сценарий в основном имени хоста, от которого Вы вручаете свое веб-приложение.

Обязательно заблокируйте вниз Ваши виртуальные серверы так, чтобы сервер изображения и сервер приложений были каждым только доступным от одного конкретного имени хоста (и сервер приложений не должен быть доступным через IP-адрес).

Это устранит проблемы перекрестных сценариев сайта. У Вас могут все еще быть запросы cross-site-request-forgery для контакта с, но это - другая проблема и может быть использовано без перенесенной в изображение инжекции сценария.

0
ответ дан 4 December 2019 в 21:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: