Vesta Control Panel - Forum

Community Forum

Skip to content

Advanced search
  • Quick links
    • Main site
    • Github repo
    • Google Search
  • FAQ
  • Login
  • Register
  • Board index Language specific forums Russian (Русский) Веб сервер
  • Search

php5.6 + функция readFileStr на vestacp

Вопросы по работе Веб сервера
Apache + Nginx, Nginx + PHP5-FPM
Post Reply
  • Print view
Advanced search
7 posts • Page 1 of 1
leito89
Posts: 5
Joined: Tue Jan 21, 2020 1:20 pm

Os: Ubuntu 17x
Web: apache + nginx
php5.6 + функция readFileStr на vestacp
  • Quote

Post by leito89 » Thu Jan 14, 2021 11:23 am

Доброго времени суток. Сразу говорю, с пхп - знаком плохо.
Есть впс с последней версией vestacp и пару сайтов. Потребовалось перенести на него один из старых сайтов с хостинга. Попробовал, что на пхп 7,0+ - не работает (точнее не все страницы). Завелся на 5.6.
Установил на весту 5,6 + создал шаблоны под неё = завелся.
Но было обноружено, что открыта уязвимость LFI (можно добраться практически до любого файла на сервере).
Методом проб и ошибок, обнаружил что трабл в этой вот функции: $textFile = readFileStr($_GET['new']);

Подскажите, куда копать, куда бежать.

Шаблон для ПХП5.6 . Возможно в нем трабл.

Code: Select all

  GNU nano 2.7.4                   File: data/templates/web/apache2/php-fcgid5.6.tpl                             
<VirtualHost %ip%:%web_port%>
    ServerName %domain_idn%
    %alias_string%
    ServerAdmin %email%
    DocumentRoot %docroot%
    ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/
    Alias /vstats/ %home%/%user%/web/%domain%/stats/
    Alias /error/ %home%/%user%/web/%domain%/document_errors/
    SuexecUserGroup %user% %group%
    CustomLog /var/log/%web_system%/domains/%domain%.bytes bytes
    CustomLog /var/log/%web_system%/domains/%domain%.log combined
    ErrorLog /var/log/%web_system%/domains/%domain%.error.log
    <Directory %docroot%>
        AllowOverride All
        Options +Includes -Indexes +ExecCGI
        php_admin_value open_basedir %docroot%:%home%/%user%/tmp
        php_admin_value upload_tmp_dir %home%/%user%/tmp
        php_admin_value session.save_path %home%/%user%/tmp
        <Files *.php>
          SetHandler fcgid-script
        </Files>
        FCGIWrapper %home%/%user%/web/%domain%/cgi-bin/fcgi-starter .php
    </Directory>
    <Directory %home%/%user%/web/%domain%/stats>
        AllowOverride All
    </Directory>
    IncludeOptional %home%/%user%/conf/web/%web_system%.%domain%.conf*

</VirtualHost>
Top

grayfolk
Support team
Posts: 1111
Joined: Tue Jul 30, 2013 10:18 pm
Contact:
Contact grayfolk
Website Facebook Skype Twitter

Os: CentOS 6x
Web: nginx + php-fpm
Re: php5.6 + функция readFileStr на vestacp
  • Quote

Post by grayfolk » Thu Jan 14, 2021 4:05 pm

В PHP нет такой функции.
Top

leito89
Posts: 5
Joined: Tue Jan 21, 2020 1:20 pm

Os: Ubuntu 17x
Web: apache + nginx
Re: php5.6 + функция readFileStr на vestacp
  • Quote

Post by leito89 » Fri Jan 15, 2021 12:09 pm

$textFile = readFileStr($_GET['product']); сылаеться на utils.php:

Code: Select all

<?php
session_start();
	include "globalConst_en.php";
	//this file contains some utils that can be used from all files
	//this function return true if user is entered to the system or false if not
	function isSignIn()
	{
		//session_start();
		if (isset($_SESSION['sign']))
			return true;
		else
			return false;
	}
	//this file end user session and unset all session variables
	function endSession()
	{
		//session_start();
		unset($_SESSION['sign']);
		session_destroy();
	}
	//this function save file
	function saveFile($filePath, $text)
	{
		$fp = fopen($filePath, 'w') or die(ERROR_OPEN_FILE);
		fwrite($fp, $text) or die(ERROR_WRITE_FILE);
		fclose($fp);
	}
	//this function read file
	function readFileStr($filePath)
	{
		$fp = fopen($filePath, 'r') or die(ERROR_OPEN_FILE);
		$s = fread($fp, filesize($filePath)) or die(ERROR_READ_FILE);
		fclose($fp);
		return $s;
	}
	//this function get all files from $dirName and filter them using $filter
	function getFiles($dirName, $filter)
	{
		$dp = openDir($dirName) or die(ERROR_OPEN_DIR);
		while ($currentFile !== false)
		{
			$currentFile = readDir($dp);
			$files[] = $currentFile;
		}		
		return preg_grep($filter, $files);
	}
?>
Top

grayfolk
Support team
Posts: 1111
Joined: Tue Jul 30, 2013 10:18 pm
Contact:
Contact grayfolk
Website Facebook Skype Twitter

Os: CentOS 6x
Web: nginx + php-fpm
Re: php5.6 + функция readFileStr на vestacp
  • Quote

Post by grayfolk » Fri Jan 15, 2021 1:40 pm

leito89 wrote: ↑
Fri Jan 15, 2021 12:09 pm
$textFile = readFileStr($_GET['product']); сылаеться на utils.php:
Да пусть ссылается куда угодно, если есть какая-то проблема - это проблема используемой вами CMS.
leito89 wrote: ↑
Thu Jan 14, 2021 11:23 am
Подскажите, куда копать, куда бежать.
Копать в сторону:
1. Отказа от древних версий php
2. Исправлению уязвимостей в коде используемых скриптов
Top

leito89
Posts: 5
Joined: Tue Jan 21, 2020 1:20 pm

Os: Ubuntu 17x
Web: apache + nginx
Re: php5.6 + функция readFileStr на vestacp
  • Quote

Post by leito89 » Fri Jan 15, 2021 2:12 pm

Это не CMS. А самописный сайт с админкой и тд, был когда-то. Админку выкинул вместе с редактором.
Top

grayfolk
Support team
Posts: 1111
Joined: Tue Jul 30, 2013 10:18 pm
Contact:
Contact grayfolk
Website Facebook Skype Twitter

Os: CentOS 6x
Web: nginx + php-fpm
Re: php5.6 + функция readFileStr на vestacp
  • Quote

Post by grayfolk » Fri Jan 15, 2021 3:18 pm

leito89 wrote: ↑
Fri Jan 15, 2021 2:12 pm
Это не CMS. А самописный сайт с админкой и тд, был когда-то. Админку выкинул вместе с редактором.
Не суть. Самопис - тем более, надо фиксить. Или переходить на что-то не самописное.
Top

leito89
Posts: 5
Joined: Tue Jan 21, 2020 1:20 pm

Os: Ubuntu 17x
Web: apache + nginx
Re: php5.6 + функция readFileStr на vestacp
  • Quote

Post by leito89 » Fri Jan 15, 2021 3:24 pm

Спасибо :-)
Top


Post Reply
  • Print view

7 posts • Page 1 of 1

Return to “Веб сервер”



  • Board index
  • All times are UTC
  • Delete all board cookies
  • The team
Powered by phpBB® Forum Software © phpBB Limited
*Original Author: Brad Veryard
*Updated to 3.2 by MannixMD
 

 

Login  •  Register

I forgot my password