У
ㅤ
То есть ты не напрямую подключаешься к серверу:
А подключаешься к серверу через сервер с
Настраивается эта штука так:
На сервере с
Создаём под это дело отдельную роль:
На сервере к которому хотим подключаться, делаем:
Добавляем в конфиг
И перезапускаем:
Переходим на свою локальную машину, с которой будем подключаться:
Этой командой подписываем свой публичный ключ через
Сохраняем на локальную машину подписанный ключ:
Смотрим параметры получившегося ключа:
Опять же получишь портянку информации, можно посмотреть валидность и время жизни этого ключа.
Теперь подключаемся:
Ну и вишенка, подключаемся через враппер:
В этом случае подписывать ключ не обязательно.
Доступ к серверам контролирует
Что-то вроде центра сертификации, писал как-то отдельный пост на эту тему.
Нашел еще видос у пиндоса на эту тему, можешь визуально глянуть и проникнутся.
Такие дела!
🛠 #linux #devops
—
✅ @bashdays / @linuxfactory / @blog
Hashicorp Vault есть прикольная фишка со встроенным ssh враппером и подписными ключами.ㅤ
То есть ты не напрямую подключаешься к серверу:
ssh root@server
А подключаешься к серверу через сервер с
Vault, получается что-то вроде бастиона. Vault подписывает ключи и запускает тебя в нужное место.Настраивается эта штука так:
На сервере с
Vault выполняем:vault secrets enable -path=ssh ssh
vault write ssh/config/ca generate_signing_key=true
Создаём под это дело отдельную роль:
vault write ssh/roles/devops -<<"EOH"
{
"allow_user_certificates": true,
"allowed_users": "*",
"allowed_extensions": "permit-pty,permit-port-forwarding,permit-agent-forwarding,permit-user-rc,permit-X11-forwarding",
"default_extensions": [
{
"permit-pty": ""
}
],
"key_type": "ca",
"default_user": "root",
"ttl": "30m0s"
}
EOH
На сервере к которому хотим подключаться, делаем:
curl -o /etc/ssh/trusted-user-ca-keys.pem https://vault.bashdays.ru:8200/v1/ssh/public_key
Добавляем в конфиг
/etc/ssh/sshd_config строчку: TrustedUserCAKeys /etc/ssh/trusted-user-ca-keys.pem
И перезапускаем:
systemctl restart sshdПереходим на свою локальную машину, с которой будем подключаться:
export VAULT_TOKEN="token"
vault write -address='https://vault.bashdays.ru:8200' ssh/sign/devops public_key=@$HOME/.ssh/id_rsa.pub
Этой командой подписываем свой публичный ключ через
vault сервер. В ответ получаем кучу всякой хуйни типа: serial_number и signed_key.Сохраняем на локальную машину подписанный ключ:
export VAULT_TOKEN="token"
vault write -address='https://vault.bashdays.ru:8200' --field=signed_key ssh/sign/devops public_key=@$HOME/.ssh/id_rsa.pub > ~/.ssh/id_rsa_signed_key.pub
Смотрим параметры получившегося ключа:
ssh-keygen -Lf /Users/user/.ssh/id_rsa_signed_key.pub`
Опять же получишь портянку информации, можно посмотреть валидность и время жизни этого ключа.
Теперь подключаемся:
ssh -i ~/.ssh/id_rsa_signed_key.pub -i ~/.ssh/id_rsa root@server
Ну и вишенка, подключаемся через враппер:
vault ssh -address='https://vault.bashdays.ru:8200' -private-key-path=~/.ssh/id_rsa -public-key-path=~/.ssh/id_rsa.pub -mode=ca -role=devops -user-known-hosts-file=/dev/null root@server
В этом случае подписывать ключ не обязательно.
Доступ к серверам контролирует
Vault. Можно быстро накручивать необходимые права, забирать и отзывать ключи. Ну и там много чего еще можно сделать.Выглядит крайне неудобно и не интуитивно. Но порой такую штуку можешь встретить в компаниях. Хотя я против такой хуйни, какая-то блядь избыточная безопасность.
Что-то вроде центра сертификации, писал как-то отдельный пост на эту тему.
Нашел еще видос у пиндоса на эту тему, можешь визуально глянуть и проникнутся.
Такие дела!
—
Please open Telegram to view this post
VIEW IN TELEGRAM
1 56
Давно хотел попробовать эту штуку и попробовал. Штука называется
ㅤ
Чтобы установить операционку тебе не нужна никакая флешка и т.п.
Выставляешь в биосе сетевую загрузку и устанавливаешь на выбор любой дистрибутив.
Тыкаем палкой:
Теперь закидываем любые iso образы в папку
Я закинул ubuntu server и selectos для теста.
Запускаем:
После этого можно зайти на морду и посмотреть более детально, крутится эта штука на
Внутри можно поднастроить TFTP сервер, увидеть исошники, поменять разрешения экранов и менюшек, прописать белые списки мак адресов ну и т.п. Сам потыкаешь, всё интуитивно понятно.
Проверяем.
Поднимаю новую машину в виртулбоксе c EFI, выставляю загрузку по сети и вижу ожидаемый результат. У меня доступно два дистрибутива ubuntu и selectos. Отлично!
Выбираем нужный дистрибутив и запускаем установку по сети.
Что понравилось —
Да, чтобы оно автоматом стартавало, можно закинуть какой-нибудь такой юнит.
Надо будет попробовать исошники с виндой подкинуть. А то порой приносят мне по старой памяти ноуты на переустановку винды, хуй откажешься, я же блядь программист.
Ладно, бери на вооружение, глядишь пригодится.
🛠 #linux #pxe #utilites
—
✅ @bashdays / @linuxfactory / @blog
iVentoy.ㅤ
iVentoy это PXE сервер. Если уж совсем простым языком, то это сервер который раздаёт исошники. Чтобы установить операционку тебе не нужна никакая флешка и т.п.
Выставляешь в биосе сетевую загрузку и устанавливаешь на выбор любой дистрибутив.
iVentoy из коробки дружит и с легаси биосом и с efi, так что хуёвина универсальная. Можно поднимать сервер и по Linux и под Windows.iVentoy is an enhanced version of the PXE server. With iVentoy you can boot and install OS on multiple machines at the same time through the network.
iVentoy is extremely easy to use, without complicated configuration, just put the ISO file in the specified location and select PXE boot in the client machine.
iVentoy supports x86 Legacy BIOS, IA32 UEFI, x86_64 UEFI and ARM64 UEFI mode at the same time.
iVentoy support 110+ common types of OS (Windows/WinPE/Linux/VMware)
Тыкаем палкой:
wget https://github.com/ventoy/PXE/releases/download/v1.0.20/iventoy-1.0.20-linux-free.tar.gz
tar -xzf iventoy-1.0.20-linux-free.tar.gz
mv iventoy-1.0.20 /opt/iventoy
cd /opt/iventoy
Теперь закидываем любые iso образы в папку
/opt/iventoy/iso.Я закинул ubuntu server и selectos для теста.
Запускаем:
./iventoy.sh start
После этого можно зайти на морду и посмотреть более детально, крутится эта штука на
26000 порту. Меня пустило так:https://192.168.10.32:26000
Внутри можно поднастроить TFTP сервер, увидеть исошники, поменять разрешения экранов и менюшек, прописать белые списки мак адресов ну и т.п. Сам потыкаешь, всё интуитивно понятно.
Да, важно не забыть в вебморде справа нажать зеленую стрелку, это запустит PXE сервер.
Проверяем.
Поднимаю новую машину в виртулбоксе c EFI, выставляю загрузку по сети и вижу ожидаемый результат. У меня доступно два дистрибутива ubuntu и selectos. Отлично!
Выбираем нужный дистрибутив и запускаем установку по сети.
Что понравилось —
iVentoy ставится элементарно, без хуйни и заморочек. Буквально пару минут и у тебя готовый PXE, запускай и накатывай операционки без флешек и внешних винтов.Да, чтобы оно автоматом стартавало, можно закинуть какой-нибудь такой юнит.
[Unit]
Description=iVentoy PXE Server
After=network.target
[Service]
Type=forking
ExecStart=/opt/iventoy/iventoy.sh start
ExecStop=/opt/iventoy/iventoy.sh stop
Restart=on-failure
[Install]
WantedBy=multi-user.target
Надо будет попробовать исошники с виндой подкинуть. А то порой приносят мне по старой памяти ноуты на переустановку винды, хуй откажешься, я же блядь программист.
Ладно, бери на вооружение, глядишь пригодится.
—
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
4 110
Если что-то делать, что-то будет!
После моего последнего поста про SelectOS много кто заглянул в личку с вопросами — мол, как оно вообще и т.п.
Раз интересно, запилил для тебя продолжение. Рассказал как на этой ОС я поднял локальный gitlab для команды, впендюрил раннеры и с чем пришлось столкнуться.
Го чтиво читать да комменты писать 👇
🦖 SelectOS в деле
🛠 #linux #review
—
✅ @bashdays / @linuxfactory / @blog
После моего последнего поста про SelectOS много кто заглянул в личку с вопросами — мол, как оно вообще и т.п.
Раз интересно, запилил для тебя продолжение. Рассказал как на этой ОС я поднял локальный gitlab для команды, впендюрил раннеры и с чем пришлось столкнуться.
Го чтиво читать да комменты писать 👇
—
Please open Telegram to view this post
VIEW IN TELEGRAM
Как оказалось многие испытывают неистовые жопные боли при настройке
ㅤ
Сегодня покажу как избавиться от боли и на лету получать SSL для
Устанавливаем angie:
Начиная с
Открываем айпишник сервера в браузере и убеждаемся что все работает. Если всё заебись, получишь стартовую страницу
Конфигуряем angie на домен two.su.
Создаем файл
А в файле
Если
Проверяем:
Полученный сертификат и соответствующий ключ будут доступны в конфигурации через переменные $acme_cert_<имя> и $acme_cert_key_<имя>.
Перезапускаем:
Если получил ошибку, закинь сертификаты заглушки в
У меня никаких ошибок не возникло.
В папке:
Захожу в браузере на
Меня вся эта кухня полностью устраивает. Понятно дело есть
Когда что-то настраиваешь руками, а не мышкой, то имеешь представление как работает технология изнутри. А если ты это знаешь, то легко сможешь отдебажить баги и найти первопричину.
По крайней мере меня так учили и я с этим полностью согласен.
🛠 #linux #devops #angie #ssl
—
✅ @bashdays / @linuxfactory / @blog
angie со встроенной поддержкой SSL сертификатов от Lets Encrypt.ㅤ
Сегодня покажу как избавиться от боли и на лету получать SSL для
angie. Без всяких там certbot и acme.sh. Довольно удобно реализовано.Для чистоты эксперимента я взял чистый, прерываемый сервер, без nginx’ов и т.п. на базе Ubuntu 24.04.
angie это аналог nginx, но на стероидах, у меня он крутится на уроках для LinuxFactory и в блоге. Подкупил он меня нативной поддержкой LUA и кучей модулей включая авто-получение SSL сертов.Устанавливаем angie:
sudo curl -o /etc/apt/trusted.gpg.d/angie-signing.gpg https://angie.software/keys/angie-signing.gpg
echo "deb https://download.angie.software/angie/$(. /etc/os-release && echo "$ID/$VERSION_ID $VERSION_CODENAME") main" | sudo tee /etc/apt/sources.list.d/angie.list > /dev/null
sudo apt-get update
sudo apt-get install -y angie
Начиная с
Angie 1.3.0, модуль ACME (http_acme_module) включён по умолчанию в основной пакет angie.Открываем айпишник сервера в браузере и убеждаемся что все работает. Если всё заебись, получишь стартовую страницу
angie. Дефолтная страница практически один в один повторяет дефолтную страницу от nginx.Дальше у меня есть домен two.su который живет в Cloudfalre. В настройках DNS я прописываю A запись и указываю айпишник нового сервера. Весь трафик идет напрямую, без фильтрации самого Cloudfalre.
Конфигуряем angie на домен two.su.
Создаем файл
two.su.conf в /etc/angie/httpd.d/ с таким содержимым. server {
listen 443 ssl;
server_name two.su www.two.su;
acme letsencrypt;
ssl_certificate $cert_letsencrypt;
ssl_certificate_key $cert_key_letsencrypt;
location / {
root /var/www/html;
}
}А в файле
/etc/angie/angie.conf в секцию http добавляем:acme_client letsencrypt https://acme-v02.api.letsencrypt.org/directory;
resolver 127.0.0.53;
map $acme_cert_letsencrypt $cert_letsencrypt {
'' /etc/angie/ssl-self-signed/cert.pem;
default $acme_cert_letsencrypt;
map $acme_cert_letsencrypt $cert_key_letsencrypt {
'' /etc/angie/ssl-self-signed/key.pem;
default $acme_cert_key_letsencrypt;
}
Если
angie у тебя работает в докере, то в resolver пропиши: 127.0.0.11.Проверяем:
angie -t и в ответ получаем:angie: the configuration file /etc/angie/angie.conf syntax is ok
angie: configuration file /etc/angie/angie.conf test is successful
Полученный сертификат и соответствующий ключ будут доступны в конфигурации через переменные $acme_cert_<имя> и $acme_cert_key_<имя>.
Перезапускаем:
systemctl reload angieЕсли получил ошибку, закинь сертификаты заглушки в
/etc/angieopenssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days 3650 -nodes -subj "/C=RU/O=Bashdays/CN=LinuxFactory"
У меня никаких ошибок не возникло.
В папке:
/var/lib/angie/acme/letsencrypt появились ключи и серты.Захожу в браузере на
two.su и вижу зеленый замочек. Что и требовалось доказать. SSL сертификат был автоматически получен и в дальнейшем будет автоматически продляться. Без всяких кронов, клиентов, API ключей и хуйни.Единый сертификат будет получен для всех доменных имён, которые были перечислены в директиве server_name. А директива acme указывает, какой ACME-клиент должен использоваться.
Меня вся эта кухня полностью устраивает. Понятно дело есть
Nginx Proxy Manager, но я привык работать без гуёвых штук и мордочек.Когда что-то настраиваешь руками, а не мышкой, то имеешь представление как работает технология изнутри. А если ты это знаешь, то легко сможешь отдебажить баги и найти первопричину.
По крайней мере меня так учили и я с этим полностью согласен.
—
Please open Telegram to view this post
VIEW IN TELEGRAM
3 72
Продолжение следует, буду держать в курсе, завтра остатки выложу, пойду спать, мож само рассосется, как в воду глядели в чатике скрин про mc, htop.
Короче закручивается какая-то интересная ситуация, прод у них лежит уже как пару часов, знатно потрудились.
Чё сука ровно на жопе не сидится, вечно руки свои нужно куда-то засунуть в пятницу вечером.
Не могу написать матом, корпоративная солидарность, не профессионально, да — NDA нет, поэтому и публикую на всеобщее.
Пойду тоже логи почищу в var/mysql, заебали они меня (логи), в особенности
ibdata1, слишком жирный. Как ты его вообще удалить-то смогла без даунтайма по графикам... и mysql не стопали... загадка... сильна Мадемуазе́ль!
У всех проблем одно начало...
Сидела женщина, скучала,
Качала ножкою своей,
И вдруг пришла мыслишка к ней...
Она подумала: "Чего же?,
Сидеть мне здесь совсем не гоже,
Пойду-ка я слегка пройдусь,
И хоть немного развлекусь..."
© Александр Флинде
—
Please open Telegram to view this post
VIEW IN TELEGRAM
Отдыхаешь? А как тебе такое? Если пропиздоглазил, то смотри на зеленый замочек и домен.
ㅤ
Короче — я сгенерил валидный SSL сертификат для домена localhost.
Аналогично можно бесконечно генерить такие сертификаты для любых своих локальных доменов. Ну и затем подключать их во всякие nginx, mysql джанги-хуянги и т.п.
Называется
Чтобы установить
И заинсталлить
Получаем такое:
Всё! Теперь у нас есть свой доверенный центр сертификации.
Выпускаем первый SSL сертификат.
Ебли с этим никакой нет, запускаем:
То есть просто перечисляем список доменов.
В ответ получаем:
В результате получаем
Ну а дальше пихаем ихв жопы в нужное место и наслаждаемся зеленым замочком.
Если серты и ключи тебе нужно генерить в определенном месте, можешь это указать так:
Это полезно если у тебя какая-то автоматизация или баш скрипт, который автоматом будет это всё генерить, а nginx или angie это подхавывать.
Чтобы этой хуйнёй воспользоваться на WSL, делаем так:
Здесь мы не выполняем инициализацию
Для того чтобы эти сертификаты были доверенными в винде, нужно указать путь к корневому сертификату, который мы с тобой зашили в винду.
Идем на виндовую машину и выполняем:
В ответ получаем путь до корневого сертификата, у меня такой:
Возвращаем в WSL и выполняем:
Если у тебя
Теперь можно выпускать SSL сертификаты в WSL и в винде они будут считаться доверенными.
Если у тебя не винда, а мак или линукс, похуй, все делается аналогично, в официальной документации эти кейсы все подробно расписаны.
Что прикольно, такие серты живут по два года. При желании их можно прикрутить к своему локальному proxmox или еще куданить. Тут уже сам разберешься.
Для локальных целей прям маст-хев! Забирай на вооружение.
🛠 #ssl #utilites
—
✅ @bashdays / @linuxfactory / @blog
ㅤ
Короче — я сгенерил валидный SSL сертификат для домена localhost.
Аналогично можно бесконечно генерить такие сертификаты для любых своих локальных доменов. Ну и затем подключать их во всякие nginx, mysql джанги-хуянги и т.п.
Называется
mkcert. Работает на всём, Винда, Линукс и Мак. В случае с виндой установка осуществляется через менеджеры пакетов scoop или chocolatey.Чтобы установить
scoop в powershell нужно забить:Set-ExecutionPolicy RemoteSigned -scope CurrentUser
irm get.scoop.sh | iex
И заинсталлить
mkcertscoop bucket add extras
scoop install mkcert
mkcert -install
Получаем такое:
Created a new local CA 💥
The local CA is now installed in the system trust store! ⚡️
Note: Firefox support is not available on your platform. ℹ️
Всё! Теперь у нас есть свой доверенный центр сертификации.
Выпускаем первый SSL сертификат.
Ебли с этим никакой нет, запускаем:
mkcert bashdays.kek "*.bashdays.kek"
То есть просто перечисляем список доменов.
В ответ получаем:
Created a new certificate valid for the following names 📜
- "bashdays.kek"
- "*.bashdays.kek"
Reminder: X.509 wildcards only go one level deep, so this won't match a.b.bashdays.kek ℹ️
The certificate is at "./bashdays.kek+1.pem" and the key at "./bashdays.kek+1-key.pem" ✅
It will expire on 2 August 2027 🗓
В результате получаем
bashdays.kek+1.pem — сертификат и bashdays.kek+1-key.pem - приватный ключ.Ну а дальше пихаем их
Если серты и ключи тебе нужно генерить в определенном месте, можешь это указать так:
mkcert -cert-file=/ssl/fullchain.crt -key-file=/ssl/private.key bashdays.kek
Это полезно если у тебя какая-то автоматизация или баш скрипт, который автоматом будет это всё генерить, а nginx или angie это подхавывать.
Чтобы этой хуйнёй воспользоваться на WSL, делаем так:
sudo apt install libnss3-tools
curl -JLO "https://dl.filippo.io/mkcert/latest?for=linux/amd64"
chmod +x mkcert-v*-linux-amd64
sudo cp mkcert-v*-linux-amd64 /usr/local/bin/mkcert
Здесь мы не выполняем инициализацию
mkcert -install, на WSL мы только генерим SSL сертификаты.Для того чтобы эти сертификаты были доверенными в винде, нужно указать путь к корневому сертификату, который мы с тобой зашили в винду.
Идем на виндовую машину и выполняем:
mkcert -CAROOT
В ответ получаем путь до корневого сертификата, у меня такой:
C:\Users\user\AppData\Local\mkcertВозвращаем в WSL и выполняем:
echo "export CAROOT=/mnt/c/Users/user/AppData/Local/mkcert" >> ~/.bashrc
Если у тебя
zsh, сам разберешься.Теперь можно выпускать SSL сертификаты в WSL и в винде они будут считаться доверенными.
Если у тебя не винда, а мак или линукс, похуй, все делается аналогично, в официальной документации эти кейсы все подробно расписаны.
Что прикольно, такие серты живут по два года. При желании их можно прикрутить к своему локальному proxmox или еще куданить. Тут уже сам разберешься.
mkcert давнишняя штука, но как оказалось про неё мало кто знает, я про нее слышал года 4 назад, но успешно забыл. И вот только сегодня нашел в своих bash скриптах интеграцию с ней.
Для локальных целей прям маст-хев! Забирай на вооружение.
—
Please open Telegram to view this post
VIEW IN TELEGRAM
5 106
Как работает RSA.
Вся ассиметричная криптография держится на принципе:
ㅤ
Сразу с ума не сходи, сначала душная теория, а потом весёлая практика — на письках. Как ты любишь!
Берем простые числа:
Подставляем в формулу:
Получается:
Открытый ключ:
Закрытый ключ:
😲 Пример на письках
Антон спрашивает у Маши — а сколько сантиметров хуй у Ивана?
Маша знает что у Ивана хуй — 21 сантиметр. Но Маше нужно это сообщить Антону, чтобы Иван не узнал.
Для этого Маше нужно знать открытый ключ Антона.
Берем открытый ключ из предыдущих вычислений
И шифруем хуй Ивана:
Возводим длину хуя Ивана в 691 степень по модулю 779 и получаем число 717.
Теперь Маша передает без палева число 717 Антону.
Антон же с помощью закрытого ключа расшифровывает длину хуя Ивана.
Аналогично возводим в степень по модулю. С помощью математики Антон узнаёт сколько сантиметров хуй у Ивана.
Даже линейка не понадобилась!
Подытожим:
Даже если Иван перехватит такое сообщение, то цифра 717 ему ни о чем не скажет, не может же быть хуй 717 см… хотя у леперов и пикабушников наверное так и есть.
Вот тебе пример на Bash:
В результате получим: 717 и 21. Что и требовалось доказать!
Чуть позже покажу как «ломают» такие ключи и как сгенерить RSA ключ с бэкдором.
Изучай!
🛠 #ssl #security #rsa #crypto
—
✅ @bashdays / @linuxfactory / @blog
Вся ассиметричная криптография держится на принципе:
В одну сторону — быстро, в другую сторону — неразумно и пиздец как долго.
ㅤ
Сразу с ума не сходи, сначала душная теория, а потом весёлая практика — на письках. Как ты любишь!
Берем простые числа:
p = 19
q = 41
Подставляем в формулу:
N=p*q=779ф(N)=(p-1)*(q-1)=720e=691d=571
N = p * q = 779 = это модуль, он используется как часть открытого и закрытого ключей.φ(N) = (p - 1)(q - 1) = 18 * 40 = 720 = функция Эйлера от N, она показывает количество чисел, взаимно простых с N.e = 691 = открытая экспонента, часть публичного ключа. Она должна быть взаимно проста с φ(N).d = 571 = закрытая экспонента, часть приватного ключа. Это мультипликативная обратная величина к e по модулю φ(N) (то есть: (d * e) % φ(N) = 1).Получается:
Открытый ключ:
(e, N) = (691, 779)Закрытый ключ:
(d, N) = (571, 779)Антон спрашивает у Маши — а сколько сантиметров хуй у Ивана?
Маша знает что у Ивана хуй — 21 сантиметр. Но Маше нужно это сообщить Антону, чтобы Иван не узнал.
Для этого Маше нужно знать открытый ключ Антона.
Берем открытый ключ из предыдущих вычислений
(691, 779).И шифруем хуй Ивана:
21^691 mod 779 = 717
Возводим длину хуя Ивана в 691 степень по модулю 779 и получаем число 717.
Теперь Маша передает без палева число 717 Антону.
Антон же с помощью закрытого ключа расшифровывает длину хуя Ивана.
717^571 mod 779 = 21
Аналогично возводим в степень по модулю. С помощью математики Антон узнаёт сколько сантиметров хуй у Ивана.
Даже линейка не понадобилась!
Подытожим:
Даже если Иван перехватит такое сообщение, то цифра 717 ему ни о чем не скажет, не может же быть хуй 717 см… хотя у леперов и пикабушников наверное так и есть.
Вот тебе пример на Bash:
#!/bin/bash
# Исходные данные
m=21
e=691
d=571
n=779
# Шифруем: c = m^e mod n
c=$(echo "$m ^ $e % $n" | bc)
echo "Зашифрованное сообщение: $c"
# Расшифровываем: m = c^d mod n
decrypted=$(echo "$c ^ $d % $n" | bc)
echo "Расшифрованное сообщение: $decrypted"
В результате получим: 717 и 21. Что и требовалось доказать!
В этот скрипт можешь подставить исходные данные своего прибора и результаты скинуть пиэму.
Чуть позже покажу как «ломают» такие ключи и как сгенерить RSA ключ с бэкдором.
Изучай!
—
Please open Telegram to view this post
VIEW IN TELEGRAM
1 123
Внедряем бэкдор в RSA
Здарова и с внеплановой пятницей!
Накидал тебе пост с практическим кодом, как внедряют дополнительную дырку в очко. В телегу оно сука не влезло, поэтому закинул в блог. А как работает RSA я разжевал тут.
Читать чтиво 👇
https://blog.bashdays.ru/vnedryaem-bekdor-v-rsa-klyuch/
Комменты можешь оставлять к этому посту, мож чё дельное напишешь.
🛠 #ssl #security #rsa #crypto
—
✅ @bashdays / @linuxfactory / @blog
Здарова и с внеплановой пятницей!
Накидал тебе пост с практическим кодом, как внедряют дополнительную дырку в очко. В телегу оно сука не влезло, поэтому закинул в блог. А как работает RSA я разжевал тут.
Читать чтиво 👇
https://blog.bashdays.ru/vnedryaem-bekdor-v-rsa-klyuch/
Комменты можешь оставлять к этому посту, мож чё дельное напишешь.
—
Please open Telegram to view this post
VIEW IN TELEGRAM
1 54
С праздником друзья!
ㅤ
Сегодня будем превращать обычную клавиатуру в механическую. Ну как превращать, заведем звуки популярных кейкапов через динамики.
И поможет нам в этом
Установка
Тут всё просто, идем сюда и устанавливаем бинарник под свою операционку.
Собственно на этом всё, оно сразу начинает работать. В настройках можешь выбрать готовые паки под разные модели механик.
Что прикольно, можно загружать свои звуки и завязывать их на любые кнопки. Можно регулировать громкость и сворачивать в трей.
Я себе котиков навтыкал, пишу этот пост и у меня всё мяукает и тыгыдыкает.
Ну а кто-то томные стоны аниме-девочек (Ahegao) прогружает, чисто поугарать.
Отдельные паки можно затестить прям на сайте и качнуть тут.
Мож кому зайдет, забирай в копилку.
🛠 #hardware #utilites
—
✅ @bashdays / @linuxfactory / @blog
ㅤ
Сегодня будем превращать обычную клавиатуру в механическую. Ну как превращать, заведем звуки популярных кейкапов через динамики.
И поможет нам в этом
Mechvibes.Mechvibes: забавный и практичный способ воспроизводить любимые звуки клавиатуры где угодно.
Установка
Тут всё просто, идем сюда и устанавливаем бинарник под свою операционку.
Поддерживается Linux, Windows, Mac.
Собственно на этом всё, оно сразу начинает работать. В настройках можешь выбрать готовые паки под разные модели механик.
Что прикольно, можно загружать свои звуки и завязывать их на любые кнопки. Можно регулировать громкость и сворачивать в трей.
Я себе котиков навтыкал, пишу этот пост и у меня всё мяукает и тыгыдыкает.
Ну а кто-то томные стоны аниме-девочек (Ahegao) прогружает, чисто поугарать.
Отдельные паки можно затестить прям на сайте и качнуть тут.
Мож кому зайдет, забирай в копилку.
—
Please open Telegram to view this post
VIEW IN TELEGRAM
Придёт серенький OOM и выебет тебя нахуй!
ㅤ
Сегодня поиграем в операционную систему. Ну как проиграем, ты сам примеришь шкуру операционной системы и попытаешься выжить.
Движуха называется «You are the OS».
Суть — ты отправляешь процессы на исполнение в доступные процессоры. Если не хватило памяти, отправляешь процессы на диск. Если что-то сделал не так — тебя выебали ивысушили перезагрузили!
Всё просто! Летс го 👇
https://plbrault.github.io/youre-the-os/
🛠 #games
—
✅ @bashdays / @linuxfactory / @blog
ㅤ
Сегодня поиграем в операционную систему. Ну как проиграем, ты сам примеришь шкуру операционной системы и попытаешься выжить.
Движуха называется «You are the OS».
Суть — ты отправляешь процессы на исполнение в доступные процессоры. Если не хватило памяти, отправляешь процессы на диск. Если что-то сделал не так — тебя выебали и
Поначалу нихуя не понятно, но спустя пару минут въезжаешь что нужно делать, этакий сапёр. Мой рекорд аптайма 50 секунд, не быть мне операционной системой.
Всё просто! Летс го 👇
https://plbrault.github.io/youre-the-os/
—
Please open Telegram to view this post
VIEW IN TELEGRAM
Есть у клиента старинный сервер с мониторингом, старинный как гавно мамонта. Работает чуть ли не на BlackCat Linux.
ㅤ
Всё бы ничего, но при подключении к этому серверу по ssh, оно пиздец долго думает, минуты по 3-4 и только потом пускает. Сидишь как олень ждешь у моря погоды.
Сегодня будем решать эту проблему.
Самый очевидный фикс, это прописать в конфиге:
Опция отключает обратное DNS-разрешение IP-адреса клиента при подключении по SSH.
По умолчанию опция
Дохуя лишнего!
😲 Но этот способ не прокатил. Ладно, идем дальше!
Нахожу в конфиге
Удаляю эту опцию из конфига.
Перезапускаю:
Пробую подключиться по ssh к серверу. Слава яйцам! Залетает только в путь, без мучительных ожиданий. Дело закрыто!
Что делает UsePAM yes в SSH
Когда выставлено
Ну и корень проблемы:
Вдумчиво настрой этот файл и потом можно обратно включать
Проблема решена, всем хорошей рабочей недели!
🛠 #ssh #bugfix #linux
—
✅ @bashdays / @linuxfactory / @blog
ㅤ
Всё бы ничего, но при подключении к этому серверу по ssh, оно пиздец долго думает, минуты по 3-4 и только потом пускает. Сидишь как олень ждешь у моря погоды.
Сегодня будем решать эту проблему.
Самый очевидный фикс, это прописать в конфиге:
/etc/ssh/sshd_config опцию: UseDNS no.Опция отключает обратное DNS-разрешение IP-адреса клиента при подключении по SSH.
По умолчанию опция
UseDNS yes, SSH-сервер при подключении клиента:1. Получает IP-адрес клиента.
2. Делает обратный DNS-запрос (reverse DNS lookup) — определяет доменное имя по IP.
3. Делает прямой DNS-запрос для проверки, что имя действительно соответствует IP
Дохуя лишнего!
Нахожу в конфиге
/etc/ssh/sshd_config: UsePAM yes, ага, еще один звоночек. Удаляю эту опцию из конфига.
Перезапускаю:
systemctl restart sshdПробую подключиться по ssh к серверу. Слава яйцам! Залетает только в путь, без мучительных ожиданий. Дело закрыто!
Что делает UsePAM yes в SSH
Когда выставлено
UsePAM yes, после успешной аутентификации (например, по публичному ключу), sshd передаёт управление PAM-модулям, которые:1. Создают сессию (session блок в /etc/pam.d/sshd)
2. Инициализируют среду (например, pam_env)
3. Логируют (pam_lastlog, pam_motd)
4. Могут подключать модули вроде pam_systemd, pam_limits, pam_loginuid и т.п.
Ну и корень проблемы:
/etc/pam.d/sshd обычно в этом файле включена пачка модулей которые тормозят твою деятельность.Вдумчиво настрой этот файл и потом можно обратно включать
UsePAM yes.Проблема решена, всем хорошей рабочей недели!
—
Please open Telegram to view this post
VIEW IN TELEGRAM
1 117
Сегодня будем собирать "сливки на молоке". Поговорим немного об оптимизации bash по времени исполнения.
🔤 🔤 🔥 🔤 🔤 🔤 🔤
ㅤ
Все помнят, что есть команда time, которая с точностью до 1e-3 может подсчитать время выполнения конвейера.
Для перфекционистов, вроде меня, есть переменная
Но для ее использования есть два препятствия:
1. Она в вещественном формате, а bash не работает с вещественными числами.
2. Разделитель дробной части зависит от языковых настроек. (где-то точка, где-то запятая...)
Попробуем решить эти проблемы. Простая функция. Вычисляет разницу
Ну и теперь, вооружившись инструментом, попробуем использовать на практике:
1. Сравним время выполнения двух функций B1 - исполняется в текущей среде, B2 - исполняется в subshell
2. Сравним преобразование числа в дату с помощью
Обратите внимание - результаты отличаются на порядок.
Конечно, в реальных случаях использования, скорее всего, результаты будут отличаться меньше, но есть смысл задуматься. Особенно, если Вы будуте использовать функции во внутреннем цикле.
Первый (пустой) вызов uTIME нужен потому, что первый вызов функции всегда выполняется дольше, чем последующие. Если кого-то напрягает "0" на экране при инициализации - раскомментируйте строчку
Если нужно засечь время выполнения в контрольных точках - используйте массив:
В при каждом исполнении этого оператора в массив будет добавляться время контрольной точки. Время исполнения между точками можно будет вычислить как
Исследуйте bash, оптимизируйте, развивайтесь.
🛠 #bash
—
✅ @bashdays / @linuxfactory / @blog
ㅤ
Все помнят, что есть команда time, которая с точностью до 1e-3 может подсчитать время выполнения конвейера.
Для перфекционистов, вроде меня, есть переменная
EPOCHREALTIME, которая выдает текущее время в системе с точностью до 1e-6, т.е до микросекунды.Но для ее использования есть два препятствия:
1. Она в вещественном формате, а bash не работает с вещественными числами.
2. Разделитель дробной части зависит от языковых настроек. (где-то точка, где-то запятая...)
Попробуем решить эти проблемы. Простая функция. Вычисляет разницу
RealTime2-RealTime1 в микросекундах. Если RealTime2 не задана - принимается EPOCHREALTIME.#uTIME RealTime1 [RealTime2]
function uTIME(){
local T2=${2:-$EPOCHREALTIME}
local T1=${1:-$T2}
T2=${T2/[^0-9]/} ;T1=${T1/[^0-9]/}
# ((T2-T1)) && \
echo $((T2-T1))
}
Ну и теперь, вооружившись инструментом, попробуем использовать на практике:
1. Сравним время выполнения двух функций B1 - исполняется в текущей среде, B2 - исполняется в subshell
2. Сравним преобразование числа в дату с помощью
date и printf#!/bin/bash
function uTIME(){
local T2=${2:-$EPOCHREALTIME}
local T1=${1:-$T2}
T2=${T2/[^0-9]/} ;T1=${T1/[^0-9]/}
# ((T2-T1)) && \
echo $((T2-T1))
}
function B1(){ :;}
function B2()(:)
uTIME
echo -n 'function {} = '
T=$EPOCHREALTIME
B1
uTIME $T
echo -n 'function () = '
T=$EPOCHREALTIME
B2
uTIME $T
echo -n 'printf -v VAR "%(%Y%m%d)T" 1746024063 = '
T=$EPOCHREALTIME
printf -v VAR "%(%Y%m%d)T" 1746024063
uTIME $T
echo -n 'VAR=$(date -d@1746024063) = '
T=$EPOCHREALTIME
VAR=$(date -d@1746024063 +%Y%m%d)
uTIME $T
0
function {} = 106
function () = 2533
printf -v VAR "%(%Y%m%d)T" 1746024063 = 405
VAR=$(date -d@1746024063) = 5221
Обратите внимание - результаты отличаются на порядок.
Конечно, в реальных случаях использования, скорее всего, результаты будут отличаться меньше, но есть смысл задуматься. Особенно, если Вы будуте использовать функции во внутреннем цикле.
Первый (пустой) вызов uTIME нужен потому, что первый вызов функции всегда выполняется дольше, чем последующие. Если кого-то напрягает "0" на экране при инициализации - раскомментируйте строчку
# ((T2-T1)) && \Если нужно засечь время выполнения в контрольных точках - используйте массив:
RT+=($EPOCHREALTIME)
В при каждом исполнении этого оператора в массив будет добавляться время контрольной точки. Время исполнения между точками можно будет вычислить как
uTIME ${RT[N]} ${RT[N+1]}Исследуйте bash, оптимизируйте, развивайтесь.
—
Please open Telegram to view this post
VIEW IN TELEGRAM
Как из РФ создать новую учётку в Gitlab
У ребят в Linux Factory довольно часто возникает вопрос — а как зарегистрировать новую учетку в Gitlab?
ㅤ
Онож там и карту просит и смс и еще хуй пойми чего.
Вариантов есть много, но работают они 50 на 50. У кого-то работает одно, у кого-то другое, но нет золотой середины.
Сейчас я покажу 100% рабочий вариант.
Регистрируешься в Putsbox. Это сервис для временных почтовых ящиков. Проверен лично мной годами, никогда не косячит.
Тут важно зарегистрироваться, а не просто создать новый ящик.
Это важно, потому что Gitlab рано или поздно снова запросит подтвердить твою личность и отправит код на почту. А если ты не порегаешься в putsbox, то ящика того самого не будет.
Короче регаешься в putsbox, входишь в учетку и создаешь почтовый ящик.
Дальше скачиваешь себе TOR Browser и регаешься в Gitlab на ящик который создал в ранее. Проходишь капчу, челенджи с количеством камней и т.п. Да, будет подтормаживать, но за пару минут управишься.
После регистрации на ящик в putsbox приходит код с подтверждением, подтверждаешь. Закрываешь TOR Browser.
Идешь в свой браузер и без проблем залетаешь в Gitlab под новой учёткой.
Без карт, смс и прочей хуиты. Если в будущем оно попросит тебя снова подтвердить личность, идешь в старый ящик putxbox и подтверждаешь.
На самом деле всё просто. Единственный момент — TOR Browser, возможно сразу он у тебя не запустится, нужно будет поиграть с мостами либо заранее подключить VPN. Короче тут сам разберешься, это уже дело третье.
Такие дела, тыкай, изучай.
🛠 #linuxfactory #gitlab #services
—
✅ @bashdays / @linuxfactory / @blog
У ребят в Linux Factory довольно часто возникает вопрос — а как зарегистрировать новую учетку в Gitlab?
ㅤ
Онож там и карту просит и смс и еще хуй пойми чего.
Вариантов есть много, но работают они 50 на 50. У кого-то работает одно, у кого-то другое, но нет золотой середины.
Сейчас я покажу 100% рабочий вариант.
Регистрируешься в Putsbox. Это сервис для временных почтовых ящиков. Проверен лично мной годами, никогда не косячит.
Про этот сервис я как-то давненько рассказывал здесь.
Тут важно зарегистрироваться, а не просто создать новый ящик.
Это важно, потому что Gitlab рано или поздно снова запросит подтвердить твою личность и отправит код на почту. А если ты не порегаешься в putsbox, то ящика того самого не будет.
Короче регаешься в putsbox, входишь в учетку и создаешь почтовый ящик.
Дальше скачиваешь себе TOR Browser и регаешься в Gitlab на ящик который создал в ранее. Проходишь капчу, челенджи с количеством камней и т.п. Да, будет подтормаживать, но за пару минут управишься.
После регистрации на ящик в putsbox приходит код с подтверждением, подтверждаешь. Закрываешь TOR Browser.
Идешь в свой браузер и без проблем залетаешь в Gitlab под новой учёткой.
Без карт, смс и прочей хуиты. Если в будущем оно попросит тебя снова подтвердить личность, идешь в старый ящик putxbox и подтверждаешь.
А если запуск пайплайнов требуют верификации, то читаем этот пост.
На самом деле всё просто. Единственный момент — TOR Browser, возможно сразу он у тебя не запустится, нужно будет поиграть с мостами либо заранее подключить VPN. Короче тут сам разберешься, это уже дело третье.
Если такая ебатория не по тебе, можешь локально Gitlab воткнуть. В этом посте я по шагам показал как это сделать. И не нужно думать что эта тварь сильно прожорливая, под лабу хватит минимального конфига по железу.
Такие дела, тыкай, изучай.
—
Please open Telegram to view this post
VIEW IN TELEGRAM
6 47
Вот смотри, берем школьников, есть условный «отличник».
ㅤ
Он ничего не может, кроме как выучить, зазубрить. Особенно в начальных классах. У него еще нет понимания, зачем это нужно и для чего. Он пиздюк.
А двоечник/троечник, он уже в этом возрасте во всем разбирается. Воспитан улицей, консолью, гуглом и гитхабом.
Он сразу думает — так блядь, как же мне выкрутиться из этой ситуации, выучить я не могу, потому что я тупая обезьяна. Если я получу двойку, мне пропишут пиздюлей, заберут телефон, сошлют в ад.
Хуй там плавал. Двоечник/троечник нихера не тупой, он просто не хочет учить, мол — да в рот оно ебись конём, не кайф мне учить, нахуя я буду себя этим дерьмом пичкать. Это бесполезная информация!
Дальше он думает — таааак, чтобы не получить двойку, надо подмазаться к отличнику, чтобы списать, придумать какую-то справку и не пойти на урок, возможно осуществить хитрую многоходовочку и все в таком духе.
Понимаешь?
Это уже состоявшийся Кризис Менеджер, СРАЗУ! Потому, что двоечник/троечник это — ЛИЧНОСТЬ с нестандартным мышлением.
А «отличник» — шаблонный персонаж, который даже не понимает зачем он получает эти пятёрки.
К чему это я…
Не нужно вылизывать свой код до совершенства, самое главное — чтобы оно работало, а как ты это сделаешь — неважно. Таску в done, остальное в техдолг. Бизнес рад, ты молодец.
А когда ты начинаешь вылизывать письки, начинаешь проёбывать дедлайны, злиться на себя, выгораешь, залечиваешь раны после ретроспективы.
Отпусти! Делай как умеешь и не рви жопу. Сбалансируй это! И всё у тебя будет хорошо.
Всё что совершенно — это полная хуйня!
Всегда должен быть изъян, прод должен падать, техдир должен плакать.
Это блядь айти!
Хороших тебе выходных и береги себя!
Я в перелетах, все домашки проверю на днях, не теряйте.
🛠 #рабочиебудни #remains
—
✅ @bashdays / @linuxfactory / @blog
ㅤ
Он ничего не может, кроме как выучить, зазубрить. Особенно в начальных классах. У него еще нет понимания, зачем это нужно и для чего. Он пиздюк.
А двоечник/троечник, он уже в этом возрасте во всем разбирается. Воспитан улицей, консолью, гуглом и гитхабом.
Он сразу думает — так блядь, как же мне выкрутиться из этой ситуации, выучить я не могу, потому что я тупая обезьяна. Если я получу двойку, мне пропишут пиздюлей, заберут телефон, сошлют в ад.
Хуй там плавал. Двоечник/троечник нихера не тупой, он просто не хочет учить, мол — да в рот оно ебись конём, не кайф мне учить, нахуя я буду себя этим дерьмом пичкать. Это бесполезная информация!
Дальше он думает — таааак, чтобы не получить двойку, надо подмазаться к отличнику, чтобы списать, придумать какую-то справку и не пойти на урок, возможно осуществить хитрую многоходовочку и все в таком духе.
Понимаешь?
Это уже состоявшийся Кризис Менеджер, СРАЗУ! Потому, что двоечник/троечник это — ЛИЧНОСТЬ с нестандартным мышлением.
А «отличник» — шаблонный персонаж, который даже не понимает зачем он получает эти пятёрки.
К чему это я…
Не нужно вылизывать свой код до совершенства, самое главное — чтобы оно работало, а как ты это сделаешь — неважно. Таску в done, остальное в техдолг. Бизнес рад, ты молодец.
А когда ты начинаешь вылизывать письки, начинаешь проёбывать дедлайны, злиться на себя, выгораешь, залечиваешь раны после ретроспективы.
Отпусти! Делай как умеешь и не рви жопу. Сбалансируй это! И всё у тебя будет хорошо.
Всё что совершенно — это полная хуйня!
Всегда должен быть изъян, прод должен падать, техдир должен плакать.
Это блядь айти!
«Отличник» — не всегда умный, а «двоечник/троечник» — не всегда глупый.
Нестандартное мышление проявляется рано.
Школа поощряет подчинение, а не инициативу.
Внутренний бунт — первый шаг к становлению личности.
Креативность и критическое мышление рождаются в условиях давления.
Хороших тебе выходных и береги себя!
Я в перелетах, все домашки проверю на днях, не теряйте.
—
Please open Telegram to view this post
VIEW IN TELEGRAM
34 154
За что не люблю nexcloud — натыкал что-то через морду мышкой и получил по ебалу 500й ошибкой. И всё блядь! Обратно не откатишься.
ㅤ
Убедился, файл есть, содержимое в файле есть. Сука!
Отключение модулей через консольку ситуацию не меняет, в дебаг даж не полезу, потому что 10 лет подряд с этим nextcloud такие вот свистопляски. Каждый раз ощущаю себя каким-то сапёром и боюсь лишнего натыкать. Ну так же не должно быть!
Чё щас кстати по рынку подобного есть? Но не на ебучем PHP и без таких приколов?
🛠 #рабочиебудни #fails
—
✅ @bashdays / @linuxfactory / @blog
ㅤ
Убедился, файл есть, содержимое в файле есть. Сука!
Сломал так — включил модуль Удалённое хранилище и через него подключил локальную папку. Всё!
Отключение модулей через консольку ситуацию не меняет, в дебаг даж не полезу, потому что 10 лет подряд с этим nextcloud такие вот свистопляски. Каждый раз ощущаю себя каким-то сапёром и боюсь лишнего натыкать. Ну так же не должно быть!
Чё щас кстати по рынку подобного есть? Но не на ебучем PHP и без таких приколов?
—
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
12 51
Про shit-урлы
ㅤ
Правильно, о чём же я могу тебе еще рассказать, про девопс, про линукс да про письки.
Лови прикол: IlIlllIIl.llIlI.lI
Этот домен приведёт тебя… Ну сам короче ткни да посмотри куда он тебя приведет.
Ну или такой:
https://loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo.ong/loooooooooOOoOooooooooooooOOOoOoooooooooooOOOoOoooooooooooOOOoooooooooooooOOOooOOooooooooooOOOoOoooooooooooOoOOOOooooooooooOoOOOOoooooooooOOOoOooooooooooooOoOOOooooooooooOOoOOoOoooooooooOOooOoOooooooooooOoOOOOoooooooooOOoooOooooooooooOOooooOoooooooooOOOooOOoooooooooOOoOooooooooooooOOooOoooooooooooOOooooOoooooooooOOOOooOoooooooooOOOooOOng
Все любят сокращать ссылки, а ты выебнись и удлини!
Делается это через генераторы:
1. Лилилилили
2. Лооооооох
Ну и конечно же всё это есть на гитхабе, можешь свой хитрожопый домен придумать и выпендриваться.
1. shit-url
2. loooooooooo
Зачем оно тебе нужно, ну хуй знает. Чисто в BIO поставить, да над коллегами поугарать.
Хорошей тебе рабочей недели, изучай!
🛠 #services
—
✅ @bashdays / @linuxfactory / @blog
ㅤ
Правильно, о чём же я могу тебе еще рассказать, про девопс, про линукс да про письки.
Лови прикол: IlIlllIIl.llIlI.lI
Этот домен приведёт тебя… Ну сам короче ткни да посмотри куда он тебя приведет.
Ну или такой:
https://loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo.ong/loooooooooOOoOooooooooooooOOOoOoooooooooooOOOoOoooooooooooOOOoooooooooooooOOOooOOooooooooooOOOoOoooooooooooOoOOOOooooooooooOoOOOOoooooooooOOOoOooooooooooooOoOOOooooooooooOOoOOoOoooooooooOOooOoOooooooooooOoOOOOoooooooooOOoooOooooooooooOOooooOoooooooooOOOooOOoooooooooOOoOooooooooooooOOooOoooooooooooOOooooOoooooooooOOOOooOoooooooooOOOooOOng
Все любят сокращать ссылки, а ты выебнись и удлини!
Делается это через генераторы:
1. Лилилилили
2. Лооооооох
Ну и конечно же всё это есть на гитхабе, можешь свой хитрожопый домен придумать и выпендриваться.
1. shit-url
2. loooooooooo
Еще там активно это на CNAME кидают и какие-то невообразимые вещи делают.
Зачем оно тебе нужно, ну хуй знает. Чисто в BIO поставить, да над коллегами поугарать.
Хорошей тебе рабочей недели, изучай!
—
Please open Telegram to view this post
VIEW IN TELEGRAM
5 66
Сервис для поиска долбаёбов
ㅤ
Каждый из нас совершал такую ошибку — отправка конфиденциальных данных в гит репозиторий.
Ладно если репа приватная, максимум выебут на ретро. Но если репка публичная то тут уже могут возникнуть куда более серьезные проблемы.
Сервис grep.app как раз позволяет такие проблемы создавать. Это грепалка данных по миллиону открытых гит репозиториев.
Вот и всё!
Ну и всё в таком духе.
Короче обычный поисковик по открытому исходному коду.
Естественно в злых умыслах лучше это не использовать, не ровен час получишь по ебалу.
Но чисто в научных целях, прям маст-хэв!
Забирай в инструментарий, глядишь сгодится в хозяйстве.
🛠 #services
—
✅ @bashdays / @linuxfactory / @blog
ㅤ
Каждый из нас совершал такую ошибку — отправка конфиденциальных данных в гит репозиторий.
Ладно если репа приватная, максимум выебут на ретро. Но если репка публичная то тут уже могут возникнуть куда более серьезные проблемы.
Сервис grep.app как раз позволяет такие проблемы создавать. Это грепалка данных по миллиону открытых гит репозиториев.
Вот и всё!
Нужны ключи от gpt или midjourney? Да пожалуйста! Есть желание запентестить чужой сервак? Вот тебе приватные ssh ключи и айпишники! Хочешь коммерческий доступ к mindmax? Так вот он!
Ну и всё в таком духе.
Короче обычный поисковик по открытому исходному коду.
Естественно в злых умыслах лучше это не использовать, не ровен час получишь по ебалу.
Но чисто в научных целях, прям маст-хэв!
Забирай в инструментарий, глядишь сгодится в хозяйстве.
—
Please open Telegram to view this post
VIEW IN TELEGRAM
5 63