Вы находитесь на странице: 1из 2

Тестовый сервер 188.138.1.

53:8082

1 Клиентская часть должна отправлять каждый перехваченны POST-запрос, который был


отправлен браузером по SSL/TLS. Помимо полного содержимого POST-запроса (с хидерами),
он должен слать дополнительно полную URL запроса и лог нажатий клавиш. В случае
если post не подошел по правилам или бекенд админки временно выключил инжект по данно
й ссылке

Полный URL извлекается из самого запроса путём склеивания содержимого хидера Host и имени
документа (URI). Спереди не нужен префикс "https://"

Лог нажатий клавиш должен быть в любом приемлемо для чления человеком

2 Данные на сервер отправляются через HTTP POST-запросы.    Между сервером и клиентом может
стоять сколько угодно reverse-proxy, load-balancer и    DNAT. Таким образом, нет никакого способа
узнать ip-адрес клиента.

2.1 Каждый запрос содержит в URI три компонента разделённых символом "/" - тег группы, id
клиента .    Каждый POST имеет URI следующего формата:

/<group-tag>/<clientid>/60/

, где group-tag - тег группы,    clientid - id клиента.

2.1.1 Тег группы - это произвольная строка состоящая из символов (a-z) и цифр (0-9). Параметр не
чувствителен к регистру.

2.1.2 Id клиента - это строка состоящая из двух компонентов разделённых точкой. Первая часть имеет
формат <name>_XYYYYYYY, где name это некоторое имя которое может как-то    идентифицировать
машину (имя компьюетра или имя пользователя, в зависимости от типа операционной системы), X -
символ обозначающий тип системы на которой работает клиент (W -    windows, L - linux, A - андроид,
M - Mac OS), YYYYYYY - 3-7 цифр содержащих major-version, minor-version и build операционной
системы если таковые имеются у системы (например,    длЯ 6.1 build 7600 это будет 617600). Вторая
часть содержит 32 случайных символов 0-9, A-F. Пример id клиента -
QWERTY_W617600.11223344556677889900AABBCCDDEEFF. Параметр не    чувствителен к регистру.

2.2 Кадлый ответ сервера может быть со следующими HTTP-кодами: 200 и 403. Ответ 200 всегда имеет
тело с содержание "/1/" (content-type: text/plain), а ответ 403 используется если прислан не POST-
запрос, тело POST имеет неизвестный формат или поля, URI неизвестного формата, или clientid
неправильного формата.

3 POST-запрос имеет тело в формате multipaty/form-data. И имеет следущие поля:

3.1 "data" - бинарные данные, размером до 32 КБ. Искомый POST-запрос хидеры и тело
3.2 "keys" - UTF-8 строка. Максимальная длина 1024 символа. Текст перехваченных нажатий клавиш

3.3 "link" - UTF-8 строка. Максимальная длина 4096. Строка со ссылкой Host+URI

это искомая ссылка куда слался оригинальный post

3.4 "image" - бинарные данные, не используется

1. по логированию нажатий. Предположим я логирую все-все-превсе нажатия в броузере. Как
ой критерий сопоставления нажатий с отправкой поста? ведь пост может теоретически и како
й-нибудь аякс-скрипт отправить. Тут нужно почетче. Либо все нажатия с предыдущей отправк
и. Либо нажатия за последние 2-4 минуты. Либо еще варианты.
2. тэг группы/ид клиента (в ури) - я так понимаю это те же самые, что я уже отправляю в дин.
инжектах (из parentdata)?

по конфигу, пусть будет так: <dpost><handler>11.22.33.44:port</handler> <handler>....</
handler></dpost>

3. еще непонятно, зачем несколько серверов должно быть в списке. По какому принципу выби
рать, на какой сервер отправлять

1. Все нажатия с предыдущей отправки
2. Да 
3. выбрать случайный - если оказался убитый, взят следующий, если в конце списка - то в нач
ало. Еси ниодин не рабочий, перестать слать на 5 минут. Потом попробовать снова случайный
, если не рабочий то следующий.

Вам также может понравиться