Как проверить, уязвимо ли приложение для уязвимости звездочек? - PullRequest
0 голосов
/ 26 июня 2018

Какой веб-запрос следует запустить, чтобы проверить, уязвимо ли приложение Rails для уязвимости звездочек CVE-2018-3760?

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

Я попробовал http://localhost:3000/assets/file:%2f%2f///Users/agrimm/rails/sprockets_replication/README.rdoc на примере приложения Rails, работающего в рабочем режиме на компьютере разработчика с помощью GoogleChrome, но он не получал файл даже с небезопасной версией звездочек и с config.assets.compile = true в production.rb.(Я не удивлюсь, если путь веб-запроса неправильный - это немного дикое предположение)

Ни https://blog.heroku.com/rails-asset-pipeline-vulnerability, ни https://groups.google.com/forum/#!topic/rubyonrails-security/ft_J--l55fM не приводят примеры того, кактест на уязвимость.

1 Ответ

0 голосов
/ 26 июня 2018

помните, что это работает с активами, поэтому попытка файла, находящегося за пределами папки ресурсов, например

/path/to/project/folder/app/assets/config 
/path/to/project/folder/app/assets/images 
/path/to/project/folder/app/assets/javascripts 
/path/to/project/folder/app/assets/stylesheets 
/path/to/project/folder/vendor/assets/javascripts 
/path/to/project/folder/vendor/assets/stylesheets 

, или все гемы папки ресурсов не будут работать.

, поэтомутот, который вы пытаетесь, не сработает, потому что он выдаст ошибку Sprockets::FileOutsidePaths, он даже распознает, что файл существует, потому что, если вы видите в журнале, есть

Sprockets::FileOutsidePaths (/path/to/project/folder/README.md is no longer under a load path)

, и если онне существует, вы увидите ошибку

Sprockets::FileNotFound (could not find file)

, поэтому вы находитесь на правильном пути, но вам нужно попробовать с файлом актива в этих папках, перечисленных, что-то вроде:

localhost:3000/assets/file:%2f%2f///path/to/project/folder/app/assets/stylesheets/devise.css

с этим вы увидите, что браузер возвращает актив.

И после обновления звездочек драгоценного камня до 3.7.2, с помощью config.assets.compile = true и попробуйте снова получить доступ к тому же адресу, вы увидитестраница, которая просто говорит forbidden и ничего больше.

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

...