Файл REAMDE.md должен быть полезным. Это первый файл, который нужно проверить, когда вы изучаете новый проект на GitHub, см. Здесь. Это прекрасно с точки зрения разработчика.

Иногда этот файл остается остатком разработки на всем пути от тестовой среды до производственной среды. Если он не содержит ничего чувствительного, все в порядке.

Некоторое время назад я нашел файл README.md, который оказался слишком полезным. Однозначно он не должен был попадать в производственную среду.

Дело

Итак, первые строки найденного мной файла были:

The first thing you need is to install aws-cli, which is a simple command line tool that provides a client interface to AWS 
services.
You can find it here: http://docs.aws.amazon.com/cli/latest/userguide/installing.html
Once installed, you will need to provide some information to authenticate and be able to upload files to the bucket.

Это было прекрасно. Один разработчик помогает другому. Установите это и посмотрите там документы.

SANDBOX  
AWS Access Key ID: A*****************A  
AWS Secret Access Key: P****************G  
Default region name: us-east-1  
Default output format [None]:
>I have created a testing bucket for you in our sandbox environment, the bucket URI is s3://***********-sandbox.********.com
And to get you started with service, you can simply sync all the content of a specific folder to the S3 bucket by executing:  
aws s3 sync/path/to/your/folder s3://***********-sandbox.********.com

Да, да, да! Я получил корзину Amazon S3 и, возможно, с действующими ключами доступа. Процитируем Amazon docs:

Ключи доступа состоят из идентификатора ключа доступа и секретного ключа доступа, которые используются для подписи программных запросов, которые вы отправляете в AWS. Если у вас нет ключей доступа, вы можете создать их в Консоли управления AWS.

Эта песочница AWS S3 bucket выглядела интересно, у нас тоже были ключи… но этого ведра больше не существовало. Итак, читал дальше ...

PROD  
aws configure  
AWS Access Key ID: A*****************Q  
Secret Access Key: k****************u  
Default region name: us-east-1  
Default output format [None]:
aws s3 sync ~/data/AWS/ s3://***********.com/  
new path  
aws s3 sync ~/data/WORK/AWS/ s3://***********.com/  
aws s3 sync ~/data/AWS/ s3://***********.com/

Это было даже лучше! Больше не было песочницы, теперь я имел дело с производственным экземпляром S3. И еще одна цитата из файла:

Please go through this documentation, it's a great way to start with AWS S3: 
http://docs.aws.amazon.com/cli/latest/reference/s3/index.html
If you have any questions, please don't hesitate contacting me, I am available on Slack as well if you needed some instant responses.

Итак, я скачал aws-cli, настроил. Мне нужно было просто проверить, работают ли ключи, поэтому я загрузил тестовый файл:

aws configure
AWS Access Key ID: A*****************Q
Secret Access Key: k****************u
Default region name: us-east-1
Default output format [None]:
aws s3 cp .\\********.txt s3://***********.com/********.txt

Ключи были действующие, мне удалось загрузить в это ведро тестовый файл. Так что я был в деле. Мне просто нужно было написать отчет и отправить его на платформе bug bounty, которую они использовали, и ждать награды.

Aftermatch

Тем временем компания, на веб-сайте которой я обнаружил эту ошибку, перестала иметь программу вознаграждения за ошибки. Ой.

Я искал какое-то контактное лицо службы безопасности, но безрезультатно. Тогда я решил отправить им сообщение в Twitter.

Me [31.08.2017]

Привет, я обнаружил уязвимость в вашем сервисе ... Мне не было известно, что ваша программа bb приостановлена. Направьте меня к кому-нибудь, чтобы я сообщил об этом.

Другая сторона [31.08.2017]

Привет, Матеуш! Извините за задержку. Вы можете отправить письмо на адрес **************. Com.

Время ответа в Твиттере было быстрым, но потом.

Me [17.09.2017]

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

Другая сторона [17.09.2017]

Не беспокойся, Матеуш! Подождите, пожалуйста, пока я проверю эту информацию.

Затем я поделился с ними своим адресом электронной почты, и снова прошло какое-то время.

Me [4.10.2017]

Привет, есть новости? Я отправил это письмо месяц назад и не получил никакого ответа.

Они [5.10.2017]

Привет, Матеуш! Прошу прощения за задержку с ответом! … Хотя у нас нет активного вознаграждения, мы хотели бы отправить вам несколько промо-кодов…

Довольно мило с их стороны, что они хотели дать мне промокоды на свои услуги. К сожалению, я не мог использовать их из-за, скажем, географических проблем. Я попросил рекомендательное письмо, просто чтобы получить какое-то признание, но снова без ответа, поэтому я отказался от темы.

Уроки выучены

  • Для себя - всегда копайте глубже и посвящайте больше времени изучению полученного доступа к AWS, чего я не сделал в этот раз, к сожалению.
  • Bug hunters - обязательно добавьте README.md в свои словари. Есть другие расширения (txt, adoc, rst…)
  • Разработчики - проверьте, какие файлы находятся в корневом веб-каталоге вашего приложения и не должны там находиться.