UWAGA: W PHP wykryto krytyczne podatności, przez które Wasze strony/fora mogą zostać zhakowane! Dzisiaj mają być udostępnione poprawione wersje, warto monitorować i ustawić odpowiendie wersje PHP na swom serwerze.

Poprawki będę zawarte w wersjach PHP: 8.5.12, 8.4.27, 8.3.36 oraz 8.2.35! Jeśli używacie jeszcze wersje PHP 7.x lub 8.0.x lub 8.1.x, należy, jak najszybciej podnieść wersje PHP i/lub zaktualizować swoje fora!

Do momentu wdrożenia oficjalnej łatki, ryzyko ataku można drastycznie zmniejszyć poprzez zmianę konfiguracji w pliku php.ini:
Ustaw: session.upload_progress.enabled = Off

Albo np., można zrobić: https://ma.ttias.be/php-cve-2026-109618 ... itigation/

Dla serwera Apache ustaw w pliku .htaccess

Kod: Zaznacz cały

RewriteEngine On
RewriteCond %{HTTP:Content-Type} multipart/form-data [NC]
RewriteRule ^ - [F]
i/lub - nie testowałem

Kod: Zaznacz cały

<If "req('Content-Type') =~ /multipart/i">
    Require all denied
</If>

Dla nginx

Kod: Zaznacz cały

# http {} context, e.g. /etc/nginx/conf.d/block-multipart.conf
map $http_content_type $block_multipart {
    default       0;
    "~*multipart" 1;
}

# inside every server {} that passes requests to PHP, including default/catch-all servers
if ($block_multipart) {
    return 403;
}
_____________________________________________________

Pojawiła się nowa wersja systemu - phpBB 3.3.19. Ostatnie wydania (od wersji 3.3.17 do najnowszej) przynoszą kluczowe poprawki, które chronią Twoje forum przed zagrożeniami i dbają o spokój Twojej społeczności. Polecam nie odkładać tego na później, tyllko zaktualizować fora!

Polski pakiet językowy dla phpBB 3.3.19

Zmienna z nazwą pliku przekazywana do file.php

Forum przeznaczone na rozmowy między autorami modyfikacji i inne pytania związane z poważniejszą ingerencją w kod phpBB 3.0.x.
rrouterr
Posty: 5
Rejestracja: 16 maja 2013, 12:02

Zmienna z nazwą pliku przekazywana do file.php

Post autor: rrouterr » 16 maja 2013, 12:06

Witam

Muszę zrobić weryfikację czy ściągany plik jest obrazem czy czymś innym (na potrzeby poboru opłaty za plik)

Jeśli pobierany plik jest obrazkiem (jpeg,gif,png,itp) opłata nie ma być pobierana
Potrzebuję do tego wrzucić do warunku nazwę lub rozszerzenie pliku, ale nie wiem w jakiej zmienne jest to przekazywane do file.php.


Pozdrawiam Michał

jaroslw
Zasłużony
Posty: 4524
Rejestracja: 10 grudnia 2005, 18:48
Kontakt:

Re: Zmienna z nazwą pliku przekazywana do file.php

Post autor: jaroslw » 16 maja 2013, 19:51

Metodą GET do skryptu podawane jest ID pliku. Na podstawie tego ID ustalane jest rozszerzenie (pobierane z bazy). Dwa fragmenty z download/file.php:

Kod: Zaznacz cały

$download_id = request_var('id', 0);

Kod: Zaznacz cały

$sql = 'SELECT attach_id, in_message, post_msg_id, extension, is_orphan, poster_id, filetime
	FROM ' . ATTACHMENTS_TABLE . "
	WHERE attach_id = $download_id";
Pobierz styl: we_universal • we_clearblue
Nowości i aktualizacje: Facebook • Google+ • Twitter

rrouterr
Posty: 5
Rejestracja: 16 maja 2013, 12:02

Re: Zmienna z nazwą pliku przekazywana do file.php

Post autor: rrouterr » 19 maja 2013, 10:52

Tak działa...

Kod: Zaznacz cały

		$sql = 'SELECT attach_id, is_orphan, in_message, post_msg_id, extension, physical_filename, real_filename, mimetype, filetime, extension
			FROM ' . ATTACHMENTS_TABLE . "
			WHERE attach_id = $download_id";
		$result = $db->sql_query_limit($sql, 1);
		$attachment = $db->sql_fetchrow($result);
		$db->sql_freeresult($result);

		if (!$attachment)
		{
			send_status_line(404, 'Not Found');
			trigger_error('ERROR_NO_ATTACHMENT');
			
			
		}
		
		$attachment['extension'] = utf8_basename($attachment['extension']);
		if (
			($attachment['extension'] != 'jpg')&&
			($attachment['extension'] != 'png') &&
			($attachment['extension'] != 'gif') 
			)
		{

Zablokowany

Wróć do „Dla deweloperów”