Список вопросов
Как зайти в Даркнет?!
25th January, 01:11
6
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
895
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
948
0
Очень долго работает Update запрос Oracle
27th January, 09:58
914
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
905
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
938
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1724
0
период по дням
25th October, 10:44
3955
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3720
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4613
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4381
0
Помогите пожалуйста решить задачи
24th November, 23:53
6086
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4351
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4396
0
Метода Крамера С++
23rd October, 11:55
4309
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2599
0
Что использовать в качестве соли для md5?
Просмотров: 316
 
Ответов: 7
В cms используется автоматическое создание превью изображений.
Для этого в mod_rewrite настроено правило, по которому запрос к несуществующей картинке, например image.100x100.jpg, перенаправляется на скрипт, создающий превью изображения image.jpg размером 100x100.
Для того, чтобы злоумышленник не мог самостоятельно вызвать создание любого превью, в этот скрипт передается так же некий токен, который является md5(имя файла + соль).
Суть проблемы в выборе соли, а именно:
Не хочется просить пользователя придумывать соль при установке cms.
Не хочется автоматически генерировать соль при установке, так как не все пользуются установщиком, таким образом соль у многих будет одинаковая, чего допускать нельзя.
Вообще, не очень хочется где-либо хранить её.
Хочется просто «на лету» брать в качестве соли некие данные, которые уникальны для каждой копии скрипта и неизвестны злоумышленнику.
Например, время последней модификации какого-то файла подошло бы, если бы не подбиралось так легко.
Так же подошло бы просто имя домена, на котором работает скрипт, но оно известно злоумышленнику.
Ну и, очевидно, соль не должна меняться со временем, по крайней мере какое-то достаточно длительное время
UPD: похоже darkslesh указал верный путь — хранить в настройках соль(как просто случайное число)+домен, для которого она создана, и при несовпадении домена в настройках с реальным доменом, перегенерировать соль.
А не проще ли сделать такую систему:
1) создаётся файл (не в WEB папке или в закрытой папке )
2) в этот файл записывается 2 строки типа xxxxxxxxx и randomstr, где xxxxx — ip адрес сервера или домен, а вторая строка — как раз соль которая тебе нужна
3) скрипт который использует эту соль считывает файл, затем если IP/домен не совпадает, то сгенерить файл, с новыми параметрами.
Таким образом не нужно будет заботится о том, что скрипт работает без установки.
Еще есть вариант как нибудь извратится с использованием _SERVER[«UNIQUE_ID»] который генерится при каждом запросе пользователя.
Фактически, получается, что требуется подтвердить подлинность запроса превьюшки. Причем обычно, как я понимаю, этот запрос будет генерить сама cms. Ну так возьми и зашифруй MD5(имя файла) любым алгоритмом шифрования. По смыслу — выйдет подпись запроса, которую может сделать только тот, у кого есть ключ (cms).
P.S. А можно пояснить — в чем состоит риск того, что злоумышленник запросит превью любой картинки?
Я немного не понял, в какой момент будет генерироваться md5-токен?
В html-коде страницы будет
[img src="image.100x100.jpg"/]
или
[img src="image.100x100.jpg{md5(...)}"/]
?
Если первое (md5 генерируется на пути от http-запроса до скрипта превью), то никакой защиты по сути нет.
Если второе (md5 генерируется в момент волеизъявления использования изображения в какой-либо части сайта — создание шаблона, документа и т.п.), то что мешает вместо генерирования md5 создать в этот момент необходимое превью?
Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться