Strict Standards: Non-static method serendipity_plugin_api::hook_event() should not be called statically in /www/htdocs/w0072ee3/blog/include/functions_smarty.inc.php on line 541

Strict Standards: Non-static method serendipity_plugin_api::get_event_plugins() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 1007


Strict Standards: Non-static method serendipity_plugin_api::hook_event() should not be called statically in /www/htdocs/w0072ee3/blog/include/functions_smarty.inc.php on line 541

Strict Standards: Non-static method serendipity_plugin_api::get_event_plugins() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 1007

Die Kunst der Verschleierung (Update)

12 02 2008 IT-Security

Als kleines Kind war ich immer von den Tricks der Zauberer fasziniert, die es schaften ganze Fahrzeuge vor meinen Augen verschwinden zu lassen.
Jahre später war ich immer noch so sehr davon fasziniert, so das es mein Kinderwunsch war, auch selbiges zu vollbringen wie die großen Männer in Frack und Zylinder.
So kam es, das ich mich ein wenig mit der Kunst der Zauberei beschäftigte, wobei zu meinem Bedauern mir keines der damaligen Tricks bis heute erhalten geblieben ist. Dennoch ist mir bewusst, dass sich die Zauberei ein grundlegendes Prinzip zu Nutze macht, welches auch heute in der Informatik vielseitig Einsatz findet.

   

Dem Verschleiern von Informationen.

  

Es gibt an sich nur zwei Möglichkeiten Informationen vor anderen zu sichern.

Die erste Möglichkeit besteht darin, die Informationen vor den anderen unzugänglich zu machen - einem Safe in welcher Form auch immer.
Nur eine Person, welche dazu legitimiert ist, darf/kann an die geschützten Informationen gelangen, da diese durch den Safe (kryptographische Mittel) dem anderen verwehrt werden. Jedoch kann ein Angreifer immer noch nach Schwachstellen in der zu schützenden Methode suchen.
Da aber all diese "Schutzmethoden" von Menschenhand gemacht wurden, wird je nach Wert der Informationen bzw. der Ware ein Angreifer zum Schluss kommen, dass das schwächste Glied in der Kette hier der Mensch selber darstellt. Mit entsprechenden Druckmitteln könnte nun der Angreifer denjenigen dazu bringen, die geschützten Information preis zugeben bzw. ihm den Zugang zu diesen zu verschaffen.

  

Einen ganz anderen Weg geht hier die Zauberei. Durch Illusionen, optische Täuschungen sowie Verschleierung wird versucht die Aufmerksamkeit auf ein anderes Medium zu ziehen. Somit wird von dem zu schützenden Medium abgelenkt.

Mir ist durch aus das Prinzip Security through obscurity oder security by obscurity (engl. „Sicherheit durch Unklarheit“) in der IT-Sicherheit bekannt und ich bin, wie viele andere auch, der Meinung das Sicherheit nicht durch Verschleierung begründet werden sollte (Kerckhoffs’ Prinzip). Denn gerade in der Kryptographie wird davon profitiert, dass viele andere Einblick in den Algorithmus haben können, um mögliche Schwachstellen schnell zu identifizieren. Diese erreichen dann auch meist schnell die Öffentlichkeit und man kann dann als Anwender auf ein anderes Krypto-Verfahren setzen. Ebenso bin ich ein Verfechter der Open Source-Theorie, daher will ich das alles hier auch überhaupt nicht in Frage stellen.

    

Jedoch kann versucht werden, durch Einsatz von steganographischen Mitteln ein kryptographisches Verfahren zusätzlich zu sichern. Beispielsweise möchte man ein geheimes Treffen vereinbaren und man hat zu befürchten das der Adressat observiert wird. Um dennoch dieses Treffen zu vereinbaren, könnte man ihm eine Nachricht zu kommen lassen, welche auf ein schönes Foto vom letzten Urlaub im Anhang hinweist. In diesem unscheinbaren Urlaubsfoto ist nun eine verschlüsselte Botschaft enthalten.

   

Die Realisierung einer solchen Hybridlösung könnte unter Linux wie folgt aus sehen:


rsecurity blog # echo "Geheime Botschaft"> secmsg.txt
rsecurity blog # cat secmsg.txt
Geheime Botschaft
rsecurity blog #
rsecurity blog # ls
secmsg.txt urlaub.jpg
rsecurity blog # gpg -e -r empfaenger -a secmsg.txt
rsecurity blog # ls
secmsg.txt secmsg.txt.asc urlaub.jpg
rsecurity blog #
rsecurity blog # sha256sum urlaub.jpg
ab3dccc0a9efc0759a881d06a7eb777d1b5cd2d49af86b7f4460f9b41f683111 urlaub.jpg
rsecurity blog # steghide embed -cf urlaub.jpg -ef secmsg.txt.asc
Passwort eingeben:
Passwort wiederholen:
Bette "secmsg.txt.asc" in "urlaub.jpg" ein... fertig
rsecurity blog # sha256sum urlaub.jpg
9571fd9645e8ed672cad8eca621051618483818a4f27864927f46b069ebc0241 urlaub.jpg
rsecurity blog # rm -f secmsg.txt
rsecurity blog # rm -f secmsg.txt.asc
rsecurity blog # ls
urlaub.jpg
rsecurity blog # file urlaub.jpg
urlaub.jpg: JPEG image data, JFIF standard 1.01
rsecurity blog #

Versenden des Urlaub-Fotos an den Adressaten

Auf Empfänger Seite:
empfaenger mail # ls
urlaub.jpg
empfaenger mail # steghide extract -sf urlaub.jpg
Passwort eingeben:
Extrahierte Daten wurden nach "secmsg.txt.asc" geschrieben.
empfaenger mail # ls
secmsg.txt.asc urlaub.jpg
empfaenger mail #
empfaenger mail # gpg -d secmsg.txt.asc >secmsg.txt

Sie benötigen eine Passphrase, um den geheimen Schlüssel zu entsperren.
Benutzer: "empfaenger "
2048-Bit ELG Schlüssel, ID 170742AF, erzeugt 2008-02-12 (Hauptschlüssel-ID B1395460)
Passphrase:
gpg: verschlüsselt mit 2048-Bit ELG Schlüssel, ID 170742AF, erzeugt 2008-02-12
"empfaenger "
empfaenger mail # cat secmsg.txt
Geheime Botschaft
empfaenger mail #

Das Beispiel zeigt, wie eine vertrauliche Botschaft in eine Textdatei geschrieben wird. Diese wird anschließend mit GnuPG verschlüsselt (Eine gute Anleitung zum Umgang mit GnuPG gibt es hier). Dabei wird hier der öffentliche Schlüssel des Adressaten verwendet. Mit dem Linux-Tool steghide wird die verschlüsselte Botschaft in das Bild eingebettet. Auffällig sind hier die unterschiedlichen SHA-Hashes der urlaub.jpg vor und nach dem Einbetten. Der Unterschied der Hashes macht deutlich, dass es eine Veränderung in der urlaub.jpg gegeben haben muss, nämlich die verschlüsselte Botschaft. Trotz des Eingriffes in die Datei urlaub.jpg scheint es keine offensichtliche Veränderung des Bildes gegeben haben. Nun wird die das Bild beispielsweise als Anhang an den Adressaten verschickt. Dieser kann nun, sofern er das Passwort kennt, die verschlüsselte Botschaft aus dem Bild extrahieren. Um die vertrauliche Botschaft zu lesen ist es jetzt noch erforderlich, das dieser den Textfile entschlüsselt. Aufgrund der Tatsache, das die Botschaft mit seinem öffentlichen Schlüssel verschlüsselt wurde, kann die Botschaft nur mit seinem privaten Schlüssel entschlüsselt werden. Nach erfolgreicher Eingabe seines Mantras (die Passphrase) hat dieser nun Zugriff auf die vertrauliche Nachricht.

   

Orginal BildBild mit steganographisch hinzugefügtem Text

   

Natürlich existieren auch für andere Betriebssystem-Plattformen Anwendungen, die einem das Verwenden von steganographischen Mitteln ermöglichen. So gibt es z.B. für Microsoft Windows stegano oder auch stegano.Net.

    

Das Beispiel hier konnte natürlich nur sehr oberflächlich das Thema Steganograhpie im Alltag aufzeigen, daher sei auf einen guten Artikel vom FBI aus dem Jahre 2004 hingewiesen, um sich in dem Themengebiet zu vertiefen. Auch auf forensics.nl ist ein umfangreiches Archiv zu diesem Thema vorhanden.

    

Den großen Vorteil, den ich an solch einer Hybridlösung sehe ist, das die verschlüsselte Nachricht kein Aufsehen erregt, da diese durch die Steganographie, hier im Beispiel in einem Bild, versteckt wird. Dies lässt einen möglichen Dritten erst gar nicht auf dem Gedanken kommen, das der Adressat eine Nachricht erhalten hat.

Somit gelangt unbemerkt eine Nachricht zum Adressaten und selbst wenn die Steganographie enttarnt wird, so bleibt immer noch die verschlüsselte Botschaft, welche entschlüsselt werden müsste.

    

Gerade das richtige Zusammenspiel beider Verfahren macht es für Dritte gerade zu unmöglich an die zu schützenden Informationen zu gelangen.

Daher sollte man, um ein höst Maß an Sicherheit zu Gewinnen, die Vorteile beider Verfahren nutzen.


Root-Exploit in Kernel 2.6.17-2.6.24.1

11 02 2008 Operating Systems

Der ein oder andere wird es schon auf heise.de oder auf milw0rm.com selbst gelesen haben. Es sind zwei lokale Root-Exploits aufgetaucht, die es einem eingeschränkten Benutzer ermöglichen nach Ausführung des Exploits sich mit Root-Privilegien zu bewegen.

Die Lücke soll wohl in der aktuellen Kernel-Version (Kernel 2.6.24.2) behoben sein:

    splice: fix user pointer access in get_iovec_page_array()

patch 712a30e63c8066ed84385b12edbfb804f49cbc44 in mainline.

Commit 8811930dc74a503415b35c4a79d14fb0b408a361 ("splice: missing user
pointer access verification") added the proper access_ok() calls to
copy_from_user_mmap_sem() which ensures we can copy the struct iovecs
from userspace to the kernel.

But we also must check whether we can access the actual memory region
pointed to by the struct iovec to fix the access checks properly.
Die Lücke beruht auf einen Fehler mit der erst in Kernel 2.6.17
eingeführten Funktion vmsplice. Mehr dazu ist dem Heise Security Eintrag zu entnehmen. Somit sind erst Kernel-Versionen größer 2.6.17 von dieser Lücke betroffen.

  

Wie gefährlich das Exploit ist, sieht man wenn man es selber ausprobiert hat. Es ist so einfach in der Handhabung, das es wahrscheinlich in nächster Zeit nur so von "Script-Kiddies" wimmeln wird, die sich selber profilieren wollen:



duddits@duddits ~/exploits/linux $ gcc -o expl kexp.c
kexp.c:12:22: Fehler: asm/page.h: Datei oder Verzeichnis nicht gefunden
kexp.c: In Funktion »main«:
kexp.c:193: Fehler: »PAGE_SIZE« nicht deklariert (erste Benutzung in dieser Funktion)
kexp.c:193: Fehler: (Jeder nicht deklarierte Bezeichner wird nur einmal aufgeführt
kexp.c:193: Fehler: für jede Funktion in der er auftritt.)

Beheben des Fehlers ;-) .....
duddits@duddits ~/exploits/linux $ gcc -o expl kexp.c
duddits@duddits ~/exploits/linux $
duddits@duddits ~/duddits@duddits ~/exploits/linux $ ./expl
-----------------------------------
Linux vmsplice Local Root Exploit
By qaaz
-----------------------------------
[+] mmap: 0x0 .. 0x1000
[+] page: 0x0
[+] page: 0x20
[+] mmap: 0x4000 .. 0x5000
[+] page: 0x4000
[+] page: 0x4020
[+] mmap: 0x1000 .. 0x2000
[+] page: 0x1000
[+] mmap: 0xb7d83000 .. 0xb7db5000
[+] root
duddits linux # id
uid=0(root) gid=0(root) Gruppen=10(wheel),18(audio),19(cdrom),85(usb),1000(duddits)
duddits linux # whoami
root

Dies hatte ich an meinem Desktop-PC ausprobiert, als ich noch Kernel-Version 2.6.22-gentoo-r5 laufen hatte. Erst nach einer Aktualisierung auf die neuste Kernel-Version funktionierte das Exploit nicht mehr:



duddits linux # echo  sys-kernel/gentoo-sources ~x86>>/etc/portage/package.keywords 
duddits linux # emerge -av sys-kernel/gentoo-sources

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild NS ] sys-kernel/gentoo-sources-2.6.24-r2 USE="-build -symlink" 45,708 kB

Total: 1 package (1 in new slot), Size of downloads: 45,708 kB

