wort finden

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Nordin
    antwortet
    Ok, ich dank dir ich test es mal durch...

    Einen Kommentar schreiben:


  • PHP-Desaster
    antwortet
    Naja hatte ich ausprobiert.
    Da kommt aber folgendes raus:
    =msgdeletemsg;topic=119.0;m ist also nicht das was ich brauche
    Darum habe ich bei geschrieben, das es ungetestet ist! Sollte ein Denkanstoß sein. Wenn du das Ganze entsprechend anpasst, wirst du auf jeden Fall eine schnellere Lösung als deine geschachtelten Regex haben!!

    Einen Kommentar schreiben:


  • Nordin
    antwortet
    Naja hatte ich ausprobiert.
    Da kommt aber folgendes raus:
    =msgdeletemsg;topic=119.0;m ist also nicht das was ich brauche

    Einen Kommentar schreiben:


  • PHP-Desaster
    antwortet
    Hast du dir meinen Vorschlag mal angesehen?? Lass mal diesen Ansatz und den von Flip7 laufen und mies die Zeit. Denn wenn schon Regex, dann auch richtig und sparsam!

    Einen Kommentar schreiben:


  • Nordin
    antwortet
    @Flip

    kannst du es mal so machen das es mit folgendem array auch funktioniert? Bitte!!

    PHP-Code:
    $words = array(
         //start
         

        // SZ
        '<!- ', '->', '$_', '@@', '%22', '`', '"', '%00', '?hl=', '%3fhl=',
        '<?php', '<?', '?>', '%3C%3Fphp', '%3F>', '%2527', '%27', '\'', '/**/', '/../',
        
        // A
        '&aim', 'alert ', '<applet', 'admin_', 'and ',

        // B    
        '/bin/ps', '/bin/echo', '/bin/kill', '/bin/', 'bin/python', 'bin/tclsh', 'bin/nasm', '/bin/mail',
        'bash_history', '.bash_history', '.bat', 'bulk', 'bulk ', 'behavior: url(xss.htc);',

        // C
        'chr(', 'chr=', 'chr ', ' chr', 'cmd=', ' cmd', 'cmd ', 'cp ', ' cp', 'cp(',
        'chmod(', 'chmod ', ' chmod', 'chmod(', 'chmod=', 'chown ', 'chgrp ', 'chown(', 'chgrp(',
        '/chgrp', '/chown', '.conf', 'config.php', 'cgi-', 'chunked', '.cmd', '.cgi', 'cgi',
        'create ', 'cc ', 'cat ', 'char ', 'cat=31337+union',
        
        // D
        '<div', 'diff ', 'db_mysql.inc', 'drop ', 'drop', 'delete ', 'delete', 'document.', 'dynsrc',
        
        // E
        'echr(', ' echr', 'echr ', 'echr=', 'echo', '_env', 'esystem(', 'esystem ', 'etc/', '/etc/password', '/etc/shadow',
        '/etc/groups', '/etc/gshadow', '.eml', '/etc/passwd', 'eval(', 'eval ', 'exec(', '.exe', '<emded', 'exec',
        'expression ',  'email@', 'expression(a', 'eval(a+b+c+d);',
        
        // F
        'fopen', 'fwrite', 'file\://', 'file\\://', 'ftp.exe', '~ftp', 'file%5c://', 'fromcharcode',
        
        // G
        'grep ', 'grep(', '$_get', '$get', ' getenv', 'getenv ', 'g\\+\\+', 'g\+\+', 'getenv', '_global', 'global_',
        'global[', '_globals', 'globals_', 'globals[', 'g%5c', 'g\\', '/groups', '/gshadow', 'goto=http', 'goto=',
        
        // H
        ' hack', 'http_', 'http_php', 'http_user_agent', 'http_host', 'http/1.', '.htpasswd', '.htaccess', '.history',
        'halt ', '=halt', '/home/ftp', '/home/www', 'http_', 'http request', 'http-equiv',
        
        // I
        'insert ', 'insert into', '&icq', '.inc.php', 'img src', '.inc', 'install.php', 'init ', '<iframe', '<img',
        'innerhtml', 'innerjoin', 'inner join', 'id ', 'include ', 'include=', 'index.php?error=<',

        // J
        'javascript\://', 'javascript:', 'javascript.', 'javascript\\://', '.jsp', '.js', 'jsessionid',
        
        // K
        'kill ', ' kill', 'kill', 'kill(', 'killall',
        
         // L
         'locate ', 'locate(', ' like', 'like ', 'like', 'lsof ', 'load ', 'ls ', 'level=',
        
        // M
        'mail ', 'mdir ', ' mdir', 'mdir(', 'mcd ', 'mrd ', ' mcd', ' mrd', 'mcd(', 'mrd(', 'mcd=', 'mrd=', 'mv ', 'mv(',
        'motd ', 'mod_gzip_status', '/modules', 'modules/', '/mod', 'mod/', '<meta', 'msdasql','msys', '/mail',
        'mocha:',        

        // N
        'nigga(', ' nigga', 'nigga ', 'nigga', 'new_password', 'nc.exe', '~nobody',
        
          // O
          'org.apache', 'onabort', 'onblur', 'onchange', 'onclick', 'ondblclick', 'ondragdrop', 'onerror',
        'onfocus', 'onkeydown', 'onkeypress', 'onload', 'onmouse', 'onmove', 'onreset', 'onresize', 'onselect', 'onsubmit',
        'onunload', 'onreadystatechange', 'objectclass', 'objectcategory', '<object', 'or ', 'openquery', 'openrowset', 'onkeyup',
        'order=', 'order',
        
          // P
          '/password', 'passwd ', ' passwd', 'passwd(', 'passwd', 'perl ', 'perl', 'ping ', '.pl', 'powerdown ', '/perl',
        '_php', 'php_', 'phpinfo()', 'phpadmin', 'passthru(', 'popen(', 'phpmyadmin', 'pwd ', 'phpinfo', 'php:',
        'phpb8b4f2a0', 
        
          // R
        'rush=', ' rush', 'rush ', 'rush', 'rm ', ' rm', 'rm(', 'rmdir ', 'rmdir(', '$_request', '$request', '_request',
        '~root', 'reboot ', '=reboot', '/robot.txt', 'root_path', 'Redirect 302 /a.jpg',
        
        // S
        'select ', 'select', '.system', 'servlet', 'server-info', 'server-status', 'secure_site', '/servlet/con',
        'select from', 'select from', 'sql=', '_server', 'server_', 'server[', '.system', 'system(', '.sh', 'setup.php',
        'sysobjects', 'syscolums', 'syslogins', 'sysxlogins','<script', '<script>','sqloledb', 'secure_site, ok', 'style ', 'shell',
        'scriptlet.', 'String.fromCharCode', 'says,', 'Set-Cookie', 'sid=<script', 'sid=http', 'sid=//',
                
        // T
        'telnet ', 'traceroute ', 'tracert ', '<textarea', 'total ', 
        
        // U
        '+UNION+', '/**/UNION', 'UNION/**/', 'union ', ' union', 'union', 'union(', 'union=', '/union', 'uname\\x20-a',
        'uname\x20-a', '/usr/bin/id', '/usr/bin', '/usr/x11r6/bin/xterm', 'update ', 'uname ',
        'url ', 'user_type', 'url=data:text/html;base64', 'URL=http://;URL=',

        // V
        'vi(', 'vi ', 'vbscript:', 'vbscript.', 'vbscript:msgbox',

        // W
        'wget ', ' wget', 'wget', 'wget(', 'window.open', 'wwwacl', 'www/',  

        // X
        'xp_enumdsn', 'xp_availablemedia', 'xp_filelist', 'xp_cmdshell', 'x5cx',  'xmlhttp', 'xp_filelist', 'xterm',

        
               // Z


        //special characters
        'iso-8859', 'iso-8859-1', 'iso-8859-15', 'utf-8', 'iso-',

        //special site
        'yahoo.', 'lycos.', 'fireball.', 'google.',

        //overall string
        'phpbb_root_path=http://'    

        //end
        );

    Einen Kommentar schreiben:


  • Nordin
    antwortet
    @tontechniker

    wie dann??? Aufjedennfall ist er der einzige bei dem ich bekommen hab was ich wollte.

    Einen Kommentar schreiben:


  • tontechniker
    antwortet
    Flip7, "Tipp: lern preg_match, ..." weil das was du da gebaut hast nicht umbedingt performant und sinnvoll ist.

    Einen Kommentar schreiben:


  • Nordin
    antwortet
    @ Flip7

    Saubere sache hatte es noch stundenlang probiert aber so richtig wollte es nicht... mit deiner Variante klapt es super, Danke!

    Das ich es lernen sollte damit hast du allerdings recht... immer hat das passende zum passendem zeitpunkt lernen

    Einen Kommentar schreiben:


  • Flip7
    antwortet
    Hier!
    Hab's ausprobiert und funzt!

    PHP-Code:
    <?php

    $query 
    "action=msgdeletemsg;topic=119.0;msg=650";
    $words = array("ac""msg""delete""top""650"".0");
    foreach(
    $words as $word)
    {
        
    $matches = array();
        if(
    preg_match("/[=|;|&]?\\w*$word\\w*[=|;|&]?/i"$query$matches))
        {
            foreach(
    $matches as $match)
            {
                
    $match preg_replace("/[=|;|&]/",""$match);
                echo 
    "Gefunden für $word$match<br />";
            }
        }
    }

    ?>
    Tipp: lern preg_match, weil es sauwichtige Funktionen sind!

    Einen Kommentar schreiben:


  • PHP-Desaster
    antwortet
    Wie wäre es denn mit einfachen Stringfunktionen?

    PHP-Code:
    $query "action=msgdeletemsg;topic=119.0;msg=650";
    $array = array('wort_eins''delete''wort_drei');

    foreach( 
    $array as $search ) {
       
    $word '';
       
    $pos strpos$query$search );
       if( 
    $pos===false ) {
          
    // nicht gefunden
          
    continue;
       }
       
    // In String vor dem gefundenen Wort nach = suchen
       // Also das letzte = im String
       
    $start strrpossubstr$query0$pos ), '=' );
       
    // $start ist false, also ist dies das erste Wort
       
    if( $start===false ) {
          
    $start 0;
       }
       
       
    // In String nach dem ersten ; oder & nach dem Wort suchen
       
    $semi strpossubstr$query$pos ), ';' );
       
    $amp strpossubstr$query$pos ), '&' );
       
    $stop min$semi$amp );
       
       
    $word substr$query$start$stop-$start );


    Komplett ungetestet, aber so würde ich es machen, wenn ich keine Regex verwende

    Einen Kommentar schreiben:


  • .elementrio
    antwortet
    Hey,
    jep mit preg_match kannst es sicherlich schaffe. Leider kann ich dir nicht weiterhelfen. Da ich die preg_match funktion seit heute verwende

    Einen Kommentar schreiben:


  • Nordin
    antwortet
    hmm ja preg_match() is mächtig wenn man es erstmal verstanden hat... hmm müsste ich mich mal mit beschäftigen das ist sicher die einzige möglichkeit. Da wär dann nur die frage wie kann ich das kombinieren...

    Ich dank dir aber schonmal für deinen Ansatz!!

    Einen Kommentar schreiben:


  • .elementrio
    antwortet
    vll. ma mit preg_match probieren? (arbeite mich grad rein)

    PHP-Code:
    $query "action=msgdeletemsg;topic=119.0;msg=650";
    preg_match("/=(.*)\;(.*);/i"$query$matches);
    echo 
    $matches[1]; 
    macht aus
    action=msgdeletemsg;topic=119.0;msg=650
    nur
    msgdeletemsg

    Einen Kommentar schreiben:


  • Nordin
    antwortet
    *g* nee das wär schön...

    Also das array ist fest vergeben mit einzelnen begriffen.

    jetzt durchsuch ich querys (die kenn ich nicht, passiert automatisch) nach diesen begriffen.

    wenn ich also auf ein query stoße wo dieser begriff drin existiert, dann will ich das wort bzw. diesen string von = bis & haben (speichern)...

    oder um es kompliziert zu machen von = bis & oder bis ;

    Also wenn delete gefunden wurde gib mir den ganzen begriff von = bis & oder ; aus...

    das wär dann:
    msgdeletemsg

    hoffe konntest mich jetzt nen bischen verstehen...

    Einen Kommentar schreiben:


  • .elementrio
    antwortet
    Hallo,
    meinst du das etwa so?
    PHP-Code:
    $query "action=msgdeletemsg;topic=119.0;msg=650";
    $array = array('wort_eins''msgdeletemsg''wort_drei');

    $i=0;
    while(
    $i<count($array)) {    
        if (
    eregi($array[$i], $query)) {
            echo 
    "Gefunden: ".$array[$i];
            break;
        }
        
    $i++;

    Ergebniss:
    Gefunden: msgdeletemsg

    Kann sein das ich es falsch verstanden habe

    Einen Kommentar schreiben:

Lädt...
X