Как стать автором
Обновить

Как происходит эксплуатация слепой SQL-инъекции путем запуска условных ответов

Уровень сложности Простой
SQL *Информационная безопасность *
Ожидает приглашения

К примеру, есть веб-приложение, которое использует файлы cookie, которые в свою очередь отслеживают и собирают аналитику использования приложением.

Читать далее

Scroll Listener VS Intersection Observer. Сравнение производительности

Уровень сложности Простой
JavaScript *
Перевод
Ожидает приглашения

Interection Observer API даёт возможность вызвать коллбэк, когда пересекаются DOM-элементы. Можем ли мы им заменить обработчики scroll cобытий? Что менее затратно по производительности? В этой статье мы попытаемся ответить на это.

Читать далее

О том, как я сломал Ubuntu и убил день на то, чтобы починить

Уровень сложности Простой
Настройка Linux *
Ожидает приглашения

Бывало у вас такое, что Snapd User Session Agent входит в бесконечный цикл? Вы вводите правильный пароль и... попадаете на тот же экран входа.

Это широко известная ситуация, которая может происходить из-за самых разных факторов. Не менее широко известен и универсальный рецепт: попадите в терминал bash через tty (Ctrl + Alt + F1), найдите проблему и устраните её.

Однако что, если вы не можете попасть в терминал по какой-либо причине? Например, раскладка вашей клавиатуры по умолчанию отличается от раскладки вашего логина и пароля? Этому особому кейсу я и хотел бы посвятить статью, так как потратил на него уйму времени и ещё больше - нервных клеток.

Итак, вы впервые сталкиваетесь с infinite login loop и пытаетесь залогиниться в терминал при помощи tty. Но тут вас встречает "родная" русская раскладка вместо родной английской. Никакие хоткеи не работают: вы попробовали Shift + Alt, Alt + Shift, Cmd (Win) + пробел и все до единой остальные. Ничего не помогает. Можно сколько угодно стрессовать и сомневаться в своей вменяемости ("каким идиотом надо быть, чтобы поставить русскую раскладку как основную на машине Ubuntu???"), это не отменяет тупиковой ситуации. Как итог - вход невозможен. Вы перезагружаете машину, зажимаете Esc (иногда также Shift, но не в моем случае), чтобы попасть в grub menu и входите в recovery mode. Но - о ужас - и тут вас преследует ненавистная раскладка.

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

Читать далее

Бременские стартаперы

Уровень сложности Простой
IT-компании IT-эмиграция Венчурные инвестиции Карьера в IT-индустрии Управление персоналом *
Ожидает приглашения

Ехал с детьми в машине и слушал сказку «Бременские музыканты», и подумал, а как бы она могла бы выглядеть в современном прочтении. Оригинальная сказка сильно отличается от советского мультика, в ней музыканты до Бремена так и не дошли, а поселились в доме разбойников, судя по всему музыкантами не стали, мечту свою не осуществили 😔.

В небольшой компании работал продакт менеджер. Продакт менеджер растил метрики главного продукта компании, и ему за это немного платили. Так и жили. Шли годы и продакту становилось все скучнее и скучнее, денег на новые направления не выделяли, а дорога до работы и вовсе стала невыносимой.

И вот продакт менеджер...

читать далее

Чаевые для техподдержки

Уровень сложности Простой
Service Desk *
Ожидает приглашения

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

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

Почему бы не дать возможность пользователю проголосовать рублём? Расскажем, как смогли реализовать такую функцию в сервис-деске.

Читать далее

Нейросеть «Шедеврум» от Яндекса выдаёт чужие картины за свои

Уровень сложности Простой
Искусственный интеллект Машинное обучение *Обработка изображений *
Ожидает приглашения

Яндекс выпустил свой аналог нейросетей Midjourney и Stable Diffusion. На момент публикации этой статьи в приложении «Шедеврум» можно только смотреть чужие генерации. Генерировать свои картинки можно только после одобрения заявки внутри приложения.

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

Листая ленту приложения дальше я встретились знакомые шары. Вы тоже не впервые встречаете эту картинку?

Читать далее

