Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
#Круги добра
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Стань частью фэнтези мира! Создай своего мага и погрузись в мир мощных тактических сражений. Оттачивай свое мастерство в онлайн битвах. Всё это в «Битве Магов»!

Битва Магов

Хардкорные, Мидкорные, Ролевые

Играть

Топ прошлой недели

  • SpongeGod SpongeGod 1 пост
  • Uncleyogurt007 Uncleyogurt007 9 постов
  • ZaTaS ZaTaS 3 поста
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
24
OpenNET
OpenNET
5 лет назад
GNU/Linux

Уязвимость php-fpm, позволяющая удалённо выполнить код на сервере⁠⁠

Доступны корректирующие релизы PHP 7.3.11, 7.1.33 и 7.2.24, в которых устранена критическая уязвимость (CVE-2019-11043) в расширении PHP-FPM (менеджер процессов FastCGI), позволяющая удалённо выполнить свой код в системе. Для атаки на серверы, использующие для запуска PHP-скриптов PHP-FPM в связке с Nginx, уже публично доступен рабочий эксплоит.


Атака возможна в конфигурациях nginx, в которых проброс в PHP-FPM осуществляется c разделением частей URL при помощи "fastcgi_split_path_info" и определением переменной окружения PATH_INFO, но без предварительной проверки существования файла директивой "try_files $fastcgi_script_name" или конструкцией "if (!-f $document_root$fastcgi_script_name)". Проблема в том числе проявляется в настройках, предлагаемых для платформы NextCloud. Например, уязвимы конфигурации с конструкциями вида:


location ~ [^/]\.php(/|$) {

fastcgi_split_path_info ^(.+?\.php)(/.*)$;

fastcgi_param PATH_INFO $fastcgi_path_info;

fastcgi_pass php:9000;

}


Проследить за устранением проблемы в дистрибутивах можно на данных страницах: Debian, RHEL, Ubuntu, SUSE/openSUSE, FreeBSD, Arch, Fedora. В качестве обходного метода защиты после строки "fastcgi_split_path_info" можно добавить проверку существования запрошенного PHP-файла:


try_files $fastcgi_script_name =404;


Проблема вызвана ошибкой при манипуляции с указателями в файле sapi/fpm/fpm/fpm_main.c. При присвоении указателя предполагается, что значение переменной окружения PATH_INFO обязательно содержит префикс, совпадающий с путём к PHP-скрипту. Если в директиве fastcgi_split_path_info указано разделение пути к скрипту с использованием регулярного выражения, чувствительного к передаче символа перевода строки (например, во многих примерах предлагается использовать "^(.+?\.php)(/.*)$"), то атакующий может добиться записи в переменную окружения PATH_INFO пустого значения. В этом случае далее по ходу выполнения осуществляется запись в path_info[0] нуля и вызов FCGI_PUTENV.


Запросив определённым образом оформленный URL атакующий может добиться смещения указателя path_info на первый байт структуры "_fcgi_data_seg", а запись нуля в этот байт приведёт к перемещению указателя "char* pos" на ранее идущую область памяти. Вызываемый следом FCGI_PUTENV перезапишет данные в этой памяти значением, которое может контролировать атакующий. В указанной памяти в том числе хранятся значения других переменных FastCGI и записав свои данные атакующий может создать фиктивную переменную PHP_VALUE и добиться выполнения своего кода.

Показать полностью
PHP Уязвимость Текст
10
22
iampublion
5 лет назад

Исповедь программиста⁠⁠

Написал 2 года назад


Исповедь

Привет. Меня зовут Игорь, мне 27 лет и я… эм… я пхп программист. Я сижу на нем уже несколько лет.


Первый раз все это я попробовал в 2008 году. Я сидел в компании старших меня ребят, они разговаривали про веб-технологии. Я краем уха слышал, как они восторженно делились впечатлениями об HTML и CSS. Некоторые из них были новичками, а некоторые сидели на этих технологиях по полной. Некоторые даже употребляли jquery и javascript. Я знал, что это вызывает сильную зависимость, я слышал много слухов об этом. Ранее видел, как успешные ребята пробовали это, а со временем покупали себе свитера, очки с толстой оправой и делали что-то собираясь по домам с ночевками, а утром расходились с красными глазами.

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


Дома я достал содержимое. Там была инструкция, как самому, в домашних условиях сделать маленький скрипт. Ребята говорили, что он совсем легкий. Попробовал. У меня получилось, почувствовал нереальный кайф, когда он заработал. Спустя какое-то время ощутил нехватку подобного ощущения, но скрипт уже не вставлял как раньше. Направился опять в эту компанию, рассказал, что случилось. Они с меня ржали, но сказали, что молорик и дали еще какие-то репозитории и советы как правильнее это делать. Через пару месяцев я подсел на это серьезно. Верстал вечерами, закрывшись у себя в комнате, слушая громко музыку в наушниках. Однажды, когда дома прописывал CSS для странички, меня спалила мама. Был очень долгий и неприятный разговор. Было стыдно за верстку, она была далеко не кроссбраузерная, что уж говорить о pixel perfect. Мама плакала и спрашивала, какое у меня будет образование и как я вообще собираюсь жить с этим. После этого разговора я часто задавал себе этот вопрос. Но я уже был в теме, по полной.


