Mi sono esercitato su argomenti relativi alla sicurezza e mi sono imbattuto in questo problema che non capisco affatto. Riceverai un modulo con un input di nome pass
, e questo è il codice che devi bypassare:
<?php
error_reporting(0);
session_save_path('/home/mawekl/sessions/');
session_start();
echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>';
echo 'This task is as hard to beat as the castle which you can see on the bottom.<br>';
echo '<pre>';
include('./ascii.txt');
echo '</pre><br>';
$_SESSION['admin_level']=1;
if (!isset($_POST['pass']) || md5($_POST['pass'])!='castle')
{
echo '<b>Wrong or empty password.</b><br>';
$_SESSION['admin_level']=0;
}
Se entra nell'istruzione if finale, perdi (è necessario renderlo così $_SESSION['admin_level']
rimane a 1
).
Qualsiasi aiuto è apprezzato, grazie!
Chiarimento:
Non riesco a modificare il codice che ho postato. È una sfida. Tutto quello che posso fare è inviare una password attraverso un input il cui nome è "pass". Sì, so che md5 dovrebbe restituire una stringa lunga di 32 caratteri. Questa è la sfida.