Как получить token для авторизации api в Laravel Sanctum из HTTP-заголовка, отличного от Authorization

Уровень сложности Простой
API *Laravel *PHP *
Ожидает приглашения

Laravel Sanctum предоставляет очень простой путь для организации авторизации api мобильных приложений (да и не только мобильных) через token авторизации. Но что делать, если приложение уже разработано и оно отправляет token авторизации в HTTP заголовке, отличном от Authorization. Настроек Sanctum для этого просто нет, как и, собственно, во всем Laravel. Мне предстояло получить token из заголовка HTTP X-Auth-Token. Чтобы это сделать, пришлось создать собственный класс защитника и собственный класс Service Provider.

Для начала создадим свой собственный SanctumServiceProvider. Он будет расширять родной класс Laravel\Sanctum\SanctumServiceProvider и перекрывать единственный метод createGuard.

Читать далее

[Кейс] Кулинария. До безобразия вкусная еда от Юлии Высоцкой. Продвижение сайта, поднявшее количество заявок до 112%

Уровень сложности Средний
Семантика *Поисковая оптимизация *Повышение конверсии *
Ожидает приглашения

Проект «Едим Дома» принадлежит Юлии Высоцкой, известной российской кулинарной блогершей и телеведущей. Сайт посвящен кулинарии и содержит множество рецептов, начиная от традиционных русских блюд и заканчивая экзотическими рецептами из разных стран мира. Кроме того, сайт предлагает советы по приготовлению и подаче блюд и статьи о питательной ценности продуктов.

Давай дальше

Write-up websec.fr level 04. PHP injection

Уровень сложности Простой
CTF *HTML *PHP *SQL *
Ожидает приглашения

Райтап писали: tungue, Dana Scully

Сегодня мы делаем разбор level 04 с сайта websec.fr . 

Сайт предоставляет таски по веб-пентесту, и на эти таски написано не очень много райтапов (в основном, они все на китайском\корейском\японском языках).

Я когда-то начинала разбирать, но потом дело, к сожалению, сошло на нет.

Перед разбором сначала расскажем о том, что такое php injection и за счет чего мы можем эксплуатировать данную атаку.

Инъекции очень часто используют недостатки написанного кода, и здесь как раз это и происходит. 

Согласно OWASP, уязвимость возникает, когда введенные пользователем данные не обрабатываются должным образом перед передачей в PHP-функцию unserialize(). В теории, сериализация — это преобразование объектов в битовую последовательность, из которой можно потом восстановить почти такой же объект с помощью десериализации. Поскольку PHP допускает сериализацию объектов, мы можем передавать специальные сериализованные строки уязвимому вызову unserialize(), что приводит к внедрению произвольных объектов PHP в область приложения.

Читать далее

WireGuard VPN на VPS с Ubuntu 20.04: Своими ручками легко, быстро и весело

Настройка Linux *Программирование *Разработка под Linux *Расширения для браузеров Серверная оптимизация *
Ожидает приглашения

Для начала давайте убедимся, что наш VPS находится в самом актуальном и обновленном состоянии. Подключаетесь к VPS через SSH. Запустите следующие команды, чтобы обновить систему и установить необходимые пакеты...

Читать далее

На сколько сильно разогреваются реактивные двигатели?

Уровень сложности Простой
Транспорт
Ожидает приглашения

Привет! Я Костя и мне удалось сохранить в себе часть маленького ребенка, который постоянно задает вопросы, чтобы понять как устроен мир вокруг. Недавно мне стало интересно, на сколько сильно разогревается авиационные реактивный двигатель и я полез гуглить. Результат моего маленького исследования можно узнать прочитав текст ниже.

Практической пользы от этого, скорее всего не будет, но если вам, как и мне, узнавать новое доставляет удовольствие, то читать обязательно :D

Читать далее

Эмиграция с Яндекс.Почты для доменов

Уровень сложности Простой
PowerShell *Администрирование доменных имен *Системное администрирование *Яндекс API *
Ожидает приглашения

Поскольку обещания вечной любви оказались недолговечны, на ряде форумов встречал запрос возможности выгрузки списка почтовых ящиков, групп и подразделений из Почты для Доменов aka Яндекс 360.

