Add CSRF protection include

This commit is contained in:
billz
2025-03-26 04:05:39 -07:00
parent 4a4506a913
commit 0960e8bac9
24 changed files with 70 additions and 75 deletions

View File

@@ -1,5 +1,6 @@
<?php <?php
require_once '../../includes/autoload.php'; require_once '../../includes/autoload.php';
require_once '../../includes/CSRF.php';
require_once '../../includes/session.php'; require_once '../../includes/session.php';
require_once '../../includes/config.php'; require_once '../../includes/config.php';
require_once '../../includes/authenticate.php'; require_once '../../includes/authenticate.php';

View File

@@ -1,5 +1,6 @@
<?php <?php
require_once '../../includes/autoload.php'; require_once '../../includes/autoload.php';
require_once '../../includes/CSRF.php';
require_once '../../includes/session.php'; require_once '../../includes/session.php';
require_once '../../includes/config.php'; require_once '../../includes/config.php';
require_once '../../includes/authenticate.php'; require_once '../../includes/authenticate.php';

View File

@@ -1,5 +1,6 @@
<?php <?php
require_once '../../includes/autoload.php'; require_once '../../includes/autoload.php';
require_once '../../includes/CSRF.php';
require_once '../../includes/session.php'; require_once '../../includes/session.php';
require_once '../../includes/config.php'; require_once '../../includes/config.php';
require_once '../../includes/authenticate.php'; require_once '../../includes/authenticate.php';

View File

@@ -1,5 +1,6 @@
<?php <?php
require_once '../../includes/autoload.php'; require_once '../../includes/autoload.php';
require_once '../../includes/CSRF.php';
require_once '../../includes/session.php'; require_once '../../includes/session.php';
require_once '../../includes/config.php'; require_once '../../includes/config.php';
require_once '../../includes/authenticate.php'; require_once '../../includes/authenticate.php';

View File

@@ -1,37 +1,29 @@
<?php <?php
require_once '../../includes/autoload.php'; require_once '../../includes/autoload.php';
require_once '../../includes/CSRF.php';
require_once '../../includes/config.php'; require_once '../../includes/config.php';
require_once '../../includes/session.php'; require_once '../../includes/session.php';
require_once '../../includes/authenticate.php'; require_once '../../includes/authenticate.php';
require_once '../../includes/session.php';
require_once '../../includes/functions.php'; require_once '../../includes/functions.php';
if (isset($_POST['csrf_token'])) { $return = 0;
if ($token->csrfValidateRequest() && !$token->CSRFValidate()) { $path = "../../config";
$token->handleInvalidCSRFToken(); $configs = array(
} array("src" => $path .'/hostapd.conf', "tmp" => "/tmp/hostapddata", "dest" => RASPI_HOSTAPD_CONFIG),
$return = 0; array("src" => $path .'/dhcpcd.conf', "tmp" => "/tmp/dhcpddata", "dest" => RASPI_DHCPCD_CONFIG),
$path = "../../config"; array("src" => $path .'/090_wlan0.conf', "tmp" => "/tmp/dnsmasqdata", "dest" => RASPI_DNSMASQ_PREFIX.'wlan0.conf'),
$configs = array( array("src" => $path .'/090_raspap.conf', "tmp" => "/tmp/dnsmasqdata", "dest" => RASPI_DNSMASQ_PREFIX.'raspap.conf'),
array("src" => $path .'/hostapd.conf', "tmp" => "/tmp/hostapddata", "dest" => RASPI_HOSTAPD_CONFIG), );
array("src" => $path .'/dhcpcd.conf', "tmp" => "/tmp/dhcpddata", "dest" => RASPI_DHCPCD_CONFIG),
array("src" => $path .'/090_wlan0.conf', "tmp" => "/tmp/dnsmasqdata", "dest" => RASPI_DNSMASQ_PREFIX.'wlan0.conf'),
array("src" => $path .'/090_raspap.conf', "tmp" => "/tmp/dnsmasqdata", "dest" => RASPI_DNSMASQ_PREFIX.'raspap.conf'),
);
foreach ($configs as $config) { foreach ($configs as $config) {
try { try {
$tmp = file_get_contents($config["src"]); $tmp = file_get_contents($config["src"]);
file_put_contents($config["tmp"], $tmp); file_put_contents($config["tmp"], $tmp);
system("sudo cp ".$config["tmp"]. " ".$config["dest"]); system("sudo cp ".$config["tmp"]. " ".$config["dest"]);
} catch (Exception $e) { } catch (Exception $e) {
$return = $e->getCode(); $return = $e->getCode();
}
} }
$jsonData = ['return'=>$return];
echo json_encode($jsonData);
} else {
$token->handleInvalidCSRFToken();
} }
$jsonData = ['return'=>$return];
echo json_encode($jsonData);

