Wpis z mikrobloga

Jak dobrze znasz #php ?
W dzisiejszym odcinku #od0dopentestera zapraszam do małego quizu.
Wykorzystałem tutaj kawałki kodu, na które natrafiłem podczas RADARCTF oraz VolgaCTF.
Ile z nich jesteś w stanie rozwiązać - czyli wyświetlić tekst OK?
Podziel się spostrzeżeniami w komentarzu.
Wyjaśnienia wszystkich zagadek znajdziesz w filmie.

1. Kolizja MD5 - wartość $salt nie jest znana

if($a !== $a){
if(hash('md5', $salt . $a) == hash('md5', $salt . $b)){
echo "OK";
}
}

2. Trzycyfrowa liczba, która jest większa od 10000

if (strlen($number) < 4) {
if (is_numeric($number)) {
if ($number > 10000) {
echo "OK";
}
}
}

3. Hash MD5 równy wartości liczby zmiennoprzecinkowej

if (strlen($d) == 3 and !is_numeric($d)) {
if (floatval($d) == md5($d)) {
echo 'OK';
}
}

4. Wyświetlenie konkretnego pliku bez znajomości jego nazwy

if (substr(strtolower($e), 0, 4) != "http") {
if (file_get_contents($e) === "0") {
echo "OK";
}
}

5. Deserializacja tajnego obiektu – wartość $r->flag nie jest znana

class Secrets {
var $temp;
var $flag;
}

$r = unserialize($f);
$r->flag = "SEKRET";

if ($r->flag === $r->temp) {
echo 'OK';
}

Subskrybuj kanał na YouTube
Masz pytanie na temat bezpieczeństwa? Zadaj je na grupie od 0 do pentestera na Facebooku.
Jeżeli chcesz być wołany dodaj się do Mirkolisty.

#programowanie #security #informatyka #it #nauka #technologia #ciekawostki #gruparatowaniapoziomu #bezpieczenstwo #webdev #programista15k
  • 12
@uliczny_szeryf: @szalony_baklazan:
Niestety, do pierwszego kawałka kodu wkradł się błąd.
Oczywiście powinno tam być if ($a !== $b)
WAF Wykopu nie bardzo lubi wpisy z kawałkami kodu PHP – po prostu nie chce ich publikować.
Udało mi się dopiero za którymś razem, gdy usunąłem i poprawiłem pewne fragmenty z wcześniej przygotowanego tekstu używanego w filmie.
Na szczęście na YouTube oraz w miniaturze wszystko jest OK.
@donjon:
Mógłbyś rozwinąć swój