У меня уже давно лежали подобные скрипты для синхронизации Active Directory с Яндекс.API. API поменялось, скрипты подправлены.

Смотреть инструкцию

Как отправлять запросы на сервер, при этом не перезагружая страницу

Уровень сложности Простой
Django *JavaScript *
Ожидает приглашения

Приветствую. Сейчас мы разберем ,как можно при помощи js и его популярной библиотеки jquery отправлять асинхронные запросы на сервер.

Отправка асинхронных запросов на сервер без перезагрузки страницы - это технология AJAX (асинхронный JavaScript и XML).

Читать далее

Python vs Golang — cравнение быстродействия

Уровень сложности Простой
Go *Python *
Ожидает приглашения

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

Читать далее

Обзор шаблона разработки Telegram-бота

Python *
Ожидает приглашения

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

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

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

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

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

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

Читать далее

Сделать свою игру – дорого?

Уровень сложности Простой
Разработка игр *
Ожидает приглашения

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

В первую очередь нужно определить, какой тип игры вы хотите создать: небольшую инди-игру или крупный AAA-проект.

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

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

Читать далее

Гипотеза Коллатца, часть 1

Уровень сложности Простой
Занимательные задачки Математика *Научно-популярное
Ожидает приглашения

Эта первая статья из цикла «Доказательство гипотезы Коллатца», и на сегодняшний день единственная статья (в мире), раскрывающая истинную природу гипотезы Коллатца.
В этой статье автор подробно разбирает алгоритм гипотезы Коллатца, его структуру, свойства и особенности.

§ 1. Постановка вопроса

Гипотеза Коллатца — это одна из нерешенных проблем математики. Получила широкую известность благодаря простоте формулировки.

Берём любое натуральное число n; Если оно чётное, разделим его на 2, а если нечетное, то умножаем на 3 и прибавляем 1 (получаем 3n+1); Над полученным числом выполняем те же самые действия, и так далее.

Какое бы начальное число n мы ни взяли, рано или поздно мы получим единицу, — так гласит гипотеза. И надо это доказать.

§ 2. Введение

В математических кругах уже давно ходят легенды о недоказуемости этой задачи. Так, например, американский математик J. Lagarias вспоминает:

«В 1960-м более месяца весь Йельский университет безрезультатно трудился над проблемой 3n+1. Это было что‑то невероятное. Такая же участь постигла и исследователей Чикагского университета, когда я сообщил им об этой задаче. Ходила шутка, что 3n+1 — это заговор советских ученых против США, чтобы снизить научный потенциал Америки и замедлить наши исследования в других областях.»

В 2007 г. математики S. Kurtz и J. Simon пришли к выводу, что в такой постановке вопроса задача 3n+1 не доказуема.

В 2010 г. Американское математическое сообщество выпустило сборник «Безграничный вызов для математики: 3x+1». Эта книга рассказывает о неудачных попытках найти решение для 3n+1.

Читать далее

Поднимаю свой скрипт для обхода ограничений CBR.RU по IP

Уровень сложности Простой
*nix *Nginx *PHP *
Ожидает приглашения

Захожу я как-то в админку своего интернет-магазина на OcStore (форк OpenCart) и вижу подобную картину.

Warning: DOMDocument::loadXML(): Opening and ending tag mismatch: meta line 1 and head in Entity, line: 1 in...

Читать далее

Что такое конвейер данных? И почему вы должны это знать

Big Data *Python *Анализ и проектирование систем *Изучение языков Программирование *
Ожидает приглашения

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

Читать далее

Почему NgRx эффект срабатывает только один раз

Angular *JavaScript *
Ожидает приглашения

Больше года прошло с тех пор, как я познакомился с NgRx. На первый взгляд этот инструмент мне показался достаточно понятным. Но, чем больше я его использую, тем больше убеждаюсь, что это совсем не так. Тут я хотел бы отметить, что NgRx требует глубокого понимая принципов RxJS. Если в знании RxJS есть пробелы, придется не раз получить граблями по лбу.

Итак, я столкнулся со следующей проблемой – мой эффект срабатывал только один раз.

Читать далее