По приколу сделал домашнюю HTML страничку для себя и своих друзей. Вскоре мне написал неизвестный юзер о том, что хочет купить мой товар. Думал сначала, что это шутка, но он говорил достаточно серьезно. Не верил, плюс мне было непонятно как я ему смогу передать товар, как он мне сможет заплатить за этот товар, законно ли это. Он сказал, что все сделает сам и скинет мне деньги на карту. Я не верил во всю эту операцию до тех пор, пока на мою карту не поступили деньги. Это было страшно. Тогда завертелся по полной, еще больше.


Этот парень рассказал обо мне своим знакомым. Они мне тоже начали названивать и просить сделать для них что-то такое же легкое. Но кто-то просил легкое, а кто-то просил что-то серьезнее. Верстка стала жестче. Появился HTML5 и CSS3. Это реально сильное дерьмо, которое и сейчас ходит по рукам. Подсел помимо прочего на дизайн. Сначала ты делаешь один большой макет PSD, а потом все это шлифуешь HTML5 версткой по макету. Дальше прикрепляешь CSS файл и прорабатываешь его. Это сейчас есть синтетика типа Less или Sass. Раньше все делалось ручками. Все это отбирает много времени и сил. Стал неважно выглядеть. Многие друзья перестали общаться. Ушла девушка, потому что был полностью в вебе и уделял ему намного больше времени, чем ей.


А я не мог остановиться, мне не хватало UI дизайна и статичной верстки. В тот момент я начал немного программировать. Это было жестче, чем верстка. Но и вставляло сильнее. Динамика куда круче статики. Плюс все такое неизведанное, от этого кружилась голова. Я выбрал пхп. Хоть и знал, что он ужасен, знал, что его никто не рекомендует, все просто не хотят его касаться. Но он был повсюду. В инете было полно рекламы про пхп. Были даже площадки в городе, где можно было прийти и просто попробовать. Этого говна было много. Пхп программисты ужасно выглядели, наверно хуже всех программистов.


У пхп низкий порог вхождения. Я попробовал и понеслось. Сначала один скрипт, потом другой, третий. Бывало несколько скриптов за ночь. Несколько суток, неделя. Я потерялся в пространстве и времени. Все эти циклы, массивы, объекты таращили меня. Динамика отрабатывала запросы, сайт становился живым.


Тот период вообще смутно помню. Я пытался мешать все. В одно рыло мог сделать несколько макетов, сверстать их, написать бекенд. Для работы много употреблял различных CMS. И чем больше употреблял проверенных CMS типа WordPress или DLE, тем больше хотелось новых, интересных, от которых таращит не так, а по-новому. Я познакомился с Ajax, стал тусоваться среди SMMщиков и SEOшников. Они мне также впаривали свое дерьмо и часто я совмещал их дерьмо со своим. Я научился делать правильные ЧПУ, оптимизировать систему под поисковые запросы. Ааааа, КАК ЖЕ ВСЕ ЗАКРУТИЛО, АСТАНАВИТЕ.


Помню первую свою ломку. Скорее всего это была SQL инъекция. До сих пор не знаю кто это был. Я попал на бабки, на большие бабки. Но это научило меня фильтровать запросы к бд, да и все запросы от юзеров в целом. Сказал, что завяжу. Не справился, не смог.


Дальше только больше и жестче. Фреймворки, библиотеки. Чистый пхп уже не штырит, неинтересен. Хочется скорости, больше скорости. Ajax хоть и частично удовлетворял мои потребности, но он жестко грузил мою систему, требовалась постоянная перезагрузка. Все больше смотришь в сторону real-time приложений.


Не помню почему однажды пересел на javascript. Все как будто в тумане. Помню знакомство с npm, node.js. О боже, я думал, что нет ничего лучше пхп, но нода была еще куда проще и сильнее. Асинхрон? ЧТООО? Я теперь могу запустить 100 скриптов одновременно? Не может быть… Сокеты… АААА… Да это же скорость света, мать его. В какой-то момент я начал понимать, как это все выжигает меня полностью изнутри. Но обратной дороги уже нет.


Что осталось от меня настоящего я уже толком и не скажу. Не представляю себе ночь, за которую я ни разу не инициализирую несколько библиотек, не запущу по фану веб-сервер или не порефакторю в очередной раз код, сделав его нерабочим, а утром вновь начну писать тесты и ловить баги. И все вроде круто, только блин зрение падает, нужны очки. И свитер…

Исповедь программиста Исповедь, Программист, Приключения, Своими руками, PHP, Javascript, HTML, CSS, Длиннопост
Показать полностью 1
[моё] Исповедь Программист Приключения Своими руками PHP Javascript HTML CSS Длиннопост
16
akraziel
akraziel
5 лет назад

Road to junior (web, php, битрикс)⁠⁠

Хотелось бы начать изучение вэб-программирования, а именно бекэнд, а конкретнее php+битрикс. С чего бы посоветовали начать, что почитать, изучить, на чем попрактиковаться.

Road to junior (web, php, битрикс) Web-программирование, PHP, Битрикс
[моё] Web-программирование PHP Битрикс
17
34
karupyshek
karupyshek
5 лет назад

Как не надо делать и при чем тут Siemens⁠⁠

Всем привет! Дело было совсем недавно. Сижу себе работаю, никого не трогаю, примус починяю, как вдруг пишет мне руководитель проектов с просьбой примерно следующего характера: "ты ведь участвовал в разработке продукта?" (для наглядности назовём продукт "хлебопечка" а контору "Общество анонимных пекарей")

- Да, было дело в том году.

- Осталось что-то?

- Да, по большому счету всё есть, можно поднять всю инфу. а что случилось? Снова берем их?

надо заметить, заказчик выдался очень тяжёлый, хоть и денег там крутилось очень не мало! Но работать с обществом анонимных пекарей мне жуть как не хотелось!

Как не надо делать и при чем тут Siemens PHP, Программирование, Юмор, Лайфхак, Детектив

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

- Ок.

Казалось бы, задача тривиальнее некуда. Прилетает скриншот, а на нем ошибка типа "ошибка взаимной блокировки, попробуйте позже" и описание - "хлебопечка" периодически не отправляет булки. Очередь отправки застопорится, но после повторной попытки - всё продолжается нормально.
Ну, думаю, приплыли. Какие-то взаимные блокировки, ох как я не люблю это!

Как не надо делать и при чем тут Siemens PHP, Программирование, Юмор, Лайфхак, Детектив

Звонить работникам из техподдержки не стал, так как они не смогли решить эту проблему и моё присутствие на проекте объясняется тем, что они что-то не учли... Вообщем, заварил Дошик, полез разбираться. И представляете, каково было моё удивление, когда я через некоторое время обнаружил в коде такое:

Как не надо делать и при чем тут Siemens PHP, Программирование, Юмор, Лайфхак, Детектив

Поморгав немного, наклонив голову на один бок, на другой, я убедился, что это точно то, что мне кажется, начал прикидывать: "А что же мне с этим делать теперь?"
Короче, передал я эту инфу наверх, а уж что там дальше случилось - совсем уже другая история!


Ну и если кто не понял... если ID объекта кратен случайному числу от 23 до 31 то выдается ошибка о взаимной блокировке, которая зашифрована в base64 чтоб не найти было по тексту ошибки.

Естественно, обычный перезапуск коллектора с большой долей вероятности не вернет эту ошибку и ещё долгое время проработает без ошибки.


Причем тут Сименс? При том что программисту, который работал там по договору аутсорсинга, грозит 10 лет тюрьмы и 81000$ за то что он добавил в код логическую бомбу, потом регулярно приходил и исправлял то что сломалось.

Мораль: так делать плохо. Не делайте так. А если делайте, то делайте хорошо, а не вот так вот.

Спасибо что дочитали, всем добра!

Показать полностью 2
[моё] PHP Программирование Юмор Лайфхак Детектив
29
24
DELETED
6 лет назад

Php⁠⁠

Php
PHP Юмор IT юмор
6
anonimus1337
6 лет назад

Логи сайта⁠⁠

Всем привет.Нужны логи сайта,обычно их можно получить непосредственно на хостинге,но мне сказали сайт на "песке"(что это и как?),поэтому логи никак не выгрузить.

так ли это или можно как то выгрузить?Нужно понять когда приходит бот и как он приходит

PHP SEO Текст
10
DELETED
6 лет назад

Продать навоз? Дерьмо вопрос⁠⁠

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


Приходит реклама что SpaceWeb провели исследование и включили расширение OPCache на всех тарифах виртуального хостинга. Дабы не ходить во-круг, данная технология была включена по умолчанию вместе с PHP 5.5 в тадам... 2013 году.... 6.5 лет назад... Чем бы не толкнуть технологию которая давным давно в коробке как фишку? У меня просто нет слов.

Продать навоз? Дерьмо вопрос Хостинг, Программирование, Идиотизм, PHP
Показать полностью 1
[моё] Хостинг Программирование Идиотизм PHP
16
PHPsher
PHPsher
6 лет назад

Переезд отменяется!⁠⁠

Сегодня запустил OcStore 3.0 и ужаснулся , элементарные функции движка были переписаны на отвратительные синонимы. Я конечно вижу перспективы в этом но не сейчас , так что перепиливать буду версию 2.3.0.2.3.
За основу возьму стандартный шаблон.
с которым поделюсь после его модернизации .

Ловите шапку кривую и не лейте слезы

Переезд отменяется! HTML, PHP, CSS, Работа

И если кто будет спрашивать чем я пользуюсь , это яндекс музыка для поднятия настроения , adobe dw и notepad++ почему так , да потому что отвалите , я художник мне так видно. (Да я не очень зрячий и работаю на 2ух 32' мониторах) на столько все не хорошо.

HTML PHP CSS Работа
14
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии