Блямбда. Эксплуатируем AWS Lambda - «Новости» » Самоучитель CSS
Меню
Наши новости
Учебник CSS

Невозможно отучить людей изучать самые ненужные предметы.

Введение в CSS
Преимущества стилей
Добавления стилей
Типы носителей
Базовый синтаксис
Значения стилевых свойств
Селекторы тегов
Классы
CSS3

Надо знать обо всем понемножку, но все о немногом.

Идентификаторы
Контекстные селекторы
Соседние селекторы
Дочерние селекторы
Селекторы атрибутов
Универсальный селектор
Псевдоклассы
Псевдоэлементы

Кто умеет, тот делает. Кто не умеет, тот учит. Кто не умеет учить - становится деканом. (Т. Мартин)

Группирование
Наследование
Каскадирование
Валидация
Идентификаторы и классы
Написание эффективного кода

Самоучитель CSS

Вёрстка
Изображения
Текст
Цвет
Линии и рамки
Углы
Списки
Ссылки
Дизайны сайтов
Формы
Таблицы
CSS3
HTML5

Новости

Блог для вебмастеров
Новости мира Интернет
Сайтостроение
Ремонт и советы
Все новости

Справочник CSS

Справочник от А до Я
HTML, CSS, JavaScript

Афоризмы

Афоризмы о учёбе
Статьи об афоризмах
Все Афоризмы

Видео Уроки


Наш опрос



Наши новости

      
      
  • 24 марта 2016, 16:20
26-11-2022, 00:00
Блямбда. Эксплуатируем AWS Lambda - «Новости»
Рейтинг:
Категория: Новости

Про­вер­ка ведер. Как искать уяз­вимос­ти в бакетах AWS S3».


 

Теория


 

AWS Lambda


Как работа­ет AWS Lambda? Если прос­тыми сло­вами: ты добав­ляешь свой скрипт и зада­ешь триг­гер или событие, при нас­тупле­нии которо­го будет запус­кать­ся этот код. Боль­ше делать ничего не нуж­но, потому что обо всем дру­гом — адми­нис­три­рова­нии, монито­рин­ге работы, безопас­ности, жур­налах, логах — позабо­тит­ся сер­вис AWS Lambda. Ког­да событий нет, лям­бда не выпол­няет­ся, соот­ветс­твен­но, ресур­сы не пот­ребля­ются.

Блямбда. Эксплуатируем AWS Lambda - «Новости»

Ус­трой­ство лям­бды 

Лямбда-функция


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


Ус­трой­ство лям­бда‑фун­кции

Су­щес­тву­ет три типа триг­геров, отли­чают­ся они спо­собом вызова:



  • по­токо­вый — сра­баты­вает при изме­нени­ях в чем‑либо, нап­ример при добав­лении дан­ных в БД;

  • син­хрон­ный — сра­баты­вает при получе­нии зап­роса на какой‑то конеч­ной точ­ке, которая вызыва­ет лям­бда‑фун­кцию;

  • асин­хрон­ный — про­исхо­дит в слу­чае какого‑либо события, нап­ример при заг­рузке фай­ла на S3.


При этом вызов воз­можно выпол­нить и с помощью API Gateway.


 

API Gateway


Служ­ба API Gateway упро­щает раз­работ­чикам работу с API. Под­держи­вает­ся REST, HTTP и WebSocket API.


Сос­тав API Gateway

Мы можем при­вязать API Gateway к какому‑то сер­вису, мобиль­ному при­ложе­нию, даже к IOT, — глав­ное, что­бы у них был дос­туп в интернет. Пос­ле это­го оно будет сту­чать на API-шлюз, с которо­го и ста­нут вызывать­ся тре­буемые дей­ствия.


Стан­дар­тное исполь­зование API Gateway 

Первоначальный доступ


Ча­ще все­го через лям­бду в обла­ко не попада­ют. Но в слу­чае обна­руже­ния фун­кции, гей­твея, соз­дания пол­ной ссыл­ки и тре­буемо­го набора парамет­ров мож­но все‑таки поп­робовать. Нап­ример, если лям­бда‑фун­кция при­нима­ет какую‑либо коман­ду для запус­ка в cmd:


https://i8jee1mn2f.execute-api.us-east-2.amazonaws.com/prod/system?cmd=env

При­мер экс­плу­ата­ции уяз­вимос­ти 

Разведка


 

Lambda Function


На пер­вом эта­пе нуж­но хорошень­ко раз­ведать обста­нов­ку и поис­кать уяз­вимые мес­та. На помощь нам при­дет AWS CLI. Что­бы уви­деть все лям­бда‑фун­кции, вос­поль­зуем­ся сле­дующей коман­дой:


awslambdalist-functions

По­лучить лям­бда‑фун­кции в отдель­ном реги­оне:


aws lambda list-functions --regionus-east-1

По­иск лям­бда‑фун­кций

Изу­чение зависи­мос­тей



  • FunctionArn — уни­каль­ный иден­тифика­тор фун­кции;


  • Runtime — язык, на котором написа­на фун­кция;


  • Role — роль, которую име­ет лям­бда‑фун­кция. Воз­можно, опре­делен­ная лям­бда‑фун­кция име­ет дос­туп к дру­гим служ­бам. Соот­ветс­твен­но, мы так­же можем опре­делить полити­ки, при­вязан­ные к лям­бда‑фун­кции;


  • Layers — зависи­мос­ти лям­бда‑фун­кции.


По­лучить информа­цию о кон­крет­ной лям­бда‑фун­кции (в том чис­ле исходный код) мож­но сле­дующим обра­зом:


awslambdaget-function--function-name<function-name>[--regioneu-west-1--profiledemo]

При­мер:


awslambdaget-function--function-namePentestingForFun

Смот­рим опре­делен­ную фун­кцию

В при­веден­ном выше при­мере мы видим раз­дел Code, а в нем — Location. То есть код извле­кает­ся по это­му пути, в дан­ном слу­чае это S3-бакет awslambda-us-west2-tasks. Перей­дя по ука­зан­ной ссыл­ке (либо порыв­шись в ука­зан­ном бакете), мы смо­жем ска­чать код лям­бда‑фун­кции.


При этом в выводе дан­ной коман­ды есть огромная струк­тура Configuration, которую тоже сто­ит обя­затель­но пос­мотреть. Во вре­мя пен­тестов мы час­то обна­ружи­вали здесь учет­ные дан­ные.


Учет­ные дан­ные в перемен­ных сре­ды

Ис­ходный код зависи­мос­ти мож­но получить вот так:


awslambdaget-layer-version--layer-name<LayerName>--version-number<VersionNumber>

При­мер:


awslambdaget-layer-version--layer-namerequest-library--version-number1

Те­перь обра­ти вни­мание на спо­собы вызова фун­кции.


awslambdaget-policy--function-name<function-name>

При­мер:


awslambdaget-policy--function-namePentestingForFun

Объ­екты, спо­соб­ные вызывать син­хрон­ный триг­гер



  • Service — то, кому раз­решено дер­гать фун­кцию;


  • Action — что может сде­лать Service;


  • Resource — какие объ­екты могут быть выз­ваны.


В лям­бда‑фун­кци­ях иног­да встре­чает­ся раз­дел Condition. Он отве­чает за «филь­тра­цию» — каким методом и каким обра­зом вызыва­ется лям­бда. Имен­но в нем всег­да будет пря­тать­ся айдиш­ник, по которо­му ты смо­жешь опре­делить, к какому гей­твею при­вяза­на лям­бда‑фун­кция.


При­мер Condition

В дан­ном слу­чае uj3lq1cu8e — REST API ID. При этом триг­гер может сра­ботать и от изме­нений в чем‑либо. Для получе­ния информа­ции о подоб­ных событи­ях сущес­тву­ет вот такой коман­длет:


awslambdalist-event-source-mappings--function-name<function-name>

При­мер:


awslambdalist-event-source-mappings--function-namePentestingForFun

Что при­ведет к асин­хрон­ному/потоко­вому триг­геру

В этом слу­чае исполь­зует­ся Amazon Simple Queue Service (SQS) — служ­ба оче­реди сооб­щений.


 

API Gateway


Пос­ле изу­чения дос­тупных лям­бда‑фун­кций пора вос­ста­нав­ливать URL, который при­ведет к ее вызову. Что­бы уви­деть все REST APIs (получить айдиш­ник, так как Region зачас­тую схож с боль­шинс­твом реги­онов, в котором сто­ят ЕС2-инстан­сы), вос­поль­зуем­ся сле­дующей коман­дой:


awsapigatewayget-rest-apis

Об­наруже­ние всех REST API

Цитирование статьи, картинки - фото скриншот - Rambler News Service.
Иллюстрация к статье - Яндекс. Картинки.
Есть вопросы. Напишите нам.
Общие правила  поведения на сайте.

Про­вер­ка ведер. Как искать уяз­вимос­ти в бакетах AWS S3». Теория AWS Lambda Как работа­ет AWS Lambda? Если прос­тыми сло­вами: ты добав­ляешь свой скрипт и зада­ешь триг­гер или событие, при нас­тупле­нии которо­го будет запус­кать­ся этот код. Боль­ше делать ничего не нуж­но, потому что обо всем дру­гом — адми­нис­три­рова­нии, монито­рин­ге работы, безопас­ности, жур­налах, логах — позабо­тит­ся сер­вис AWS Lambda. Ког­да событий нет, лям­бда не выпол­няет­ся, соот­ветс­твен­но, ресур­сы не пот­ребля­ются. Ус­трой­ство лям­бды Лямбда-функция Лям­бда‑фун­кция — это часть кода, которая выпол­няет­ся каж­дый раз, ког­да сра­баты­вает триг­гер. Ус­трой­ство лям­бда‑фун­кции Су­щес­тву­ет три типа триг­геров, отли­чают­ся они спо­собом вызова: по­токо­вый — сра­баты­вает при изме­нени­ях в чем‑либо, нап­ример при добав­лении дан­ных в БД; син­хрон­ный — сра­баты­вает при получе­нии зап­роса на какой‑то конеч­ной точ­ке, которая вызыва­ет лям­бда‑фун­кцию; асин­хрон­ный — про­исхо­дит в слу­чае какого‑либо события, нап­ример при заг­рузке фай­ла на S3. При этом вызов воз­можно выпол­нить и с помощью API Gateway. API Gateway Служ­ба API Gateway упро­щает раз­работ­чикам работу с API. Под­держи­вает­ся REST, HTTP и WebSocket API. Сос­тав API Gateway Мы можем при­вязать API Gateway к какому‑то сер­вису, мобиль­ному при­ложе­нию, даже к IOT, — глав­ное, что­бы у них был дос­туп в интернет. Пос­ле это­го оно будет сту­чать на API-шлюз, с которо­го и ста­нут вызывать­ся тре­буемые дей­ствия. Стан­дар­тное исполь­зование API Gateway Первоначальный доступ Ча­ще все­го через лям­бду в обла­ко не попада­ют. Но в слу­чае обна­руже­ния фун­кции, гей­твея, соз­дания пол­ной ссыл­ки и тре­буемо­го набора парамет­ров мож­но все‑таки поп­робовать. Нап­ример, если лям­бда‑фун­кция при­нима­ет какую‑либо коман­ду для запус­ка в cmd: https:/ / i8jee1mn2f. execute- api. us- east- 2. amazonaws. com/ prod/ system? cmd=env При­мер экс­плу­ата­ции уяз­вимос­ти Разведка Lambda Function На пер­вом эта­пе нуж­но хорошень­ко раз­ведать обста­нов­ку и поис­кать уяз­вимые мес­та. На помощь нам при­дет AWS CLI. Что­бы уви­деть все лям­бда‑фун­кции, вос­поль­зуем­ся сле­дующей коман­дой: aws lambda list-functions По­лучить лям­бда‑фун­кции в отдель­ном реги­оне: aws lambda list- functions --region us- east- 1 По­иск лям­бда‑фун­кций Изу­чение зависи­мос­тей FunctionArn — уни­каль­ный иден­тифика­тор фун­кции; Runtime — язык, на котором написа­на фун­кция; Role — роль, которую име­ет лям­бда‑фун­кция. Воз­можно, опре­делен­ная лям­бда‑фун­кция име­ет дос­туп к дру­гим служ­бам. Соот­ветс­твен­но, мы так­же можем опре­делить полити­ки, при­вязан­ные к лям­бда‑фун­кции; Layers — зависи­мос­ти лям­бда‑фун­кции. По­лучить информа­цию о кон­крет­ной лям­бда‑фун­кции (в том чис­ле исходный код) мож­но сле­дующим обра­зом: aws lambda get-function --function-name _
Просмотров: 726
Комментариев: 0:   26-11-2022, 00:00
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

 
Еще новости по теме:



Другие новости по теме: