Computerbeveiliging - Hoe je bad guys buiten de deur houdt

Wat doet dit script? Is het een veiligheidsrisico bij migratie?

27-06-2020, 00:01 door Anoniem, 4 reacties
<?php
error_reporting(E_ALL); @ini_set('display_errors', true);
$pages = array(
'0' => array('id' => '1', 'alias' => '#home', 'file' => '1.php','controllers' => array())
);
$forms = array(

);
Geen syntax errors gevonden voor PHP 7.1

#sockpuppet
Reacties (4)
27-06-2020, 13:11 door Anoniem
Het eerste zorgt er voor dat zo veel mogelijk de fouten worden weergegeven, dat kan nuttig zijn als er iets mis gaat.

En het in theorie een veiligheidsrisico zijn wat het geeft een aanvaller meer informatie over hoe intern de PHP-application werkt.

Het maakt een paar arrays met de naam: $forms en $pages
Geen idee waarvoor gemaakt is, als die variabelen verder niks doen in de rest van de site voegt het niks toe en kan het weg.

Zeer waarschijnlijk is het ooit toegevoegd om iets te testen, waarbij die 2 arrays ingesteld zijn om sneller/makkelijker te kunnen testen. En daarnaast alle waarschuwingen, etc. ingeschakeld om foutmeldingen, etc. goed te kunnen zien tijdens dat testen.
27-06-2020, 14:49 door Anoniem
Oude stijl code.

$pages is een array van een array
$forms is een lege array zonder definitie

Verder doet het op zichzelf verder niets. Is dit een include in een ander php bestand? Wat is de bestandsnaam?

Andere code kan er wel gebruik van maken. Zoek naar de variabelen in de rest van de code en/of naar de bestandsnaam.

1.php is verdacht. Goede programmeurs gebruiken zoiets niet. Het zou bijvoorbeeld elders kunnen worden gebruikt om php bestanden te uploaden. Er zijn eenregelige achterdeurcodes in php. Die kunnen worden ingevoegd in bestaande php bestanden om zodoende volledige remote shells te uploaden. Die remote shells zijn een soort bestandmanager waarmee een aanvaller remote beheer kan voeren over de server. Daarmee wordt dus niet een command prompt bedoeld.
27-06-2020, 15:20 door Anoniem
error_reporting(E_ALL); @ini_set('display_errors', true);

Dat wil je op productie niet hebben :) Dat zet compleet alle debug-logging aan, op de pagina naar de klant.
28-06-2020, 22:28 door Anoniem
Bronnen met voorbeelden van dergelijke code:
https://hotexamples.com/examples/genesis.commands.test/Php/-/php-php-class-examples.html

Meer voorbeelden: https://github.com/aodto/testbuild/search?q=test.php&type=

Onderzoek alle code en behoudt de betere.

J.O.
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.