Would you like to merge these packages? [Yes/No] Yes
...
nach der Konfiguration und einem reboot
...
~/duddits@duddits ~/exploits/linux $ ./expl
-----------------------------------
Linux vmsplice Local Root Exploit
By qaaz
-----------------------------------
[+] mmap: 0x0 .. 0x1000
[+] page: 0x0
[+] page: 0x20
[+] mmap: 0x4000 .. 0x5000
[+] page: 0x4000
[+] page: 0x4020
[+] mmap: 0x1000 .. 0x2000
[+] page: 0x1000
[+] mmap: 0xb7d83000 .. 0xb7db5000
[-] vmsplice: Bad address

Daher sollte jeder, sofern er die Möglichkeit hat, auf die neuste Kernel-Version updaten/patchen. Falls einem diese Möglichkeit verwehrt bleibt, sollte man die Benutzer auf dem System so einschränken, das diese keine Möglichkeit zum Kompilieren haben. Weiterhin sollte auch das Laden des vorkompilierten Exploits nicht möglich sein, auch wenn das in der Praxis nur schwer zu realisieren ist.



Wer sind meine Nachbarn?

13 01 2008 Networking
Jeder der Nutzer von Shared Hosting Systemen, insbesondere dem Shared Web Hosting, ist (auch bekannt unter den Namen Name-Based Virtual Hosting oder auch Shared IP Hosting) hat sich bestimmt schon mal gefragt, welche Domänen die gleiche IP-Adresse bzw. den gleichen Server verwenden.




Um eine Antwort auf die Frage zu bekommen war meist die Kombination von verschiedenen Diensten erforderlich. So konnte man bei der Suchmaschine von Microsoft live.com, mittels folgender Abfrage zum Ergebnis kommen:



ip:IP-Adresse


Allerdings waren als Ergebnis nicht nur die Webseiten zu finden, die zu der gesuchten IP-Adresse gehörten. Andere Dienste wie cert.uni-stuttgart.de oder linkvendor.de lieferten zwar nur Relevante Informationen, jedoch sind die Ergebnisse alles andere als ernüchternd.








Wesentlich bessere Ergebnisse liefert dagegen myipneighbors.com, welches sich als ein wirklich interessantes Werkzeug enpuppte, um seine Shared Host Nachbarn zu determinieren.

 



Quo Vadis 2008

21 12 2007 Concerning this page

Und schon wieder hat sich unser Erdball einmal mehr um die Sonne gedreht. Viel ist in dieser Zeit geschehen.
Dennoch hatte man das Gefühl, ich hätte mich schon längst zum Winterschlaf zurück gezogen.
Dies ist zum Teil auch richtig, so ließ mir mein Studium doch weniger Zeit als erwartet, da ich mich mit dieser neuen Situation erst vertraut machen musste.
Doch das Gefühl ist trügerisch, so stehen noch einige Dokumentation in der Pipeline, wie auch Blog-Einträge, die bis dato noch
nicht veröffentlicht wurden.
In nächster Zeit werden all diese das Licht der Welt erblicken. Trotz alle dem habe ich mich entschieden, im kommenden Jahr mich primär auf das Schreiben von neuen Blog-Einträgen zu fokussieren.
Das hängt damit zumsammen, dass das Schreiben von neuen Dokumentationen am meisten Zeit veranschlagt.
Zu dem erhoffe ich mir, dem Monolog hier auf meinem Blog zu entfliehen und Anregungen zu spannenden Diskussionen
hier liefern zu können.

Auch wenn die Reichweite dieses Blogs nach wie vor immer noch eher überschaubar sein dürfte, so möchte ich mich bei allen bedanken, die beigetragen haben 2007 zu einem unterhaltsamen, spannenden und glücklichen Jahr zu machen.
In erster Linie bei den Leuten, die dieses Jahr die Community von network-and-security.de zu einem sehr angenehmen und
produktiven Umfeld gemacht haben. Und natürlich auch bei all den Lesern, die sich an den Seiten und Foren-Beiträgen erfreuen konnten.

Ich wünsche uns allen, dass wir ein frohes und erholsames Weihnachtsfest sowie auch nächstes Jahr ein mindestens genauso erfolgreiches Jahr wie dieses haben werden.

In diesem Sinne: Merry Christmas and a Happy New Year 2008



