uawdijnntqw1x1x1
IP : 13.59.236.184
Hostname : axolotl
Kernel : Linux axolotl 4.9.0-13-amd64 #1 SMP Debian 4.9.228-1 (2020-07-05) x86_64
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
OS : Linux
PATH:
/
var
/
www
/
axolotl
/
data
/
www
/
yar.axolotls.ru
/
bitrix
/
.
/
modules
/
bitrix.xscan
/
ajax.php
/
/
<?php class CBitrixXscanAjax { private static function get_file() { $file = ''; if (isset($_REQUEST['file'])) { $file = '/' . trim($_REQUEST['file'], '/'); } return $file; } private static function prison() { $file = self::get_file(); if (!$file || !file_exists($file)) { $msg = CBitrixXscanFork::ShowMsg(GetMessage("BITRIX_XSCAN_FILE_NOT_FOUND") . htmlspecialcharsbx($file), 'red'); } else { $new_f = preg_replace('#\.php[578]?$#i', '.ph_', $file); if (rename($file, $new_f)) { $msg = CBitrixXscanFork::ShowMsg(GetMessage("BITRIX_XSCAN_RENAMED") . htmlspecialcharsbx($new_f)); } else { $msg = CBitrixXscanFork::ShowMsg(GetMessage("BITRIX_XSCAN_ERR_RENAME") . htmlspecialcharsbx($file), 'red'); } } return $msg; } private static function release() { $file = self::get_file(); if (!$file || !file_exists($file)) { $msg = CBitrixXscanFork::ShowMsg(GetMessage("BITRIX_XSCAN_FILE_NOT_FOUND") . htmlspecialcharsbx($file), 'red'); } else { $new_f = preg_replace('#\.ph_$#', '.php', $file); if (rename($file, $new_f)) { $msg = CBitrixXscanFork::ShowMsg(GetMessage("BITRIX_XSCAN_RENAMED") . htmlspecialcharsbx($new_f)); } else { $msg = CBitrixXscanFork::ShowMsg(GetMessage("BITRIX_XSCAN_ERR_RENAME") . htmlspecialcharsbx($file), 'red'); } } return $msg; } private static function hide() { $file = self::get_file(); $msg = ''; $ent = XScanResultTable::getList(['select' => ['id'], 'filter' => ['src' => $file]])->fetch(); if ($ent) { XScanResultTable::delete($ent['id']); $msg = CBitrixXscanFork::ShowMsg(GetMessage("BITRIX_XSCAN_HIDED") . htmlspecialcharsbx($file)); } return $msg; } private static function add_error() { $file = self::get_file(); $msg = ''; if ($file) { XScanResultTable::add(['type' => 'file', 'src' => $file, 'message' => 'error', 'score' => 0.5]); } return $msg; } private static function scan(CBitrixXscanFork $scaner, $nav, $start_path, $break_point='', $clean=false) { if (!is_dir($start_path)) { $msg = GetMessage("BITRIX_XSCAN_NACALQNYY_PUTQ_NE_NA"); return ['error' => $msg]; } if ($clean) { $scaner->clean(); // new scan $scaner->CheckEvents(); $scaner->CheckAgents(); $scaner->Search($start_path, 'count'); } if ($break_point) { // continue scan $scaner->skip_path = $break_point; } else { $_SESSION['xscan_page'] = 1; $nav->setCurrentPage(1); } session_write_close(); $scaner->Search($start_path); $scaner->SavetoDB(); $prc = $scaner->total == 0 ? 100 : (int)($scaner->progress * 100 / $scaner->total); if ($scaner->break_point) { $inprogress = True; } return ['progress' => $scaner->progress, 'total' => $scaner->total, 'break_point' => $scaner->break_point, 'prc' => $prc]; } public static function run($scaner, $nav, $start_path, $break_point, $clean) { header('Content-Type:application/json; charset=UTF-8'); $msg = ''; $response = ['error' => $msg]; $action = $_REQUEST['action']; if (!check_bitrix_sessid()) { $msg = CBitrixXscanFork::ShowMsg(GetMessage("BITRIX_XSCAN_SESSIA_USTARELA_OBN"), 'red'); $response = ['error' => $msg]; } elseif (in_array($action, ['prison', 'release', 'hide', 'add_error'], true)) { $msg = self::$action(); $response = ['error' => $msg]; } elseif ($action == 'scan'){ $response = self::scan($scaner, $nav, $start_path, $break_point, $clean); } echo \Bitrix\Main\Web\Json::encode($response); CMain::FinalActions(); die(); } }
/var/www/axolotl/data/www/yar.axolotls.ru/bitrix/./modules/bitrix.xscan/ajax.php