Задать вопрос
  • Нужен ли JavaScript пентестеру?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    Нужен ли javascript для WEB пентестера?

    Нужен, для поиска уязвимостей, анализа клиентской логики, обхода ограничений (например, формы), изучения скрытой информации в коде и манипуляций с dom. Это помогает выявлять xss, инъекции и другие проблемы безопасности.
    Нужно ли WEB пентестеру знать еще и WEB? Я имею ввиду те знания, которыми обладает стандартный WEB разработчик (помимо языков программирования).

    Базовый набор:
    - html/css для понимания структуры и стилей веб-приложений.
    - http/https, куки, заголовки, cors, rest и сокеты.
    - Основы OWASP Top 10 (XSS, CSRF, IDOR и др.).
    - Браузерные DevTools, Burp Suite, ZAP, Postman.
    - Базово популярные библиотеки и фреймворки (react, vue, angular).
    - Методы минификации и обфускации js кода, а так же способы его анализа.
    Ответ написан
    1 комментарий
  • Возможно ли содержать сервер дома?

    CityCat4
    @CityCat4 Куратор тега Сетевое администрирование
    Жил да был черный кот за углом...
    Что-то последнее время стало много вопросов на эту тему...

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

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

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

    К сожалению, плюсов не бывает без минусов :) Хотелось бы о них тоже поподробнее - не чтобы отговорить, а чтобы предупредить.

    - Цена, комплекутха, ЗиП. Новое серверное железо очень дорогое. Сервак за пол-лимона - это как здрассьте. "Для себя" обычно берут бу железо. Это довольно распространенный метод, так что существуют специальные конторы, торгующие бу серверным железом. Насколько оно старое? Обычно не моложе пяти лет. Почему пяти? В крупных конторах есть регламенты, по которым железо списывается по истечении определенного срока, обычно он пять лет. Списывается, независимо от состояния, даже если оно идеальное. Бу сервер можно прикупить за вполне приемлемые деньги (разумеется имея в виду, что винты нужно брать новые и не десктопные, а именно рейдовые). Комплектуху и ЗиП покупать можно в тех же конторах.

    - Размещение. Сервер обычно в серверном корпусе, который ставится в стойку. Добро, если у Вас есть стойка :) а иначе его нужно куда-то пристроить - а без стойки эта большая плоская хреновина будет весьма неудобной для резмещения (Лайфхак: у меня лежит на шкафу)

    - Шум. такого понятия как
    тихий серверный шкаф

    не существует. От слова совсем. Потому что шкаф - для серверной. Даже самый тихий сервер (а я подбирал именно по "тихости") даже при самых низких оборотах кулера (в BIOS - 4500 об/мин) - довольно заметно шумит. Кроме того, если температура повышается, сервер автоматически кладет на настройки BIOS и повышает скорость вращения кулеров - в итоге у меня сервер в людбое время устойчиво негромко гудит и периодически взвывает - потому что перегревается.

    - Комфортная температура. Для сервера и человека - она разная и поэтому запросто получится, что Вам придется выделить серверу отдельную комнату :D

    - Елестричество. Сервер жрет электричество. Круглые сутки, как дозорный в будке. Готовьтесь к повышению счетов от энергосбыта. Кроме того, сервер без упса будет падать при просадках - а в домах они не редкость. (У меня тоже нет упса :( )

    - Изнашиваемые части. Про ЗиП было уже сказано - так вот, не забывайте, что сервер содержит части, которые ломаются :) Кулеры, винты - все это нужно будет покупать :)

    - Интернет-канал. Для физиков как правило flat-rate не предоставляют (ну либо заломят, как с юрика), поэтому держать там нагруженный сайт Вы не сможете - он будет адово тормозить. Хотя обычный сайт работать будет (если пров дает белые IP).

    - Анти-вирус, анти-ддос, анти-спам, анти-все-остальное. Все это придется делать самому либо просто забить. Разумеется, профессиональному админу это сделать несложно.

    - Настройка, резервное копирование. Фактически повторение предыдущего пункта - спихнуть нее на кого, сами, все сами...

    - Изменить IP практически невозможно, уж не говоря о его регулярной смене.
    Ответ написан
    12 комментариев
  • Как решить проблему зависания проводника?

    @kalapanga
    На мой взгляд, длина пути здесь не виновата. Вы эту папку средствами же винды создали, она существует, вы её видите, можете с ней выполнить какие-то действия - значит, скорее всего, она корректна.
    Замедлять работу проводника могут разные факторы. Вот первое, что приходит в голову:
    1) Проблемы с диском. Начиная с того, что он просто медленный (особенно, если это hdd), заканчивая его неисправностью. Проверить диск, как минимум посмотреть SMART.
    2) Проблемы с контекстным меню. Туда прописываются программы все, кому не лень. Дальше может быть, что какая-то конкретная программа медленно работает с большими списками файлов. Или их (программ) просто очень много. Ещё бывает, что и программы-то уже нет, а битая ссылка на неё в меню осталась - тоже к тормозам приводит. Посмотрите, всё ли в контекстном меню Вам действительно нужно. Для работы с контекстным меню есть специальные утилиты.
    Ответ написан
    1 комментарий
  • Можно ли завести подсветку клавиатуры по касанию тачпада в линукс?

    chupasaurus
    @chupasaurus
    Сею рефлекторное, злое, временное
    Придётся пилить модуль ядра, аналогичный synaptics-led.
    Ответ написан
    Комментировать
  • Как быть с тестовыми заданиями при трудоустройстве?

    Maksim_64
    @Maksim_64
    Data Analyst
    Был фидбек, не был фидбек, не нужно воспринимать все это на свой счет. Больше, активности. Представь себе, следующую ситуацию, баскетбол. Тебе нужно забить три трех очковых подряд, это не просто. Чем больше попыток, зайти на страйк, тем больше шансы. Рецепт один, больше откликаться, выполнять тестовые задания, пытаться удивить в тестовых заданиях и т.д.

    Твоя цель - оффер, и все посторонние мысли о справедливости, какая компания, какое тестовое и т.д. Они только отвлекают и мешают.
    Ответ написан
    Комментировать
  • Как быть с тестовыми заданиями при трудоустройстве?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    когда тебе говорят выполнить ТЗ, которое не является для тебя вызовом и занимает всего час времени, а потом не отвечают вообще - это довольно грустно

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

    Стоит ли пытаться "удивить" проверяющего? Есть ли прок от того, что в задании, где просят написать коротенький код, я его дополняю, подключая celery, меняя базу данных с локальной на более релевантную, засовывая приложение в докер образ?

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

    Стоит все эти техзадания публиковать и добавить ссылку на github в резюме, если она ещё не там.
    Ответ написан
    5 комментариев
  • Обьясните в чём суть инкапсуляции?

    Инкапсуляция защищает не от хакеров, а от неправильного использования объектов.
    Как пример - у тебя может быть класс "Заказ" и у него может быть какой-то статус (оплачен/ждёт оплаты/отменён итд).
    При этом у тебя могут быть правила типа: уже оплаченный заказ не может стать вдруг неоплаченным, а отменённый заказ нельзя взять обратно в работу.
    Тогда логично будет сделать поле статуса приватным (не доступным для изменения извне напрямую), а менять его только через методы, где будет происходить вся валидация.
    (В некоторых языках такие правила принято описывать на уровне типов, чтобы даже валидаций никаких было делать не нужно)

    Приватные поля объекта - это его состояние.
    Методы объекта - это способы его использования.

    Если у тебя в объекте появляется поле x и методы getX / setX (или авто геттеры/сеттеры в C#), то значит, что у тебя и нет явных причин делать это поле приватным, кроме соблюдения общепринятых соглашений.
    Ответ написан
    15 комментариев
  • Как развернуть окно Python IDLE (CPython) 3.8.7 на полный экран?

    NeiroNx
    @NeiroNx
    Программист
    Переписать код инициализации приложения из оконного режима в полноэкранный. Либо добавить действие для F11 в меню и его код:
    https://yandex.ru/search/?text=Python+Tk+fullscreen

    В файле .\Lib\idlelib\editor.py в класс EditorWindow добавить функцию
    def toggle_fullscreen(self, event=None):
            self.state = not self.state  # Just toggling the boolean
            self.top.attributes("-fullscreen", self.state)
            return "break"

    И где-то до self.top = top = вставить self.state = False и после
    вставить self.top.bind("<F11>", self.toggle_fullscreen)

    Если надо меню скрыть - то гуглите как и скрывайте в этой же функции.
    Ответ написан
    Комментировать
  • Как можно определить схожесть текстов?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
  • С чего начать изучение компьютерных сетей?

    CityCat4
    @CityCat4
    Жил да был черный кот за углом...
    Конечно же с Олиферов, хотел их посоветовать, но это уже сделали :)
    Ответ написан
  • Почему busybox wget не работает, пока не запустить вручную openssl?

    @junecover Автор вопроса
    Сам спросил, сам и отвечу.
    Лишний раз подтвердилась народная мудрость, чтобы найти ответ, надо правильно сформулировать вопрос. Гугл помог найти решение по запросу "busybox wget is shitty". Я не силён в английском, поэтому не стану углубляться семантику этих слов. Кому надо, тот сам поймёт.

    Теперь ближе к теме.

    У busybox wget есть давняя неисправнось в некой сущности "Support HTTPS using internal TLS code". Попросту говоря эта часть безнадёжно устарела и не работает в 2025 году.
    Решение проблемы:
    Скомпилировать busybox с отключённой опцией
    -> Networking Utilities
        -> wget (41 kb) (WGET [=y])
          FEATURE_WGET_HTTPS [=n]

    и со включённой опцией "Try to connect to HTTPS using openssl"
    -> Networking Utilities
        -> wget (41 kb) (WGET [=y])
          FEATURE_WGET_OPENSSL [=y]


    И ещё добавить алиас:
    alias wget='wget --no-check-certificate'
    Тогда busybox-овский wget станет сам без лишних пинков работать с https.

    Почему так? Ве́домо только разработчикам busybox.
    Ответ написан
    2 комментария
  • Чем прошивать LGT8F328P?

    @junecover
    Чём? - Простейший вариант это любой копеечный переходник USB-TTL
    1864.750.jpg
    spoiler
    Есть разных цветов: чёрные, синие, зелёные и красные. Рекомендую красные - они быстрее)

    Но правильно было бы спросить не чем, а как.
    Как?
    Примерно так:
    Подключить плату к переходнику:
    GND -> GND
    RX -> TXO~
    TX -> RXI
    Опционально:
    Если переходник на 5 вольт, то:
    5V -> VCC
    А если переходник на 3.3 вольт, то:
    3V -> VCC
    Далее опционально:
    Если у переходника есть вывод DTR (плата реагирует на этот сигнал как на ресет), то:
    DTR -> DTR
    Подключив всё так, можно прошивать плату.
    А если нет DTR , то перед прошивкой надо нажать на кнопку на плате. Кнопка как раз подаёт сигнал ресет. На примере Arduino IDE (сейчас версия 2.х) процесс прошивки происходит так:
    Нажимаешь "Загрузить на плату". Внизу наблюдаешь надпись "Компиляция скетча". Как только эта надпись сменяется на "Загрузка..." сразу быстро нажимаешь и отпускаешь кнопку ресет. У тебя есть одна секунда чтобы успеть. Почему так неудобно сделали? Потому что это версия платы "PRO MINI" и подразумевается, что у тебя есть хороший программатор с выводом DTR, а не первый случайно попавшийся с алика.
    Впрочем если очень хочется, то можно и дешёвый с алика с контактом DTR. Например CH340E, который на момент написания этих строк стоил 60 рублей (не считая доставки).
    66998a1739830933400996.jpeg
    Ответ написан
    Комментировать
  • Почему Google не индексирует мой репозиторий GitHub?

    vpetrov
    @vpetrov
    частный SEO-специалист
    Не индексирует или не ранжирует?
    Собственно, Google в последние годы очень обленился в принципе. Сканирование, обработка, ранжирование данных – достаточно затратные процессы, и тратить деньги компания явно не очень хочет. Там сейчас вообще всё очень медленно и трудно, так что при отсутствии явного поискового спроса и понятного для поисковика контента на индексирование можно особенно не рассчитывать.
    Ну, или как минимум подождать. Можно попробовать ускорить процессы - всё теми же ссылками, которые могут попасть в индекс и дать хоть какой-то трафик.
    Собственно, да, URL вне индекса:
    6773116018d07751977698.jpeg
    Ответ написан
    Комментировать
  • Почему разные кабели заряжают телефон по разному?

    saboteur_kiev
    @saboteur_kiev Куратор тега Железо
    software engineer
    сейчас кабель это не просто кусок провода. Он должен обладать определенными характеристиками - пропускной способностью, количеством активных контактов.
    Контроллер зарядки пытается определить кабель и соответственно определенному может установить мощность зарядки. Если кабель плохого качества (частично перебитый, тонкий, или контакты там не очень), то контроллер зарядки не будет пытаться по нему организовывать fast charge, для этого есть определенные стандарты.
    Ответ написан
    2 комментария
  • Почему разные кабели заряжают телефон по разному?

    @Refguser
    Решения для бизнеса: корп.сайты, ИМ, боты и пр.
    Как? Почему? Я понимаю, если кабель перебит и вообще нет контакта. Но ведь он работает как-то.
    Или еще страннее - раньше кабель нормально заряжал (быстро), а теперь нифига.

    Наиболее вероятные ситуации
    1. Залом проводов
    2. Пропадания контакта в месте пайки/зажима контактов разъёмов.
    3. Разъёмы стали плохо прижимать контакты (это зачастую лечиться, но не надолго).

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

    Как бы то ни было всё это дефекты и такие кабели лучше не использовать (или использовать для малоточки которую не жалко.)
    Ответ написан
    Комментировать
  • Как правильно настроить копирование в вставку в MAC?

    [option] + перетащить папку.
    Тогда диалог предложит, помимо вариантов Stop и Replace, третий вариант Merge.
    67726a4fa0465693130234.png

    Тест
    Две папки A и B:
    скрин
    67726ab7abffa441259732.png

    A
      A_a
        A_a_a
          text.txt
          other.txt
          only-A.txt
    
    B
      A_a
        A_a_a
          text.txt (обновлен)
          other.txt (без изменений)
          only-B.txt

    Зажать Option и перетащить из B папку A_a внутрь папки A. Появляется этот диалок с вариантом Merge.
    Ответ написан
    4 комментария
  • Почему разные кабели заряжают телефон по разному?

    anthtml
    @anthtml
    Системный администратор программист радиолюбитель
    Легко
    1) кабель перебит, но не полностью, а несколько волокон - из-за чего ток через него проходит малый и соответственно большая просадка напряжения.
    2) Разное качество кабелей - фирменные телефонные держат 2А, дешевые от всяких китайских airdots-сов хорошо если 0,5А выдержат - там беличий волос а не проводник
    3) Дефолтный стандарт USB - 5V 0.5A - все что больше, это уже fast charge и некоторые контроллеры заряда не принимают больше от неизвестных зарядок проводов. Часто в micro разъеме 5 контакт может висеть на каком резисторе и если этот резистор не правильного сопротивления или его нет, то телефон не переключится в FC
    Ответ написан
    Комментировать
  • Что именно запретили в IP телефонии?

    pindschik
    @pindschik
    ФЫВА ОЛДЖ
    static.government.ru/media/files/V9HwpAREaDl4PtNZ3...
    Не очень доверяйте хайпу журналистов. Недавно они писали - что будут штрафовать за VPN, теперь - что запретили IP-телефонию. В обоих случаях законы были про другое.

    А недавно две газели
    Позвонили и запели:
    — Неужели
    В самом деле
    Все сгорели
    Карусели?
    — Ах, в уме ли вы, газели?
    Не сгорели карусели,
    И качели уцелели!
    ...
    Но не слушали газели
    И по-прежнему галдели...

    Когда видите новости в стиле "В России скоро введут налог на сон!" и "Всем запретят дышать носом!" - лучше отнестись к ним критически, а еще лучше проанализировать сам нормативный акт.
    Ответ написан
    2 комментария
  • Как выучить Python?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    Ты же учишься в школе.
    Оцени как ты научился чему-либо в школе, по какому предмету тебе лучше всего заходит и все понятно, подумай что именно ты делаешь, что оно так тебе понятно.
    Также подойти к питону.

    1. оно должно быть интересно. Именно ковыряться с кодом, с этими всеми типами данных, с тем что ты можешь написать и как использовать для себя. И вообще следовало бы стать продвинутым пользователем еще до того, как учить язык программирования
    2. Практика. Нельзя просто читать. Надо писать код, настраивать что-то, делать что-то. А читать уже параллельно. Без практики вообще ничего не освоишь.
    3. Не занимайся узкой специализацией. Учи все, что рядом - протоколы, базы данных, работу ОС, можно даже тот же hello world на других языках написать, полезно для расширения кругозора.
    Узкая специализация начинается гораздо позже, сейчас тебе базовые знания нужны по всему.
    Ответ написан