Pull to refresh

Comments 44

В такой статье не хватает вступительного абзаца,где в двух словах обьясняется что это и зачем.

  1. Сервис для воровства данных

  2. Воровать данные

Postman это штука для выполнения веб-запросов. В первую очередь, REST запросов. Для тестировщиков это по факту инструмент №1.

Типичный use case: бэкендеры запили новый метод REST API, он попал к тестировщикам, они пишут набор тестов в постмане. И потом этот набор регулярно - и автоматически! - гоняют для каждой новой версии бэка (он же ж развивается), чтобы выяснить - а вдруг что-то сломалось.

Суть статьи я не очень понимаю. Если какие-то придурки лезут постманом с долгоживущими токенами на прод к реальным данным, нууу... (слабоумие_и_отвага.jpg)

Я, конечно, солидарен с вами в том, что гонять токены в GET запросах, это какая-то странная блажь, но зачем Postman логгирует чужие запросы в принципе?

А как нынче принято мутить SSO без передачи токена в GET на каком-либо из этапов?

А чем должны дергать методы сопровожденцы в проме?

Забавно, что никто до этого не проверил что там в логах отправляется, причем большое количество разработчиков и компаний, предоставляют готовые шаблоны (коллекции?) для готовой работы с их API.

Если не записывать всё подряд в логи, и не (простите) читать эти логи на регулярной основе, в том числе с помощью наемных людей с улицы, то как тогда узнать что что то идет не так и исправить это? Рассчитывать на багрепорты бесполезно.

И поэтому надо перехватывать все запросы, в том числе и секретные переменные?

Тут нужна пояснительная бригада. Кто такой этот постман, какие такие переменные.

Postman - инструмент для создания, редактирования и выполнения HTTP запросов.

Штука довольно удобная - можно настраивать заголовки, тело запроса, изучать ответ сервера. Мне нравится тем, что можно создавать коллекции запросов (и даже сохранять примеры ответа от сервера на будущее, чтобы потом в оффлайне их изучать).