View File

@@ -1,5 +1,6 @@
<?php <?php
require_once '../../includes/autoload.php'; require_once '../../includes/autoload.php';
require_once '../../includes/CSRF.php';
require_once '../../includes/session.php'; require_once '../../includes/session.php';
require_once '../../includes/config.php'; require_once '../../includes/config.php';
require_once '../../includes/authenticate.php'; require_once '../../includes/authenticate.php';

View File

@@ -1,5 +1,6 @@
<?php <?php
require_once '../../includes/autoload.php'; require_once '../../includes/autoload.php';
require_once '../../includes/CSRF.php';
require_once '../../includes/session.php'; require_once '../../includes/session.php';
require_once '../../includes/config.php'; require_once '../../includes/config.php';
require_once '../../includes/authenticate.php'; require_once '../../includes/authenticate.php';
@@ -16,3 +17,4 @@ foreach ($hostapdconfig as $hostapdconfigline) {
}; };
$channel = intval($arrConfig['channel']); $channel = intval($arrConfig['channel']);
echo json_encode($channel); echo json_encode($channel);

View File

@@ -1,5 +1,6 @@
<?php <?php
require_once '../../includes/autoload.php'; require_once '../../includes/autoload.php';
require_once '../../includes/CSRF.php';
require_once '../../includes/session.php'; require_once '../../includes/session.php';
require_once '../../includes/config.php'; require_once '../../includes/config.php';
require_once '../../includes/authenticate.php'; require_once '../../includes/authenticate.php';

View File

@@ -1,5 +1,6 @@
<?php <?php
require_once '../../includes/autoload.php'; require_once '../../includes/autoload.php';
require_once '../../includes/CSRF.php';
require_once '../../includes/session.php'; require_once '../../includes/session.php';
require_once '../../includes/functions.php'; require_once '../../includes/functions.php';
require_once '../../includes/config.php'; require_once '../../includes/config.php';

View File

@@ -1,5 +1,6 @@
<?php <?php
require_once '../../includes/autoload.php'; require_once '../../includes/autoload.php';
require_once '../../includes/CSRF.php';
require_once '../../includes/session.php'; require_once '../../includes/session.php';
require_once '../../includes/config.php'; require_once '../../includes/config.php';
require_once '../../includes/authenticate.php'; require_once '../../includes/authenticate.php';

View File

@@ -1,5 +1,6 @@
<?php <?php
require_once '../../includes/autoload.php'; require_once '../../includes/autoload.php';
require_once '../../includes/CSRF.php';
require_once '../../includes/session.php'; require_once '../../includes/session.php';
require_once '../../includes/config.php'; require_once '../../includes/config.php';
require_once '../../includes/authenticate.php'; require_once '../../includes/authenticate.php';

View File

@@ -1,5 +1,6 @@
<?php <?php
require_once '../../includes/autoload.php'; require_once '../../includes/autoload.php';
require_once '../../includes/CSRF.php';
require_once '../../includes/session.php'; require_once '../../includes/session.php';
require_once '../../includes/config.php'; require_once '../../includes/config.php';
require_once '../../includes/authenticate.php'; require_once '../../includes/authenticate.php';

View File

@@ -1,5 +1,6 @@
<?php <?php
require_once '../../includes/autoload.php'; require_once '../../includes/autoload.php';
require_once '../../includes/CSRF.php';
require_once '../../includes/session.php'; require_once '../../includes/session.php';
require_once '../../includes/config.php'; require_once '../../includes/config.php';
require_once '../../includes/authenticate.php'; require_once '../../includes/authenticate.php';

View File

@@ -1,5 +1,6 @@
<?php <?php
require_once '../../includes/autoload.php'; require_once '../../includes/autoload.php';
require_once '../../includes/CSRF.php';
require_once '../../includes/session.php'; require_once '../../includes/session.php';
require_once '../../includes/config.php'; require_once '../../includes/config.php';
require_once '../../includes/authenticate.php'; require_once '../../includes/authenticate.php';

View File

@@ -1,5 +1,6 @@
<?php <?php
require_once '../../includes/autoload.php'; require_once '../../includes/autoload.php';
require_once '../../includes/CSRF.php';
require_once '../../includes/session.php'; require_once '../../includes/session.php';
require_once '../../includes/config.php'; require_once '../../includes/config.php';
require_once '../../includes/authenticate.php'; require_once '../../includes/authenticate.php';

View File

@@ -1,5 +1,6 @@
<?php <?php
require_once '../../includes/autoload.php'; require_once '../../includes/autoload.php';
require_once '../../includes/CSRF.php';
require_once '../../includes/session.php'; require_once '../../includes/session.php';
require_once '../../includes/config.php'; require_once '../../includes/config.php';
require_once '../../includes/authenticate.php'; require_once '../../includes/authenticate.php';

View File

@@ -1,5 +1,6 @@
<?php <?php
require_once '../../includes/autoload.php'; require_once '../../includes/autoload.php';
require_once '../../includes/CSRF.php';
require_once '../../includes/session.php'; require_once '../../includes/session.php';
require_once '../../includes/config.php'; require_once '../../includes/config.php';
require_once '../../includes/authenticate.php'; require_once '../../includes/authenticate.php';

View File

@@ -1,5 +1,6 @@
<?php <?php
require_once '../../includes/autoload.php'; require_once '../../includes/autoload.php';
require_once '../../includes/CSRF.php';
require_once '../../includes/session.php'; require_once '../../includes/session.php';
require_once '../../includes/config.php'; require_once '../../includes/config.php';
require_once '../../includes/authenticate.php'; require_once '../../includes/authenticate.php';

View File

@@ -1,9 +1,8 @@
<?php <?php
require_once '../../includes/autoload.php';
require '../../includes/csrf.php'; require_once '../../includes/CSRF.php';
require_once '../../includes/session.php'; require_once '../../includes/session.php';
require_once '../../includes/config.php'; require_once '../../includes/config.php';
require_once '../../src/RaspAP/Auth/HTTPAuth.php';
require_once '../../includes/authenticate.php'; require_once '../../includes/authenticate.php';
$action = escapeshellcmd($_POST['a']); $action = escapeshellcmd($_POST['a']);

View File

@@ -1,27 +1,22 @@
<?php <?php
require_once '../../includes/autoload.php';
require '../../includes/csrf.php'; require_once '../../includes/CSRF.php';
require_once '../../includes/session.php'; require_once '../../includes/session.php';
require_once '../../includes/config.php'; require_once '../../includes/config.php';
require_once '../../includes/authenticate.php';
require_once '../../includes/defaults.php'; require_once '../../includes/defaults.php';
require_once '../../includes/functions.php';
if (isset($_POST['csrf_token'])) { $uri = RASPI_API_ENDPOINT;
if (csrfValidateRequest() && !CSRFValidate()) { preg_match('/(\d+(\.\d+)+)/', RASPI_VERSION, $matches);
handleInvalidCSRFToken(); $thisRelease = $matches[0];
}
$uri = RASPI_API_ENDPOINT;
preg_match('/(\d+(\.\d+)+)/', RASPI_VERSION, $matches);
$thisRelease = $matches[0];
$json = shell_exec("wget --timeout=5 --tries=1 $uri -qO -"); $json = shell_exec("wget --timeout=5 --tries=1 $uri -qO -");
$data = json_decode($json, true); $data = json_decode($json, true);
$tagName = $data['tag_name']; $tagName = $data['tag_name'];
$updateAvailable = checkReleaseVersion($thisRelease, $tagName); $updateAvailable = checkReleaseVersion($thisRelease, $tagName);
$response['tag'] = $tagName; $response['tag'] = $tagName;
$response['update'] = $updateAvailable; $response['update'] = $updateAvailable;
echo json_encode($response); echo json_encode($response);
} else {
handleInvalidCSRFToken();
}

View File

@@ -1,25 +1,18 @@
<?php <?php
require_once '../../includes/autoload.php';
require '../../includes/csrf.php'; require_once '../../includes/CSRF.php';
require_once '../../includes/session.php'; require_once '../../includes/session.php';
require_once '../../includes/config.php'; require_once '../../includes/config.php';
require_once '../../src/RaspAP/Auth/HTTPAuth.php';
require_once '../../includes/authenticate.php'; require_once '../../includes/authenticate.php';
if (isset($_POST['csrf_token'])) { $root = getenv("DOCUMENT_ROOT");
if (csrfValidateRequest() && !CSRFValidate()) { exec('sudo '.RASPI_CONFIG.'/system/debuglog.sh -i '.$root, $return);
handleInvalidCSRFToken();
} $logOutput = implode(PHP_EOL, $return);
$root = getenv("DOCUMENT_ROOT"); $tempDir = sys_get_temp_dir();
exec('sudo '.RASPI_CONFIG.'/system/debuglog.sh -i '.$root, $return); $filePath = $tempDir . DIRECTORY_SEPARATOR . RASPI_DEBUG_LOG;
$handle = fopen($filePath, "w");
fwrite($handle, $logOutput);
fclose($handle);
echo json_encode($filePath);
$logOutput = implode(PHP_EOL, $return);
$tempDir = sys_get_temp_dir();
$filePath = $tempDir . DIRECTORY_SEPARATOR . RASPI_DEBUG_LOG;
$handle = fopen($filePath, "w");
fwrite($handle, $logOutput);
fclose($handle);
echo json_encode($filePath);
} else {
handleInvalidCSRFToken();
}

View File

@@ -1,9 +1,8 @@
<?php <?php
require_once '../../includes/autoload.php';
require '../../includes/csrf.php'; require_once '../../includes/CSRF.php';
require_once '../../includes/session.php'; require_once '../../includes/session.php';
require_once '../../includes/config.php'; require_once '../../includes/config.php';
require_once '../../src/RaspAP/Auth/HTTPAuth.php';
require_once '../../includes/authenticate.php'; require_once '../../includes/authenticate.php';
$tempDir = sys_get_temp_dir(); $tempDir = sys_get_temp_dir();

View File

@@ -1,9 +1,8 @@
<?php <?php
require_once '../../includes/autoload.php';
require '../../includes/csrf.php'; require_once '../../includes/CSRF.php';
require_once '../../includes/session.php'; require_once '../../includes/session.php';
require_once '../../includes/config.php'; require_once '../../includes/config.php';
require_once '../../src/RaspAP/Auth/HTTPAuth.php';
require_once '../../includes/authenticate.php'; require_once '../../includes/authenticate.php';
if (isset($_POST['csrf_token'])) { if (isset($_POST['csrf_token'])) {

View File

@@ -1,8 +1,8 @@
<?php <?php
require_once '../../includes/config.php'; require_once '../../includes/autoload.php';
require_once '../../includes/session.php'; require_once '../../includes/session.php';
require_once '../../src/RaspAP/Auth/HTTPAuth.php'; require_once '../../includes/config.php';
require_once '../../includes/authenticate.php'; require_once '../../includes/authenticate.php';
$logFile = '/tmp/raspap_install.log'; $logFile = '/tmp/raspap_install.log';