Deprecated: Assigning the return value of new by reference is deprecated in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 560

Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /www/htdocs/w0072ee3/blog/include/db/mysql.inc.php on line 270

Strict Standards: Non-static method serendipity_plugin_api::hook_event() should not be called statically in /www/htdocs/w0072ee3/blog/include/functions_config.inc.php on line 506

Strict Standards: Non-static method serendipity_plugin_api::get_event_plugins() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 1007

Strict Standards: Non-static method serendipity_plugin_api::enum_plugins() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 951

Strict Standards: Non-static method serendipity_plugin_api::load_plugin() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 958

Strict Standards: Non-static method serendipity_plugin_api::probePlugin() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 542

Strict Standards: Non-static method serendipity_plugin_api::getClassByInstanceID() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 492

Strict Standards: Non-static method serendipity_plugin_api::includePlugin() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 497

Strict Standards: Declaration of serendipity_event_s9ymarkup::event_hook() should be compatible with serendipity_event::event_hook($event, &$bag, &$eventData, $addData = NULL) in /www/htdocs/w0072ee3/blog/plugins/serendipity_event_s9ymarkup/serendipity_event_s9ymarkup.php on line 146

Strict Standards: Declaration of serendipity_event_s9ymarkup::uninstall() should be compatible with serendipity_plugin::uninstall(&$propbag) in /www/htdocs/w0072ee3/blog/plugins/serendipity_event_s9ymarkup/serendipity_event_s9ymarkup.php on line 146

Strict Standards: Non-static method serendipity_plugin_api::get_plugin_title() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 962

Strict Standards: Non-static method serendipity_plugin_api::load_plugin() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 958

Strict Standards: Non-static method serendipity_plugin_api::probePlugin() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 542

Strict Standards: Non-static method serendipity_plugin_api::getClassByInstanceID() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 492

Strict Standards: Non-static method serendipity_plugin_api::includePlugin() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 497

Strict Standards: Declaration of serendipity_event_emoticate::event_hook() should be compatible with serendipity_event::event_hook($event, &$bag, &$eventData, $addData = NULL) in /www/htdocs/w0072ee3/blog/plugins/serendipity_event_emoticate/serendipity_event_emoticate.php on line 204

Strict Standards: Declaration of serendipity_event_emoticate::uninstall() should be compatible with serendipity_plugin::uninstall(&$propbag) in /www/htdocs/w0072ee3/blog/plugins/serendipity_event_emoticate/serendipity_event_emoticate.php on line 204

Strict Standards: Non-static method serendipity_plugin_api::get_plugin_title() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 962

Strict Standards: Non-static method serendipity_plugin_api::load_plugin() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 958

Strict Standards: Non-static method serendipity_plugin_api::probePlugin() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 542

Strict Standards: Non-static method serendipity_plugin_api::getClassByInstanceID() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 492

Strict Standards: Non-static method serendipity_plugin_api::includePlugin() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 497

Strict Standards: Declaration of serendipity_event_nl2br::event_hook() should be compatible with serendipity_event::event_hook($event, &$bag, &$eventData, $addData = NULL) in /www/htdocs/w0072ee3/blog/plugins/serendipity_event_nl2br/serendipity_event_nl2br.php on line 162

Strict Standards: Declaration of serendipity_event_nl2br::uninstall() should be compatible with serendipity_plugin::uninstall(&$propbag) in /www/htdocs/w0072ee3/blog/plugins/serendipity_event_nl2br/serendipity_event_nl2br.php on line 162

Strict Standards: Non-static method serendipity_plugin_api::get_plugin_title() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 962

Strict Standards: Non-static method serendipity_plugin_api::load_plugin() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 958

Strict Standards: Non-static method serendipity_plugin_api::probePlugin() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 542

Strict Standards: Non-static method serendipity_plugin_api::getClassByInstanceID() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 492

Strict Standards: Non-static method serendipity_plugin_api::includePlugin() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 497

Strict Standards: Declaration of serendipity_event_browsercompatibility::event_hook() should be compatible with serendipity_event::event_hook($event, &$bag, &$eventData, $addData = NULL) in /www/htdocs/w0072ee3/blog/plugins/serendipity_event_browsercompatibility/serendipity_event_browsercompatibility.php on line 80

Strict Standards: Non-static method serendipity_plugin_api::get_plugin_title() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 962

Strict Standards: Non-static method serendipity_plugin_api::load_plugin() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 958

Strict Standards: Non-static method serendipity_plugin_api::probePlugin() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 542