Ещё для выбранного запроса можно сразу получить сгенерированный код на одном из языков программирования (например C#). Можно настроить mock-сервер для тестирования веб-хуков (когда тестируемое приложение само отправляет запрос на стороннее API, которое нежелательно использовать при тестировании). Да и много других фичей.

Интерфейс Postman

Переменные, о которых идёт речь в статье: это часть строки запроса. Например, var1 и var2 в этом HTTP GET запросе:

https://example.com/items/var1/data?param2=var2

Но надо отметить, что есть общая рекомендация не передавать в path-сегментах (как var1) или query-параметрах (как var2) никакие чувствительные данные, даже при использовании HTTPS (а в этом случае все эти данные не передаются в открытом виде). И причины такой рекомендации - именно такие, что где-то по пути строка запроса может оказаться залогированной, например в логах веб-сервера.

Если нужно передавать чувствительные данные в запросе (например, токен авторизации), более предпочтительно их передавать в заголовках запроса, например так:

GET http://example.com/ HTTP/1.1
Host: decimalparser.net
Authorization: Bearer eyJbWbfs...

Постман используется на тестовом/девелоперском окружениии, и там априори не должно быть секретных либо персональных данных. Вообще. А кто гоняет на проде тесты - ССЗБ - любое закрытое ПО в наше время всегда напичкано шпионскими модулями, это надо помнить.

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

Всё-таки новость кажется несколько преувеличенной. Мельком в статье упоминается, что секреты из заголовков не отправляются в логи. В логах могут встретиться только те данные, которые были отправлены в сегментах URL или в query параметрах. Но и для тех и для других есть общая рекомендация не использовать для чувствительных данных - именно потому, что высока вероятность, что они осядут в логах где-то "по дороге". И хотя при использовании https эти данные не передаются в открытом виде, они легко могут оказаться например в логах веб-сервера. Вот статья об этом https://blog.httpwatch.com/2009/02/20/how-secure-are-query-strings-over-https/

Так что имхо, автор сам стреляет себе в ногу и жалуется на последствия. Хотя лично я не одобряю, что множество данных отправляется на неизвестные сервера, конкретно эта претензия выглядит надуманной.

Использовал его пару лет, много багов и несмотря на tauri тормозит очень сильно, возможно из-за macOS, возможно у меня кривые руки, опенсорс хорошо, но не стабильно

Opensource альтернатива

Точно там есть полные исходники? Кто-то уже проверял их на отправку данных "налево"?

curl это всеже швейцарский нож, а вот например https://httpie.io/ то что надо надо

К сожалению не срослось с инопланетяненом - он не умеет импортировать коллекции из постмана

А кто вы, русскоговорящие и использующие постманы и другие зарубежные сервисы? И ведь серьезно обсуждают это, каждый подобный пост вызывает недоумение. Хабр ты кто такой?

@moderator подозреваю бота/ворованный аккаунт

Юзер молчал почти 10 лет, потом вернулся и стал сразу набрасывать

У меня был знакомый с шизофренией, точно так же во время обострений себя вел. Этого знатно накрыло в те несколько дней в 2016, надеюсь, сейчас справится с рецидивом.

  1. Что касается зарубежных, русскоговорящий != проживающий в России.

  2. Почему использовать "зарубежные сервисы" это плохо? Я использую сервисы со всего мира и очень рад такой возможности.

Кстати, вас не смущает, что свой комментарий вы написали на кипрском зарубежном хабре?

Фигасе как "патриоты" с личной неприязнью в карму насовали 0_о Ребята, у вас всё хорошо?

учу пользоватся curl и mitmproxy. дорого, звонить понимающим, потстрадавшим от утечки паролей

Я в основном пользуюсь тоже curl, но запросы редактировать неудобно.

Запросто пишется самодельный небольшой клиент на Javascript, так api и отлаживаю из браузера.

возможно не все нужные флаги юзаете, вроде --json или --data-urlencode. Ну и это же баш, что-то можно в переменные закинуть

Т.е. чел отправил в get-запросе секрет, подсунул поддельный сертификат, и кричит при этом о безопасности?

Что не так? А как надо было? Проблема в том, что он переменную засунул прямо в uri, или что он подсунул поддельный сертификат чтобы посмотреть что там отправляет постман, или проблема в самом постмане?

Что предлагаете делать? Продолжать дальше пользоваться постманом, и закрывать глаза на то, что он куда-то зачем то сохраняет все возможные апишки и креды к ним? А что если там были ключи от aws инфраструктуры, а хакер взял и получил таки логи постмана? Точка отказа от ответственность слишком большая ...

Зачем покупать ваш Сhа-rle=s Рr-0x-y? Чтобы в следующий раз обнаружить отправку личных данных в нем?
Есть же свободный mitmproxy. Постоянно юзаю его в подобных кейсах, все устраивает.
Чем он по вашему хуже?

Заметил, что Postman вообще отказывается отправлять запросы даже в локальной сети, если нет подключения к интернету. Это когда отлаживал API HTTP-сервера на базе ESP32, и очевидно, там не было интернета. Есть ли еще подобные Postman решения, которые работают корректно без интернета и с поддержкой вебсокетов? Curl не поддерживает вебсокеты.

Постман после верси 10.8 решил для всех принудительно синхронизировать коллекции только через облако и начали появляться альтернативы. Сейчас это Bruno, Insomnia, Yaak, Hurl

Как правило не рекомендуется использовать конфиденциальные данные/секреты в URL, так как они могут быть залогированы прокси серверами.

По правде говоря, не совсем понятно, что за запрос вы вызывали, на основании скриншота из Postman, предполагаю, что это GET, следовательно ваш секрет мог быть передан только в URL.

Для корректности тестового сценария, я бы порекомендовал протестировать POST запрос с секретом в request body.

Перестал пользоваться Postman, но по другим причинам. Во-первых, он стал очень тяжёлым и неповоротливым. Во-вторых, для работы требует учетку. И самое главное, он перестал работать офлайн. Когда они убрали этот режим, это стало последней каплей. По работе требовалось запускать там, где интернета не было.

Начал искать альтернативы, многие из них тупо пытаются копировать постман, в том числе и его модель работы. Для себя нашёл Bruno, который понравился и идеологией (open source, работа офлайн и без учётки) и легковесностью. По сравнению с постманом, конечно, местами сыроват. Но для моих нужд вполне хватает

А меня ещё называли параноиком когда я боролся за отказ от постмана :D

Давно выбрал чарли, и одной из причин было - люди смогли запилить простое и быстрое прокси на java, не отжирающее сотни мегабайт и живущее в десятке процессов, в отличии от постмана, бруно и им подобным... написанные конторами и людьми, которые без электрона уже наверное даже hello world не в состоянии написать, но при этом желающие много денег.

Sign up to leave a comment.

Articles