wort finden
Einklappen
X
-
Naja hatte ich ausprobiert.
Da kommt aber folgendes raus:
=msgdeletemsg;topic=119.0;m ist also nicht das was ich brauche
Einen Kommentar schreiben:
-
Naja hatte ich ausprobiert.
Da kommt aber folgendes raus:
=msgdeletemsg;topic=119.0;m ist also nicht das was ich brauche
Einen Kommentar schreiben:
-
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:
-
@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:
-
@tontechniker
wie dann??? Aufjedennfall ist er der einzige bei dem ich bekommen hab was ich wollte.
Einen Kommentar schreiben:
-
Flip7, "Tipp: lern preg_match, ..." weil das was du da gebaut hast nicht umbedingt performant und sinnvoll ist.
Einen Kommentar schreiben:
-
@ 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:
-
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 />";
}
}
}
?>
Einen Kommentar schreiben:
-
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 = strrpos( substr( $query, 0, $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 = strpos( substr( $query, $pos ), ';' );
$amp = strpos( substr( $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:
-
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:
-
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:
-
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];
action=msgdeletemsg;topic=119.0;msg=650
nur
msgdeletemsg
Einen Kommentar schreiben:
-
*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:
-
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++;
}
Gefunden: msgdeletemsg
Kann sein das ich es falsch verstanden habe
Einen Kommentar schreiben:
Einen Kommentar schreiben: