Page 2 of 2
Posted: Mon Aug 28, 2006 12:46 am
by stm999999999
Kannst Du das näher erklären? Inwiefern kann man da was einschleusen?

Posted: Mon Aug 28, 2006 12:43 pm
by garvinhicking
Hi!
Wenn Du als Link folgendes eingibst:
Code: Select all
http://garv.in" onlick="alert(document.cookie)
Grüße,
Garvin
Posted: Mon Aug 28, 2006 2:42 pm
by stm999999999
Aha, danke.
Dann sollten wir mal einen Blick zur Konkurrenz werfen: Wordpress geht damit offenbar spielend um:
Ich habe es mal auf einer Testseite probiert:
Code: Select all
http://example.com” onlick=”alert(document.cookie)
http://www.example/test.html?bla=4&blub=test,komma;semikolon:doppelpunkt
http://www.müller.example
ergibt dort
http://demo.opensourcecms.com/wordpress/?p=3#comments
(Du mußt aber schnell gucken, in 30 min gibt es dort wieder den großen Reset - ansonsten halt einfach nochmal den Code oben als Kommentar eingeben und dann nicht vergessen, im Admin-Bereich freischalten)
In den Link wird das onclick nicht aufgenommen - und in aktuelleren Versionen als das Demo dort, wird sogar das müller sauber umgesetzt, teilweise sogar als
http://www.xn--mller-kva.example/
Hier noch ein Demo mit aktuellerer Wordpress-Installation:
http://takethisdemo.com/?p=46#comment-17
Merkwürdig: Zwar wird jetzt müller sauber erkannt, dafür ist jetzt beim XSS-Versuch das " mit reingerutscht und macht damit den Link kaputt (was ja egal ist, wer sowas versucht, der hat es nicht anders verdient

)
Posted: Mon Aug 28, 2006 7:59 pm
by garvinhicking
Hi!
Ich habe entdeckt, dass das "Regexp Markup" plugin bereits ein 'ClickableURLs' hat. Probier das mal?
Grüße,
Garvin
Posted: Mon Aug 28, 2006 9:16 pm
by stm999999999
Funktioniert!
Aaaber: Es hagelt Fehler!
Nach dem Speichern erscheint
Code: Select all
Warning: constant() [function.constant]: Couldn't find constant last_ts in /home/xxx/htdocs/plugins/serendipity_event_regexpmarkup/serendipity_event_regexpmarkup.php on line 76
Warning: constant() [function.constant]: Couldn't find constant last_ts in /home/xxx/htdocs/plugins/serendipity_event_regexpmarkup/serendipity_event_regexpmarkup.php on line 77
und an allen möglichen und unmöglichen Stellen (im Seitenbereich, unten auf der Seite ...) Stellen mehrfach:
Code: Select all
Warning: preg_replace() [function.preg-replace]: Unknown modifier '>' in /home/xxx/htdocs/plugins/serendipity_event_regexpmarkup/serendipity_event_regexpmarkup.php on line 150
Ich habe das Plugin sowohl am Anfang als auch am Ende der Plugin-Liste probiert.
Posted: Mon Aug 28, 2006 9:35 pm
by garvinhicking
Hi!
erster fehler committed, beim ">" modifier bin ich etwas ideelos.
Editier mal die ClickableURL.php und ersetze im SearchArray das "..." durch '...' mit single quotes; evtl. wurde der "/" vorher nicht korrekt escaped; in 'single quotes' müsste es anders aussehen.
Grüße,
Garvin
Posted: Mon Aug 28, 2006 10:51 pm
by stm999999999
Ich finde da kein ... ?
Code: Select all
$regexpArray = array(
'SearchArray'=>array(
"/([^]_a-z0-9-=\"'\/])((https?|ftp|gopher|news|telnet):\/\/|www\.)([^ \r\n\(\)\^\$!`\"'\|\[\]\{\}<>]*)/si",
"/^((https?|ftp|gopher|news|telnet):\/\/|www\.)([^ \r\n\(\)\^\$!`\"'\|\[\]\{\}<>]*)/si"
),
'ReplaceArray'=>array(
'\\1<a href="\\2\\4" target="_blank">\\2\\4</a>',
'<a href="\\1\\3" target="_blank">\\1\\3</a>'
)
);
?>
Posted: Mon Aug 28, 2006 10:54 pm
by garvinhicking
Code: Select all
$regexpArray = array(
'SearchArray'=>array(
'/([^]_a-z0-9-=\"'\/])((https?|ftp|gopher|news|telnet):\/\/|www\.)([^ \r\n\(\)\^\$!`\"'\|\[\]\{\}<>]*)/si',
'/^((https?|ftp|gopher|news|telnet):\/\/|www\.)([^ \r\n\(\)\^\$!`\"'\|\[\]\{\}<>]*)/si'
),
'ReplaceArray'=>array(
'\\1<a href="\\2\\4" target="_blank">\\2\\4</a>',
'<a href="\\1\\3" target="_blank">\\1\\3</a>'
)
);
?>
Probier's mal damit.
Grüße,
Garvin
Posted: Mon Aug 28, 2006 11:15 pm
by stm999999999
Daran lag es nicht, der Fehler verschwindet, wenn ich FlashVideoPlayer.php lösche, da muß der Fehler sein:
Code: Select all
$regexpArray = array(
'SearchArray'=>array(
"/<flv:([^>]+)/>/U"
),
'ReplaceArray'=>array(
'object type="application/x-shockwave-flash" width="320" height="240" data="http://yourdomain/flv.swf?file=%s"><param name="movie" value="http://yourdomain/flv.swf?file=%s" /></object>'
)
);
Wobei ich zugeben muß, ich verstehe nicht wirklich, was da wie umgewandelt werden soll.
Posted: Mon Aug 28, 2006 11:18 pm
by garvinhicking
Hi1
Super, danke. Gefixt. Da muss /> durch \/> ersetzt werden.
Grüße,
Garvin
Posted: Mon Aug 28, 2006 11:56 pm
by stm999999999
Und um nochmal zum Thema " clickable urls" zurückzukommen:
Dieser regex-Code macht aus einem
http://example.com” onlick=”alert(document.cookie)
ein <a href="
http://example.com”"> während das Blog auf
http://demo.opensourcecms.com/wordpress/ das " wegläßt. Komisch.
Und nochwas: Bei einigen Wordpress-Installationen wird das führende http:// im Text weggelassen, was optisch ja ganz schön aussieht.
Und nochwas:
aus
http://müller.example macht Dein regex:
<a href="
http://www.müller.example" target="_blank"><a href="
http://www.müller.example" target="_blank">http://www.müller.example</a></a>
Posted: Tue Aug 29, 2006 12:07 am
by stm999999999
Das muß irgendwas damit zu tun haben, daß hier zweimal fast diesselben regex-Zeilen stehen:
Code: Select all
'SearchArray'=>array(
"/([^]_a-z0-9-="'\/])((https?|ftp|gopher|news|telnet):\/\/|www\.)([^ \r\n\(\)\^\$!`"'\|\[\]\{\}<>]*)/si",
"/^((https?|ftp|gopher|news|telnet):\/\/|www\.)([^ \r\n\(\)\^\$!`"'\|\[\]\{\}<>]*)/si"
Was genau macht
?
Undn nochwas:
Dein Code setzt auch
www.example.com um, aber er ergänzt im href nicht http://, so daß daraus wird
http://mein-blog.example/www.example.com
Posted: Tue Aug 29, 2006 9:18 am
by garvinhicking
Hi!
Evtl. mal RobA anschreiben oder im englischen Forum posten, bitte. Ist nicht mein Plugin.
Grüße,
GArvin