Ejemplo n.º 1
0
Archivo: index.php Proyecto: haypo/conf
function main()
{
    $id = crackme_html_request('id');
    if ($id != '') {
        if (affiche_article($id) == 0) {
            crackme_error("<p>Article inexistant (ou secret !).</p>");
        }
        echo '<p><a href="' . $GLOBALS['page'] . '">Retour à la liste des articles</a></p>';
    } else {
        liste_articles();
    }
}
Ejemplo n.º 2
0
Archivo: index.php Proyecto: haypo/conf
<?php 
error_reporting(E_ALL);
$rootpath = '../';
$url_root = '../';
require_once $rootpath . 'include/crackme_func.php';
// Le secret est juste quelques lignes en dessous ...
$motpasse = crackme_html_request('motpasse');
if ($motpasse) {
    if ($motpasse == 'yougotit') {
        echo '<div class="article"><p>Mot de passe valide !</p></div>';
        // ... (normalement on fait plein de truc ici)
    } else {
        crackme_error('<p>Mot de passe incorrect.</p>');
    }
}
$article = crackme_html_request('article');
if ($article) {
    // Test pour rendre l'exercice plus complique
    if (strstr($article, "../") !== false) {
        crackme_error("<p>Tututu, pas de \"../\" dans un nom d'article ! (pas folle l'abeille)</p>");
        $article = false;
        // Test pour eviter qu'on sorte du "cadre de l'exercice" ...
    } else {
        if (file_exists($article)) {
            if (!crackme_file_allowed($article)) {
                crackme_error("<p>Tututu, pas le droit au repertoire \"" . dirname($article) . "\" !</p>");
                $article = false;
            }
        }
    }
}
Ejemplo n.º 3
0
Archivo: index.php Proyecto: haypo/conf
    if (!$r || !($row = @mysql_fetch_row($r))) {
        crackme_error('<p>Erreur SQL !?</p>');
        return;
    }
    if ($row[0] == '913850b6724b8461bdf6ba268294a605') {
        echo '<div class="article"><p>Mot de passe valide !</p></div>';
        // ... (normalement on fait plein de truc ici)
    } else {
        crackme_error('<p>Mot de passe incorrect.</p>');
    }
}
$motpasse = crackme_html_request('motpasse');
if ($motpasse) {
    login($motpasse);
}
$source = crackme_html_request('source');
if ($source) {
    echo '<div class="article"><pre>';
    highlight_file("index.php");
    echo "</pre></div>\n";
}
?>

<h2>S'authentifier :</h2>

<form action="index.php" method="post">
  <p>Mot de passe :
  <textarea name="motpasse" rows="2" cols="60"><?php 
echo htmlspecialchars($motpasse);
?>
</textarea></p>
Ejemplo n.º 4
0
Archivo: index.php Proyecto: haypo/conf
    telecharge($fichier);
}
?>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <meta http-equiv="Content-Language" content="fr" />
  <link rel="stylesheet" type="text/css" media="screen" href="../style.css" />
  <title>Crackme #4</title>
</head>
<body>

<h1>Crackme #4</h1>

<?php 
$motpasse = crackme_html_request('motpasse');
if ($motpasse) {
    if ($motpasse == 'cetaitplusdurhein') {
        echo '<div class="article"><p>Mot de passe valide !</p></div>';
        // ... (normalement on fait plein de truc ici)
    } else {
        crackme_error('<p>Mot de passe incorrect.</p>');
    }
}
?>

<h2>Fichiers à télécharger :</h2>

<ul>
<?php 
function lit_repertoire_mysql()
Ejemplo n.º 5
0
Archivo: index.php Proyecto: haypo/conf
    }
    if (!crackme_check_loadfile($note)) {
        return;
    }
    $sql = "INSERT INTO crackme6 (id, note, texte) ";
    $sql .= "SELECT MAX(id)+1, {$note}, ";
    $sql .= "'" . mysql_real_escape_string($texte) . "' FROM crackme6";
    $r = crackme_sql_query($sql);
    if (!$r) {
        crackme_error("<p>Erreur à l'ajout du commentaire :-(</p>");
    } else {
        echo '<div class="article"><p>Commentaire ajouté.</p></div>';
    }
}
$note = crackme_html_request('note');
$texte = trim(crackme_html_request('texte'));
if ($note !== false && $texte) {
    if (crackme_get_magic_quotes()) {
        $texte = stripslashes($texte);
    }
    ajout($note, $texte);
}
?>

<h2>Débat :</h2>

<p>Linux c'est de la merde</p>

<h2>Commentaires :</h2>

<?php 
Ejemplo n.º 6
0
Archivo: index.php Proyecto: haypo/conf
    } else {
        $url = $GLOBALS['repertoire'];
        if ($url[strlen($url) - 1] != '/') {
            $url .= '/';
        }
        $url .= rawurlencode($file);
    }
    return $prefix . '<a href="' . $url . '">' . $file . '</a>';
}
// Configure l'exercice
error_reporting(E_ALL);
$rootpath = '../';
$url_root = '../';
require_once $rootpath . 'include/crackme_func.php';
// Lit le répertoire demandé, puis le vérifie
$repertoire = crackme_html_request('r');
if ($repertoire) {
    // Interdit les repertoires parents
    if (!crackme_file_allowed($repertoire)) {
        crackme_error("<p>Pas le droit au répertoire <em>{$repertoire}</em> (ou répertoire inexistant) !</p>");
        $repertoire = "./";
    }
    // Vérifie l'exploit :-)
    if (ereg("^([a-zA-Z0-9._/]+)( *(;+|&&|\\|\\|) *(.*))?\$", $repertoire, $regs)) {
        $exploit = $regs[4];
        $commande = $regs[4];
        if ($exploit != '') {
            if (!eregi("^uname( --?[a-z-]+)?\$", $commande)) {
                $msg = "<p>Désolé, seule la commande <em>uname</em> est autorisée.</p>";
                $msg .= "<p>(commande détectée : «&nbsp;<em>{$commande}</em>&nbsp;»)</p>";
                crackme_error($msg);