DevOps Ready | IT
6.33K subscribers
660 photos
52 videos
300 links
Авторский канал по DevOps разработке.
Ресурсы, обучения, задачи, шпаргалки.
Ежедневно информация пополняется!

Автор: @energy_it

Реклама на бирже: https://telega.in/c/devops_ready
Download Telegram
Поиск опасных параметров в URL через утилиту Waybackurls.

Мы научимся быстро собирать все исторические ссылки целевого домена из веб-архивов для анализа параметров. Это необходимо для поиска скрытых векторов атак, таких как SQL-инъекции, XSS или открытые редиректы. Автоматизация этого процесса позволяет за секунды получить список эндпоинтов, которые больше не отображаются на главной странице.

Для начала необходимо установить инструмент, который выкачивает архивные URL из Wayback Machine и других открытых баз:
# Установка утилиты на Go (требуется установленный golang)
go install github.com/tomnomnom/waybackurls@latest
sudo cp ~/go/bin/waybackurls /usr/local/bin/


Утилита готова к работе и доступна в системе как команда waybackurls.

Запускаем сбор всех когда-либо индексированных ссылок и фильтруем их, оставляя только те, что содержат параметры запроса:
waybackurls example.com | grep '=' | sort -u > params.txt


Результат будет сохранен в файл params.txt для дальнейшего изучения.

Используем регулярные выражения, чтобы выделить наиболее подозрительные параметры вроде id, redirect, url или file.
# Поиск потенциально уязвимых параметров для атак типа LFI/Redirect
grep -E "(id=|url=|path=|dest=|file=|page=)" params.txt


Для проверки количества найденных уникальных путей используйте стандартный счетчик строк:
wc -l params.txt


🔥 Данная техника позволяет обнаружить забытые параметры, которые разработчики могли оставить без должной фильтрации.

➡️ DevOps Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍6🔥5🤝2
📂 Напоминалка по сетевым портам!

Например, порт 22 используется для SSH-подключений, а 443 — для защищённого HTTPS-трафика. Порты — основа любого взаимодействия между клиентом и сервером.

На картинке — 18 основных портов.

Сохрани, чтобы не забыть!

➡️ DevOps Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21👍12🤝10
This media is not supported in your browser
VIEW IN TELEGRAM
👍 Linux Cheatsheet — полезный справочник по командам!

Это удобная шпаргалка по основным командам Linux, которая помогает быстро ориентироваться в системе и вспоминать нужные команды без долгих поисков в документации. Внутри собраны команды для работы с файловой системой, процессами, сетью, пользователями и системной информацией — всё с короткими пояснениями и примерами использования.

Оставляю ссылочку: GitHub 📱


➡️ DevOps Ready | #репозиторий
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥108👍8
Быстро привести JSON в читаемый вид через jq!

Иногда API возвращает JSON одной длинной строкой. В терминале читать такое совершенно неудобно. Самый простой способ привести всё в нормальный вид — прогнать через jq.

Например, если JSON лежит в файле:
jq . file.json


jq просто отформатирует его: разобьёт на строки и добавит отступы.

Часто это используют прямо при работе с API:
curl -s https://api.github.com/repos/torvalds/linux | jq .


Так сразу видно структуру ответа.

Если нужно вытащить конкретное поле:
jq '.name' file.json


То же самое можно сделать прямо из ответа API:
curl -s https://api.github.com/repos/torvalds/linux | jq '.description'


Иногда удобно забрать сразу несколько полей:
jq '{name, description, language}' file.json


Если в JSON есть массив, можно пройтись по всем элементам:
jq '.items[]' file.json


Например, вытащить из каждого объекта поле name:
jq '.items[].name' file.json


Когда нужен вывод без кавычек, пригодится флаг -r:
jq -r '.name' file.json


Это полезно, если результат дальше используется в скрипте.

Иногда ещё удобно быстро посмотреть, какие вообще пути есть в JSON:
jq 'paths' file.json


Команда покажет все доступные ключи и вложенные пути.

jq отлично вписывается в обычные shell-пайплайны. Например:
curl -s https://api.example.com/users | jq -r '.users[].email'


Так можно сразу вытащить нужные данные из ответа API.

🔥 В целом jq — один из самых удобных инструментов для работы с JSON в терминале. Если часто возишься с API или логами, он экономит кучу времени.

➡️ DevOps Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍8🔥8🤝3
📂 Напоминалка по структуре директорий Linux!

