Задать вопрос
  • Как в терминале выполнить поиск замена строки в файлах php?

    @Shaman_RSHU
    find /var/www/html -type f -name "api.php" -exec sed -i -r 's|<?php|<?php header("Location: header("Location: https://site.com/aff_f?h=BoM&asub5=seo-sem&source=...]"); die();|g' {} \;
    Ответ написан
    Комментировать
  • Почему не запускается Firefox?

    @Shaman_RSHU
    Хотя бы EventLog журналов System и Program приложить в момент запуска. Было бы от чего играть
    Ответ написан
    Комментировать
  • Как заверить электронной печатью видеофайл?

    @Shaman_RSHU
    Если не юридически-значимый электронный документооборот, то будет достаточно сформировать контрольные суммы по нескольким стройким алгоритмам (SHA3-512/256, BLAKE2, и положить их рядом в текстовом файле. А так, как сказали выше нет жлектронных печатей (если конечно это не переведенная инструкция google translate).
    Ответ написан
    Комментировать
  • Может ли работодатель запретить сотрудникам использовать личные пк?

    @Shaman_RSHU
    802.1x настроить. делов то. Побурчат и успокоятся.
    Ответ написан
    Комментировать
  • Как использовать уязвимость remote code execution?

    @Shaman_RSHU
    Ищите на github по CVE PoC или exploit, изучайте и используйте.
    Ответ написан
    Комментировать
  • В каких случаях возможно использование несертифицированного Web Application Firewall?

    @Shaman_RSHU
    В любых, если работаете не на госуху в РФ.
    Ответ написан
    Комментировать
  • Можно ли узнать список почтовых ящиков в моем собственном домене?

    @Shaman_RSHU
    Можно через Get-ADUser вытянуть всех пользователей (-identity *) и наверняка если не бардак, то будет какое-нибудь свойство адресом электронной почты (посмотреть список всех свойств -property *). Но это только для пользователей без служабных п/я и список рассылки. Любой доменной учетной записи с любыми правами хватит.

    # Импортируем модуль Active Directory
    Import-Module ActiveDirectory
    
    # Получаем список всех активных пользователей домена
    $users = Get-ADUser -Filter 'Enabled -eq $true' -Properties UserPrincipalName, Mail
    
    # Выводим список почтовых ящиков
    foreach ($user in $users) {
        if ($user.Mail) {
            Write-Output "$($user.Name): $($user.Mail)"
        } elseif ($user.UserPrincipalName) {
            Write-Output "$($user.Name): $($user.UserPrincipalName)"
        }
    }
    Ответ написан
    Комментировать
  • Как узнать какое приложение на моем компьютере шлет запросы в интернет или во вне?

    @Shaman_RSHU
    На какой операционке?

    Wireshark: https://www.wireshark.org/download.html
    TCPView: https://docs.microsoft.com/en-us/sysinternals/down...
    Process Monitor: https://docs.microsoft.com/en-us/sysinternals/down...
    Little Snitch: https://www.obdev.at/products/littlesnitch/index.html

    Хотя, как писали выше, можно обойтись командной строкой
    Ответ написан
    Комментировать
  • Является ли мой алгоритм криптостойким? Если нет, то где его уязвимость?

    @Shaman_RSHU
    Вот Вам на халяву пару идей.
    Ваш код представляет собой простую реализацию шифрования и дешифрования данных с использованием алгоритма SHA512 и псевдослучайных чисел. Однако, стоит отметить, что использование Random с фиксированным началом (seed) в данном контексте может не обеспечить достаточной безопасности, так как последовательность псевдослучайных чисел может быть предсказуема. Кроме того, использование Encoding.Default может привести к проблемам с кодировкой, особенно если данные содержат символы, которые не поддерживаются текущей кодовой страницей системы.

    Давайте улучшим ваш код, убрав зависимость от Random и используя более безопасный способ генерации ключа для шифрования и дешифрования. Мы также заменим Encoding.Default на Encoding.UTF8 для обеспечения совместимости с большим диапазоном символов.
    Улучшенная реализация функции шифрования/дешифрования:
    using System;
    using System.IO;
    using System.Security.Cryptography;
    using System.Text;
    
    class Program
    {
        static void Main(string[] args)
        {
            // Ваш код для чтения ввода пользователя и вызова функции Process
        }
    
        static byte[] Process(byte[] input, string key, bool encode)
        {
            using (var sha512 = SHA512.Create())
            {
                var hash = sha512.ComputeHash(Encoding.UTF8.GetBytes(key));
                var result = new byte[input.Length];
    
                for (int i = 0; i < input.Length; i++)
                {
                    // Используем XOR для шифрования/дешифрования
                    result[i] = (byte)(input[i] ^ hash[i % hash.Length]);
                }
    
                return result;
            }
        }
    }


    Изменения:

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

    Использование Encoding.UTF8: Замена Encoding.Default на Encoding.UTF8 обеспечивает более широкую поддержку символов и уменьшает риск ошибок кодировки.

    Упрощение логики шифрования/дешифрования: Удаление лишних шагов и упрощение логики делает код более читаемым и понятным.

    Эта улучшенная реализация обеспечивает более безопасное и надежное шифрование и дешифрование данных, используя алгоритм SHA512 и XOR-операцию.
    Ответ написан
  • Информационная безопасность в облачных сервисах?

    @Shaman_RSHU
    Облачный сервис - это Вы системник с информацией из под своего стола отдали кому-то, кто будет за ним следить (или не будет :)
    Ответ написан
    Комментировать
  • Как вэб сервер может узнать имя пользователя домена при входящем запросе от пользователя RPD?

    @Shaman_RSHU
    По второму пункту как-то так:

    <Location />
        AuthType Kerberos
        AuthName "Kerberos Login"
        KrbAuthRealms EXAMPLE.COM
        KrbServiceName HTTP/server.example.com@EXAMPLE.COM
        Krb5KeyTab /etc/apache2/auth.keytab
        Require valid-user
    </Location>
    Ответ написан
    Комментировать
  • Как работает этот код?

    @Shaman_RSHU
    Ваш вопрос касается внутреннего устройства HashMap в Rust и особенностей работы с переменными и ссылками в Rust. Давайте разберемся, как работает HashMap и почему изменение Entry приводит к изменению хэш-таблицы.
    HashMap в Rust хранит пары ключ-значение. Когда вы вызываете map.entry(key), вы получаете Entry, который представляет собой перечисление (enum) с двумя вариантами: Occupied и Vacant. Этот Entry является оберткой над внутренним состоянием HashMap, позволяющей вам безопасно взаимодействовать с элементами хэш-таблицы.
    Когда вы вызываете map.entry(key), вы получаете Entry, который является отдельным объектом. Однако, важно понимать, что Entry не является отдельным объектом, который вы владеете в полном смысле владения в Rust. Вместо этого, Entry предоставляет вам доступ к внутренним данным HashMap через безопасный интерфейс.
    Изменение Entry и изменение HashMap
    Когда вы вставляете значение в Entry с помощью entry.insert(value), вы фактически изменяете внутреннее состояние HashMap. Это происходит потому, что Entry предоставляет вам доступ к внутренним данным HashMap для изменения. Внутренние данные HashMap хранятся в куче, и Entry обеспечивает безопасный доступ к ним.

    map.entry(10) возвращает Entry, который предоставляет вам доступ к внутренним данным HashMap для изменения. Это не мутабельная ссылка, потому что Entry не является просто ссылкой на данные. Вместо этого, Entry является оберткой, которая предоставляет безопасный интерфейс для взаимодействия с данными.

    Ваше понимание того, что Entry является отдельным объектом, который вы владеете, не совсем точно. Entry предоставляет вам доступ к внутренним данным HashMap для изменения, но не является отдельным объектом, который вы владеете. Изменение Entry приводит к изменению HashMap, потому что Entry обеспечивает безопасный доступ к внутренним данным HashMap.

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