Strict Standards: Non-static method serendipity_plugin_api::getClassByInstanceID() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 492

Strict Standards: Non-static method serendipity_plugin_api::includePlugin() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 497

Deprecated: Assigning the return value of new by reference is deprecated in /www/htdocs/w0072ee3/blog/plugins/serendipity_event_spamblock/serendipity_event_spamblock.php on line 469

Deprecated: Assigning the return value of new by reference is deprecated in /www/htdocs/w0072ee3/blog/plugins/serendipity_event_spamblock/serendipity_event_spamblock.php on line 494

Deprecated: Assigning the return value of new by reference is deprecated in /www/htdocs/w0072ee3/blog/plugins/serendipity_event_spamblock/serendipity_event_spamblock.php on line 538

Deprecated: Assigning the return value of new by reference is deprecated in /www/htdocs/w0072ee3/blog/plugins/serendipity_event_spamblock/serendipity_event_spamblock.php on line 902

Strict Standards: Non-static method serendipity_plugin_api::get_plugin_title() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 962

Strict Standards: Non-static method serendipity_plugin_api::load_plugin() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 958

Strict Standards: Non-static method serendipity_plugin_api::probePlugin() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 542

Strict Standards: Non-static method serendipity_plugin_api::getClassByInstanceID() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 492

Strict Standards: Non-static method serendipity_plugin_api::includePlugin() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 497

Strict Standards: Declaration of serendipity_event_statistics::event_hook() should be compatible with serendipity_event::event_hook($event, &$bag, &$eventData, $addData = NULL) in /www/htdocs/w0072ee3/blog/plugins/serendipity_event_statistics/serendipity_event_statistics.php on line 1015

Strict Standards: Declaration of serendipity_event_statistics::uninstall() should be compatible with serendipity_plugin::uninstall(&$propbag) in /www/htdocs/w0072ee3/blog/plugins/serendipity_event_statistics/serendipity_event_statistics.php on line 1015

Strict Standards: Non-static method serendipity_plugin_api::get_plugin_title() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 962

Strict Standards: Non-static method serendipity_plugin_api::load_plugin() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 958

Strict Standards: Non-static method serendipity_plugin_api::probePlugin() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 542

Strict Standards: Non-static method serendipity_plugin_api::getClassByInstanceID() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 492

Strict Standards: Non-static method serendipity_plugin_api::includePlugin() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 497

Deprecated: Assigning the return value of new by reference is deprecated in /www/htdocs/w0072ee3/blog/plugins/serendipity_event_spartacus/serendipity_event_spartacus.php on line 400

Deprecated: Assigning the return value of new by reference is deprecated in /www/htdocs/w0072ee3/blog/plugins/serendipity_event_spartacus/serendipity_event_spartacus.php on line 444

Strict Standards: Declaration of serendipity_event_spartacus::event_hook() should be compatible with serendipity_event::event_hook($event, &$bag, &$eventData, $addData = NULL) in /www/htdocs/w0072ee3/blog/plugins/serendipity_event_spartacus/serendipity_event_spartacus.php on line 1183

Strict Standards: Non-static method serendipity_plugin_api::get_plugin_title() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 962

Strict Standards: Non-static method serendipity_plugin_api::load_plugin() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 958

Strict Standards: Non-static method serendipity_plugin_api::probePlugin() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 542

Strict Standards: Non-static method serendipity_plugin_api::getClassByInstanceID() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 492

Strict Standards: Non-static method serendipity_plugin_api::includePlugin() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 497

Strict Standards: Non-static method serendipity_plugin_api::get_plugin_title() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 962

Strict Standards: Non-static method serendipity_plugin_api::load_plugin() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 958

Strict Standards: Non-static method serendipity_plugin_api::probePlugin() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 542

Strict Standards: Non-static method serendipity_plugin_api::getClassByInstanceID() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 492

Strict Standards: Non-static method serendipity_plugin_api::includePlugin() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 497

Strict Standards: Non-static method serendipity_plugin_api::get_plugin_title() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 962

Strict Standards: Non-static method serendipity_plugin_api::hook_event() should not be called statically in /www/htdocs/w0072ee3/blog/include/functions_config.inc.php on line 506

Strict Standards: Non-static method serendipity_plugin_api::get_event_plugins() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 1007

