помните, что это работает с активами, поэтому попытка файла, находящегося за пределами папки ресурсов, например
/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
и ничего больше.
те, где мои выводы о тестах, которые я сделал на локальном, и с помощью этих инструкций вы можете проверить уязвимость, которая является целью вопроса