Например, /etc хранит системные конфигурации, /var используется для логов и изменяемых данных, а /home содержит домашние директории пользователей.

На картинке — основные каталоги, которые важно знать при работе с системой, серверами и разработкой.

Сохрани, чтобы держать под рукой!

➡️ DevOps Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥128🤝8👍1
Быстрый повтор и поиск команд из истории Bash!

Часто приходится выполнять длинные команды: docker, git, kubectl, сборки, скрипты или сложные пайплайны. Печатать их заново может быть долго и неудобно.

В Bash можно обращаться к истории команд напрямую.

Чтобы найти нужную команду, можно отфильтровать историю:
history | grep docker


Каждая команда имеет номер. Любую из них можно выполнить снова:
!482


Также можно повторить последнюю команду, которая начиналась с определённого слова.

Bash найдёт последнюю команду, начинающуюся с docker, и выполнит её снова. Это особенно удобно при работе с длинными CLI-командами:
!docker


🔥 Использование !номер и !команда позволяет запускать сложные команды без копирования и ручного набора.

➡️ DevOps Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥9🤝8
This media is not supported in your browser
VIEW IN TELEGRAM
💡 Infosec Cheatsheets — огромная база шпаргалок по кибербезопасности!

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

Оставляю ссылочку: GitHub 📱


➡️ DevOps Ready | #репозиторий
Please open Telegram to view this post
VIEW IN TELEGRAM
👍108🔥8
Работа с временными каталогами через mktemp!

При написании скриптов важно безопасно создавать временные файлы и каталоги. Для этого используется утилита mktemp, которая создаёт уникальные имена и исключает гонки (race conditions).

Создание временного файла:
mktemp


Команда создаёт файл в /tmp и выводит его путь.

Создание временного каталога:
mktemp -d


Флаг -d создаёт каталог вместо файла.

Создание файла с собственным шаблоном имени:
mktemp /tmp/script.XXXXXX


XXXXXX заменяются случайной последовательностью символов.

Использование временного файла в shell-скрипте:
tmpfile=$(mktemp)
echo "data" > "$tmpfile"


Путь сохраняется в переменную, после чего файл можно использовать внутри скрипта.

Создание временного каталога для обработки данных:
tmpdir=$(mktemp -d)
cp *.log "$tmpdir"


Часто используется при обработке архивов или промежуточных файлов.

Автоматическая очистка временного файла через trap:
tmpfile=$(mktemp)
trap 'rm -f "$tmpfile"' EXIT


trap гарантирует удаление временного файла при завершении скрипта.

Создание файла в конкретном каталоге:
mktemp -p /var/tmp backup.XXXXXX


Полезно, если требуется другой каталог вместо /tmp.

🔥 Использование mktemp считается стандартной практикой для shell-скриптов — ручное создание файлов в /tmp через фиксированные имена может привести к конфликтам и проблемам безопасности.

➡️ DevOps Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥8🤝8
😎 Нашёл полезную статью на Хабре: «Звук на 2-х и более устройств в Ubuntu одновременно»!

В этой статье:
• Автор на примере Ubuntu разбирает, как выводить аудио одновременно на несколько устройств;
• Пошагово объясняется, какие модули и утилиты нужны для мультивыхода;
• Приводятся рабочие команды для создания виртуального аудиоустройства и его настройки.


🔊 Продолжайте читать на Habr!


➡️ DevOps Ready | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥118🤝8👎1
👩‍💻 Проверяем скорость сети и пропускную способность прямо из терминала!

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

➡️ DevOps Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍87
Поднимаем временный RAM-диск и тестим скорость.
tmpfs в действии: супербыстрые операции с файлами!


RAM-диск — это временное хранилище прямо в оперативной памяти. Без дисковых задержек, с молниеносным I/O.

Создаём точку монтирования:
mkdir /mnt/ramdisk


Монтируем tmpfs с нужным объёмом:
sudo mount -t tmpfs -o size=512M tmpfs /mnt/ramdisk


Проверим, работает ли — создадим и скопируем файл:
dd if=/dev/zero of=/mnt/ramdisk/test bs=1M count=100
cp /mnt/ramdisk/test /mnt/ramdisk/test2


Весь ввод-вывод — напрямую в RAM. Это идеальное решение для временных файлов, кэшей и промежуточных вычислений.