Strict Standards: Non-static method serendipity_plugin_api::hook_event() should not be called statically in /www/htdocs/w0072ee3/blog/serendipity_config.inc.php on line 399

Strict Standards: Non-static method serendipity_plugin_api::get_event_plugins() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 1007

Strict Standards: Non-static method serendipity_plugin_api::hook_event() should not be called statically in /www/htdocs/w0072ee3/blog/include/genpage.inc.php on line 31

Strict Standards: Non-static method serendipity_plugin_api::get_event_plugins() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 1007

Strict Standards: Non-static method serendipity_plugin_api::count_plugins() should not be called statically in /www/htdocs/w0072ee3/blog/include/genpage.inc.php on line 34

Strict Standards: Non-static method serendipity_plugin_api::count_plugins() should not be called statically in /www/htdocs/w0072ee3/blog/include/genpage.inc.php on line 35

Strict Standards: Non-static method serendipity_plugin_api::hook_event() should not be called statically in /www/htdocs/w0072ee3/blog/include/functions_entries.inc.php on line 355

Strict Standards: Non-static method serendipity_plugin_api::get_event_plugins() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 1007

Strict Standards: Non-static method serendipity_plugin_api::hook_event() should not be called statically in /www/htdocs/w0072ee3/blog/include/functions_entries.inc.php on line 464

Strict Standards: Non-static method serendipity_plugin_api::get_event_plugins() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 1007

Strict Standards: Non-static method serendipity_plugin_api::hook_event() should not be called statically in /www/htdocs/w0072ee3/blog/include/functions_entries.inc.php on line 943

Strict Standards: Non-static method serendipity_plugin_api::get_event_plugins() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 1007

Strict Standards: Non-static method serendipity_plugin_api::hook_event() should not be called statically in /www/htdocs/w0072ee3/blog/include/functions_entries.inc.php on line 1026

Strict Standards: Non-static method serendipity_plugin_api::get_event_plugins() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 1007

Strict Standards: Non-static method serendipity_plugin_api::hook_event() should not be called statically in /www/htdocs/w0072ee3/blog/include/functions_entries.inc.php on line 1094

Strict Standards: Non-static method serendipity_plugin_api::get_event_plugins() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 1007

Strict Standards: Non-static method serendipity_plugin_api::hook_event() should not be called statically in /www/htdocs/w0072ee3/blog/include/functions_entries.inc.php on line 1026

Strict Standards: Non-static method serendipity_plugin_api::get_event_plugins() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 1007

Strict Standards: Non-static method serendipity_plugin_api::hook_event() should not be called statically in /www/htdocs/w0072ee3/blog/include/functions_entries.inc.php on line 1094

Strict Standards: Non-static method serendipity_plugin_api::get_event_plugins() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 1007

Strict Standards: Non-static method serendipity_plugin_api::hook_event() should not be called statically in /www/htdocs/w0072ee3/blog/include/functions_entries.inc.php on line 1026

Strict Standards: Non-static method serendipity_plugin_api::get_event_plugins() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 1007

Strict Standards: Non-static method serendipity_plugin_api::hook_event() should not be called statically in /www/htdocs/w0072ee3/blog/include/functions_entries.inc.php on line 1094

Strict Standards: Non-static method serendipity_plugin_api::get_event_plugins() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 1007

Strict Standards: Non-static method serendipity_plugin_api::hook_event() should not be called statically in /www/htdocs/w0072ee3/blog/include/functions_entries.inc.php on line 1026

Strict Standards: Non-static method serendipity_plugin_api::get_event_plugins() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 1007

Strict Standards: Non-static method serendipity_plugin_api::hook_event() should not be called statically in /www/htdocs/w0072ee3/blog/include/functions_entries.inc.php on line 1094

Strict Standards: Non-static method serendipity_plugin_api::get_event_plugins() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 1007

Strict Standards: Only variables should be assigned by reference in /www/htdocs/w0072ee3/blog/include/functions_smarty.inc.php on line 73

Strict Standards: Only variables should be assigned by reference in /www/htdocs/w0072ee3/blog/include/functions_smarty.inc.php on line 73

Strict Standards: Non-static method serendipity_plugin_api::hook_event() should not be called statically in /www/htdocs/w0072ee3/blog/include/functions_smarty.inc.php on line 541

Strict Standards: Non-static method serendipity_plugin_api::get_event_plugins() should not be called statically in /www/htdocs/w0072ee3/blog/include/plugin_api.inc.php on line 1007