Файл 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…)
- Разработчики - проверьте, какие файлы находятся в корневом веб-каталоге вашего приложения и не должны там находиться.