Готово? Осталось только отмнотировать и всё:
sudo umount /mnt/ramdisk


🔥 Быстрый и надёжный способ ускорить работу без всяких SSD и оркестраторов. Работает на любом VPS.

➡️ DevOps Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥6🤝61
📂 Напоминалка по расширению параметров в Bash!

Например, ${var%.*} убирает расширение файла, а ${var##*/} позволяет быстро получить имя файла из полного пути.

На картинке — основные приёмы работы с переменными в bash: удаление префиксов и суффиксов, замена строк, работа с подстроками и значения по умолчанию.

Сохрани, чтобы не забыть!

➡️ DevOps Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍12🔥8
Как не выполнять одну и ту же команду несколько раз?

В работе часто возникает ситуация: команда тяжёлая, медленная или ходит в сеть. Например, kubectl, docker, curl, запросы к API или работа с логами.

Чтобы не гонять её снова и снова для разных проверок:
kubectl get pods
kubectl get pods | grep api
kubectl get pods | wc -l


Каждый раз это новый запрос, новая нагрузка и потеря времени.

Гораздо быстрее выполнить её один раз и сохранить результат:
out=$(kubectl get pods)


Теперь можно сколько угодно анализировать данные без повторных вызовов:
echo "$out" | grep api
echo "$out" | wc -l


Это особенно чувствуется при работе с удалёнными сервисами, базами и логами, где каждая команда может занимать секунды.

🔥 Если команда дорогая — не запускай её повторно. Сохрани результат и работай с ним локально.

➡️ DevOps Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝12👍7🔥6
This media is not supported in your browser
VIEW IN TELEGRAM
❤️ Linux Commands Cheat Sheet — шпаргалка по 400+ командам Linux!

В репозитории собран справочник по Linux-командам — более 400 утилит с описаниями и примерами использования. Каждая команда сопровождается кратким объяснением и примерами, поэтому можно быстро понять, как она работает и где применяется. Удобно использовать как справочник в работе и подготовке к собеседованиям.

Оставляю ссылочку: GitHub 📱


➡️ DevOps Ready | #репозиторий
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍9🔥8
sponge: утилита, которая спасает, когда нужно перезаписать файл через pipe!

Есть старый неприятный момент в shell: если читаешь файл и тут же пишешь результат обратно в него же через >, можно случайно получить пустой файл.

Например:
grep -v DEBUG app.log > app.log


На первый взгляд выглядит нормально. На практике — нет.
Shell откроет app.log на запись сразу, ещё до того, как grep дочитает его до конца. В итоге файл можно просто обнулить.

В таких случаях выручает sponge из moreutils.

Он работает просто: сначала полностью читает входной поток, и только потом записывает результат в файл.

То же самое, но безопасно:
grep -v DEBUG app.log | sponge app.log


Несколько примеров, где это реально удобно.

Заменить текст в конфиге:
sed 's/localhost/db.internal/' config.yml | sponge config.yml


Убрать пустые строки:
grep -v '^$' file.txt | sponge file.txt


Отсортировать файл:
sort file.txt | sponge file.txt


Отформатировать JSON:
jq '.' data.json | sponge data.json


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

🔥 Если коротко: когда нужно безопасно перезаписать файл результатом команды, sponge делает именно то, что ожидаешь.

➡️ DevOps Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥9🤝72
This media is not supported in your browser
VIEW IN TELEGRAM
🐱 Awesome Hacker Search Engines — инструменты, которые используют в инфосеке!

Подборка специализированных поисковиков, которые активно применяются в OSINT, пентесте и разведке инфраструктуры. Сервисы для поиска утечек, открытых портов, уязвимых сервисов, исходного кода, доменов, IP-адресов и другой критичной информации. Отлично подойдёт тем, кто хочет понять, как собирается информация перед атакой или тестированием.

Оставляю ссылочку: GitHub 📱


➡️ DevOps Ready | #репозиторий
Please open Telegram to view this post
VIEW IN TELEGRAM
👍98🔥8🤝1
📂 Напоминалка по сетевым протоколам!

Например, DNS отвечает за преобразование доменных имен в IP-адреса, TCP обеспечивает надежное соединение и порядок доставки пакетов, а HTTP используется для обмена запросами и ответами между клиентом и сервером.

На картинке — основные сетевые протоколы и уровни, которые участвуют в передаче данных.

Сохрани, чтобы не потерять!

➡️ DevOps Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍10🤝8