Grundlagen Sicherheit der Web- Programmierung mit dem Schwerpunkt PHP

Größe: px
Ab Seite anzeigen:

Download "Grundlagen Sicherheit der Web- Programmierung mit dem Schwerpunkt PHP"

Transkript

1 Grundlagen Sicherheit der Web- Programmierung mit dem Schwerpunkt PHP Version 0.1, Stand Für das Modul Internet-Programmierung der Beuth Hochschule für Technik Berlin im Online-Studiengang Medieninformatik (Bachelor) bei Herrn Prof. Dr. Gers. Von Tobias Ferdinand tobias-ferdinand.net

2 Inhaltsverzeichnis Vorwort... 3 SQL-Injection... 3 Remote File Inclusion... 6 Local File Inclusion... 7 Code Inclusion über File-Uploads... 8 Remote Command Execution... 9 Spam-Relay über die mail()-funktion Scripting durch Cross-Site-Scripting (XSS) Allgemeine Tipps zum Schreiben von sicherem PHP-Code Allgemeine Tipps bei Webanwendungen Über dieses Dokument... 14

3 Vorwort Das folgende Dokument zeigt häufig gemachte Fehler bei der Programmierung von interaktiven Webseiten auf, die zu Sicherheitslücken, entweder auf der Server- oder auf der Clientseite führen. Dabei wird speziell auf Fehler im Zusammenhang mit der Scriptsprache PHP eingegangen. Jedoch finden sich viele dieser Sicherheitslücken auch in anderen Sprachen, die für die Internetprogrammierung benutzt werden, wieder. Es sollen nur die Grundlagen vermittelt werden obligatorisch wird darauf hingewiesen, dass dieses Dokument natürlich keinen Anspruch auf Vollständigkeit erhebt. Des Weiteren soll dieses Dokument keine Anleitung zum Ausspähen von Nutzerdaten oder für den illegalen Zugriff auf Serversysteme darstellen. Es soll dem Webprogrammierer aufzeigen, welche Möglichkeiten ein Angreifer durch fehlerhaften Code erhält. Außerdem wird nicht auf Fehler im PHP-Code selbst eingegangen. Da der Webprogrammierer mitunter keinen Einfluss darauf hat, bleibt dazu nur zu sagen, dass stets darauf geachtet werden sollte, dass eine aktuelle Version von PHP verwendet wird. Wer einen kleinen Einblick in bisherige Fehler in PHP selbst gewinnen möchte, kann sich entsprechende Sicherheits-Meldungen unter ansehen. SQL-Injection Unter SQL-Injection versteht man das Einschleusen von SQL-Befehlen oder das Verändern von SQL-Statements über entsprechende Anwendungen, die auf eine SQL-Datenbank zugreifen. So können Anwendungen, die entsprechende SQL- Injection-Schwachstellen aufweisen, zum Beispiel dazu benutzt werden, um Daten anzuzeigen, die nicht für die Anzeige bestimmt sind, oder es können Daten sogar verändert oder gelöscht werden, die eigentlich nicht von dem Anwender verändert oder gelöscht werden sollen/dürfen. Möglich gemacht werden die SQL-Injections dadurch, dass Benutzereingaben ungefiltert an einen SQL-Query übergeben werden. Beispiele: 1. Beispiel Durch ein SQL-Statement soll geprüft werden, ob ein Benutzername mit dem angegebenen Passwort in der Datenbank existiert. Existiert ein entsprechender Benutzer, ist er eingeloggt und er erhält Zugriff auf entsprechende (sensible) Daten. $str_sql = "SELECT `id` FROM `user` WHERE `user` = '".$_POST['user']."' AND `password` = '".md5($_post['password'])."'"; $_POST['user'] ist in dem Fall der Benutzername, der ungefiltert in den SQL- String übergeben wird. Enthält der String nur Daten, die man in einem Benutzernamen erwartet, als etwa Groß- und Kleinbuchstaben, Zahlen und ggf. noch Binde- oder Unterstriche, funktioniert der Login wie erwartet. Es kommt nicht zu einem Fehler.

4 Der entsprechende SQL-String für den Benutzernamen Hans mit dem Passwort test sieht dann so aus: SELECT `id` FROM `user` WHERE `user` = 'Hans' AND `password` = '098f6bcd4621d373cade4e832627b4f6' Jedoch kommt es bereits zu Fehlern, wenn ein Benutzer ein Hochkomma in seinem Benutzernamen benutzt, oder aus versehen eines angibt. Gibt er statt Hans den Benutzernamen Hans an, sieht das SQL-Statement wie folgt aus: SELECT `id` FROM `user` WHERE `user` = 'Hans'' AND `password` = '098f6bcd4621d373cade4e832627b4f6' Wird die SQL-Fehlermeldung nicht über den Browser ausgegeben, merkt der Benutzer davon zwar nichts das SQL-Statement ist fehlerhaft wodurch kein entsprechender Benutzer gefunden wurde. Wird jedoch eine entsprechende Fehlermeldung ausgegeben, oder ist jemand gezielt auf der Suche nach entsprechenden Lücken, könnte er auf die Idee kommen, etwa als Benutzername auch Hans' OR '1'='1 einzugeben. Das Statement sieht dann so aus: SELECT `id` FROM `user` WHERE `user` = 'Hans' OR '1'='1' AND `password` = '098f6bcd4621d373cade4e832627b4f6' In diesem Fall ist das Passwort und auch der Benutzername egal sofern ein Datensatz in der Datenbank vorhanden ist, wird auf jeden Fall ein Benutzer gefunden, denn 1=1 ist immer wahr. Abhilfe: Damit SQL-Injections verhindert werden, muss die Benutzereingabe escaped werden. Das heißt, dass entsprechende Zeichen, die in die Struktur des SQL-Statements eingreifen, durch andere Zeichen ungültig gemacht werden. Bei PHP/Mysql empfiehlt sich der Einsatz von mysql_escape_string() bzw. mysql_real_escape_string(). Letzterem kann eine Verbindungskennung mitgegeben werden, sodass der Zeichensatz einer Verbindung mit berücksichtigt wird. Diese Funktion escaped die Zeichen \x00, \n, \r, \, ', " und \x1a. Sie stellt den entsprechenden Zeichen einen Backslash \ voran, wodurch diese Zeichen durch SQL wie normale Zeichen interpretiert werden. Das SQL-Statement aus dem letzten Beispiel würde dann folgendermaßen aussehen: SELECT `id` FROM `user` WHERE `user` = 'Hans\' OR \'1\'=\'1' AND `password` = '098f6bcd4621d373cade4e832627b4f6' Und der Benutzer Hans\' OR \'1\'=\'1 wird sicherlich nicht in der Datenbank gefunden. Und wenn es den Benutzer doch geben sollte, stellt es trotzdem kein Sicherheitsrisiko mehr dar. Anmerkung: Sicherlich taucht jetzt die Frage auf, ob das Passwort nicht auch ungeprüft in den SQL-String übergeben wurde. Ein klares Jein wäre hier die Antwort. Das Passwort ist in unserem Fall als md5-string in der Datenbank gespeichert durch die Hashfunktion kann das Passwort bei unbefugten Zurgiffen nicht so einfach ausgelesen und z.b. einer Adresse zugeordnet werden. Da in dem SQL-Statement das vom Benutzer eingegebene Passwort zuerst durch PHP in den md5-wert umgewandelt wird, dürften sich in dem String

5 keine für mysql relevanten Zeichen befinden, denn der md5-hash besteht nur aus den Zahlen 0-9 und a-f (Hexadezimalzahl). Wird jedoch nicht die md5-funktion von PHP, sondern von mysql benutzt, muss das Passwort vorher escaped werden. Es macht jedoch auch nichts aus, einen md5-hash nochmals mit mysql_real_escape_string() zu escapen. Hier gilt die Regel, lieber einen String unnötig escapen, als einen String gar nicht zu escapen. Der Performance-Verlust sollte sich in Grenzen halten. 2. Beispiel Bei dem zweiten Beispiel nehmen wir an, dass die Anwendung für jeden Benutzer weitere Datensätze in einer anderen Tabelle bereithält. Das können zum Beispiel Adressen sein, die er sich angelegt hat und die er wieder anzeigen lassen kann. Das SQL-Statement dazu könnte wie folgt aussehen: SELECT * FROM `address` WHERE `address`.`id` = '.$_GET[ id ].' AND `address`.`user_id` = '.$_SESSION[ user_id ] $_GET[ id ] ist wieder die Benutzereingabe der ID, die angefordert wird. Für unser Beispiel natürlich wieder unescaped, was zu fatalen Folgen führen kann. In unserem Fall wird als ID natürlich eine Zahl erwartet aufgrund unseres Datenbankdesigns können wir sogar konkret sagen, dass ein Integer erwartet wird. Der ungebetene Gast könnte aber wiederum auf die Idee kommen, folgendes zu übergeben: 4 UNION (SELECT,, password FROM user) Das vollständige SQL-Statement sieht dann wie folgt aus: SELECT * FROM `address` WHERE `address`.`id` = 4 UNION (SELECT,, password FROM user) AND `address`.`user_id` = '.$_SESSION[ user_id ] Dadurch fragt das SQL-Statement nicht nur den Adressdatensatz ab, sondern auch ein Passwort aus der user-datenbank. Natürlich kann das Union-Statement entsprechend erweitert werden, damit das Passwort eines bestimmten Benutzers angezeigt wird. Übrigens würde sich an dieser Stelle positiv bemerkbar machen, dass wir die Passwörter nur als md5-hash in der Datenbank gespeichert haben, und nicht im Klartext. Dennoch könnte ein Passwort, dass einfach per md5-hash gespeichert wird, über eine Bruteforce-Attacke ausgelesen werden. Noch sicherer ist das Passwort, wenn es mit Hilfe eines Salts gehasht wird. Achtung: In diesem Beispiel wird kein String an das SQL-Statement übergeben, sondern ein Integer. Entsprechend befinden sich um den Wert der Variablen auch keine einfachen Anführungszeichen. Es würde also nichts nutzen, die

6 Benutzereingabe zu escapen. Die Escape-Funktion escaped auch keine SQL- Befehle, sondern nur die oben genannten Zeichen. Daher muss in diesem Fall dafür gesorgt werden, dass die Benutzereingabe eines Integers auch wirklich ein Integer ist. Eine Lösung wäre, die Benutzereingabe nach einem Integer zu casten: $var = (int) $_GET[ id ]; Weitere Möglichkeiten wären, die Benutzereingabe vor Übergabe an das SQL- Statement mit regulären Ausdrücken zu prüfen, Funktionen wie intval() zu benutzen oder der Einsatz der PHP-Erweiterung Filter. Weitere Möglichkeiten : Bei den beiden Beispielen handelte es sich um SELECT-Statements. Diese werden dazu benutzt, Daten aus der Datenbank auszulesen. Aber natürlich kommt es auch vor, dass INSERT-/UPDATE oder gar DELETE-Statements mit Usereingaben kombiniert werden. Etwa, wenn es dem Benutzer erlaubt werden soll, seine Persönlichen Daten auf einer Website zu ändern, oder wenn er einen angelegten Datensatz löschen kann. Ist ein solches UPDATE- oder DELETE-Statement für SQL-Injection anfällig, kann die Gefahr bestehen, dass der Benutzer auch Daten verändern oder löschen kann, auf die er eigentlich keinen Zugriff hat. Bei einem DELETE * FROM addresses WHERE id=$_get[ id ] AND user_id=$_cookie[ user_id ] wäre es dem Benutzer beispielsweise möglich, auch gleich die komplette addresses-datenbank zu leeren. Remote File Inclusion Unter Remote File Inclusion versteht man das nachladen und ausführen von (PHP-) Code von einem externen Server. Es sei dazu gesagt, dass bei der Default-Konfiguration eines aktuellen PHP-Packages die Möglichkeit der Remote-File-Inclusion nicht mehr gegeben ist. In früheren Versionen gab es jedoch über die Konfigurationdatei php.ini keine Einstellung, um das nachladen und Ausführen von externem Code auszuschalten und somit musste damals zwingend im geschriebenen Code dafür gesorgt werden, dass eine entsprechende Lücke nicht besteht. Jedoch kann es durch eine fehlerhafte Serverkonfiguration, oder um Abwärtskompatibilität zu gewährleisten, durchaus vorkommen, dass die php.ini- Einstellungsvariable allow_url_include auf on steht. Dann ist es durchaus sinnvoll, wenn der Code keine Anfälligkeiten für remote-file- Inclusion enthält. Beispiel: Eine Webseite ist so aufgebaut, dass über die URL die entsprechende Seite übergeben wird. Z.B. Der dazugehörige Code könnte so aussehen: <?php include 'header.inc.php'; include $_GET['page'].'.inc.php'; include footer.inc.php';?>

7 Nun könnte der Angreifer auf die Idee kommen, die übergebene Page-Variable zu verändern, z.b. in page= Die Datei bad_script.txt kann nun PHP-Code enthalten, der von dem anderen Webserver als Text ausgegeben wird. Der eigene PHP-Code included nun das externe Script und führt es auf dem eigenen Server aus. Der externe Code könnte nun alles Mögliche enthalten. Um auszuspähen, welche Servereinstellungen auf dem Server sind, bietet sich z.b. die Funktion phpinfo() an. Aber natürlich können auch Dateien auf dem Server ausgelesen, gelöscht oder erstellt werden. Es kann ein Socket geöffnet werden, der weitere Kommunikation zulässt oder es kann Software nachgeladen werden, die im nächsten Schritt die Installation eines Rootkits ermöglicht. Über die mail()-funktion kann beliebig Spam über den Server verschickt werden. Besonders zu beachten ist das Fragezeichen am Ende der übergebenen page-seite. Dadurch wird alles, was in der include-funktion angehangen wird (in diesem Fall.inc.php) auf dem externen Server als GET-String angehangen. Dadurch muss der Angreifer nicht darauf achten, wie er sein Script auf seinem Server nennt. Lösungen: Als Lösung ist es zum Beispiel möglich, http, https, ftp, Sonderzeichen und/oder Slashes aus der übergebenen Variable zu filtern. Wer auf Nummer sicher gehen will, schreibt den Code aber gleich so, dass es gar nicht vorkommen kann, dass Dateien included werden können, die nicht dafür vorgesehen sind, zum Beispiel durch den Abgleich eines Arrays mit erlaubten Werten oder einem switch/case-konstrukt. Anfällige Funktionen: Wenn die Voraussetzungen erfüllt sind, und die entsprechende php.ini-einstellung gesetzt ist, ermöglichen die Befehle include, include_once, require und require_once die Remote-File-Inclusion. Aber auch ohne diese Einstellung kann es einem Programmierer passieren, eine solche Lücke (aus Unwissenheit?) einzubauen. Zum Beispiel über eval(get_file_contents($_get[ page ])); Das sollte natürlich ebenso vermieden werden. Local File Inclusion Nicht viel harmloser ist die Local File Inclusion, auch wenn der Angreifer damit nicht unmittelbar beliebigen Code ausführen kann. Bei der Local File Inclusion geht es wieder um die gleichen Funktionen wie bei der Remote File Inclusion, nämlich include, include_once, require und require_once. Damit ist es nicht möglich, Code von fremden Server nachzuladen, aber eben Code, der sich bereits auf dem Server befindet. Beispiel: Wir erweitern das Beispiel von eben, sodass es auf den ersten Blick sicher aussieht:

8 <?php include '_include/header.inc.php'; include '_include/'.$_get['page'].'.inc.php'; include '_include/footer.inc.php';?> Wieder kann man über die URL die page-variable beliebig füllen und es macht den Anschein, als ob eine Datei, die included werden soll, sich in dem Ordner _include/ befinden muss und auf.inc.php enden muss. Es macht aber eben nur den Anschein. Denn über den Einsatz von../ in der Variablen kann man beliebig weit nach oben in der Ordnerhierarchie navigieren. Und über das Nullbyte (Url-Encoded %00) wird der hintere Teil des Strings quasi abgeschnitten. Liegt unser Script unter /home/pages/ kann somit über die Page-Variable page=../../etc/passwd%00 einfach die passwd-datei eines Linuxsystems angezeigt werden. Befindet sich auf dem Server bösartiger Code, der zum Beispiel über ein Fileupload hochgeladen wurde (siehe unten), kann der Code entsprechend ausgeführt werden. Achtung: Zusätzlich zu den oben genannten Funktionen können auch weitere Funktionen ungewollt Inhalte von Dateien auf dem Server preisgeben. So zum Beispiel readfile() und file_get_contents(). Diese können auch dazu benutzt werden, z.b. /etc/passwd auszugeben. Im Zusammenhang mit eval() kann der Code wiederum ausgeführt werden. Lösung: Wie bei der Remote-File-Inclusion könnte die Usereingabe auf Sonderzeichen geprüft werden. Aber auch hier ist es natürlich am sichersten nur entsprechende Usereingaben zuzulassen, die entsprechend definiert wurden (switch/case). Code Inclusion über File-Uploads Besonders vorsichtig sollte man sein, wenn man Benutzern erlaubt, Dateien auf einen Server zu laden. Zumeist wird diese Funktionalität benutzt, um Bilder oder Dokumente auf einen Server laden zu lassen. So einfach ein Upload in PHP realisiert werden kann, so gefährlich kann diese Funktionalität werden. Man sollte sehr vorsichtig sein, wenn man die hochgeladenen Bilder an einen über den Webserver zugängliches Verzeichnis verschiebt. Dann ist mindestens auf die Dateiendung zu achten. Gelingt es einem Benutzer, eine Datei mit der Dateiendung.php auf den Server zu laden, wird diese Datei natürlich auch wie eine PHP-Datei behandelt. Lädt ein Benutzer beispielsweise die Datei script.php, die PHP-Code enthält, auf den Server, und diese wird dann unter abgelegt, kann der Benutzer die Datei natürlich aufrufen und ausführen. Der Benutzer kann dann beliebigen PHP-Code in dem Script zur Ausführung auf Webserver einschleusen.

9 Natürlich gilt das für sämtliche Dateiendungen, die evtl. durch den Webserver interpretiert werden könnten, darunter auch andere serverseitige Scriptsprache (.pl,.jsp,.php5,.php4 etc.). Aber auch wenn die Datei nicht die Endung.php hat oder in einem nicht erreichbaren Verzeichnis gespeichert wird, könnte im Zusammenspiel mit der Local File Inclusion (siehe Oben) Code ausgeführt werden. Denn dem PHP-Befehl include ist egal, welche Dateiendung eine Datei hat. Es wird die Datei eingelesen und interpretiert, auch wenn sie bild.jpg heißen sollte. Auf der sicheren Seite ist man also, wenn man dafür sorgt, dass die Dateiendung nicht beliebig sein kann und der Inhalt der hochgeladenen Datei auf Korrektheit geprüft wird. PHP stellt beispielsweise Funktionen bereit, die erkennen, ob eine Datei Bilddaten enthält. Wird ein Bild erwartet, aber die Funktion erkennt keine Bilddaten, sollte die Datei direkt nach dem Upload wieder gelöscht werden. Remote Command Execution PHP stellt einige Funktionen bereit, um Befehle direkt im Linuxsystem auszuführen. Mit system() und exec(), um nur zwei zu nennen, ist es möglich, jeden beliebigen Unix-Befehl, oder jedes Programm (sofern Ausführungsrechte vorhanden sind), das sich auf dem Server befindet, auszuführen. Gerne werden solche Funktionen dazu benutzt, um einem Benutzer zum Beispiel einen traceroute zu einem bestimmten Host anzuzeigen, oder per curl Dateien herunterzuladen. Aber natürlich sollten auch hier keine ungeprüften Benutzereingaben an die Shell weitergereicht werden. Beispiel: Über die URL showtrace.php?host=host.xy Soll dem Benutzer die Route zu einem Server angezeigt werden. <?php system('traceroute '.$_GET['host']);?> Auch hier kann der Angreifer wieder weitaus mehr machen, als dem Serverbetreiber lieb ist. Gibt er zum Beispiel host= an, wird ihm nicht nur die Route zum Server angezeigt, sondern auch gleich die Datei /etc/passwd des Servers auf dem das Script läuft. Auch hier sind die Möglichkeiten fast grenzenlos. So kann auch wieder Code nachgeladen und ausgeführt werden. Einen Rootkit auf den Server zu laden und auszuführen oder einen Socket zu öffnen stellt damit kein Problem mehr dar. Lösung: An die Shell übergebene Befehle sollten mit escapeshellarg() maskiert werden. Das verhindert, dass weitere Befehle übergeben werden können.

10 Sollte es einmal vorkommen, dass ein Befehl über eine Benutzereingabe ausgewählt werden soll, hält PHP außerdem die Funktion escapeshellcmd() bereit. Jedoch sollte man sich gut überlegen, ob man einem Benutzer überhaupt die Möglichkeit gibt, einen Befehl selbst auszuwählen. Spam-Relay über die mail()-funktion Viele Webseitenbetreiber stellen den Websurfern ein Kontaktformular zur Verfügung. Gefühlte 99% aller PHP-Anfänger wollen als erstes ein Kontaktformular mit der PHP-Funktion mail() realisieren. Auch das ist wieder sehr einfach. Über <?php mail( $_GET[ betreff ], $_GET[ nachricht ]);?> hat man bereits den serverseitigen Teil der nötig ist um die Felder eines Kontaktformular per zu verschicken. Die die bei dem Webseitenbetreiber ankommt hat als Absenderadresse jedoch die Standard- adresse des Webservers. Um dem Benutzer zu ermöglichen seine eigene Adresse anzugeben, bietet sich der 4. Parameter der Funktion an. Allerdings übergibt man darüber nicht die Absenderadresse, sondern weitere Mail- Header, die in der enthalten sein sollen. Die Gefahr besteht nun darin, dass man auf die Idee kommen könnte, folgenden Header zu übergeben: $header = From:.$_GET[ from_ ]; Denn mit der Übergabe eines ungeprüften Strings in die Additional-Headers erlaubt man dem Benutzer auch beliebige weitere Header anzugeben. Durch Eingabe von mail@adresse.xy\r\ncc: neueadresse@adresse.xy Kann der Benutzer erreichen, dass seine nicht nur an den in der Funktion angegebenen Empfänger versendet wird, sondern auch noch ein eine dritte Person. Natürlich könnte er nun quasi beliebig viele weitere Empfänger angeben und diesen Spam über den Webserver zusenden. Grenzen sind quasi nur über die Anzahl möglicher Zeichen im GET-String gesetzt. Lösung: Die perfekte Lösung wäre, eine adresse auf Validität oder gar auf Gültigkeit/Existenz zu prüfen. Das ist, auch mit regulären Ausdrücken nicht trivial, letzteres gar unmöglich. Hier sollte man sich nach entsprechenden Funktionen umsehen, die diese Aufgabe übernehmen. Am wichtigsten ist jedoch, dass in der Absenderadresse keine Zeilenumbrüche (\r und \n) übergeben werden. Am sichersten ist, diese z.b. über str_replace zu ersetzen. Auch bei extern übernommenem Code sollte überprüft werden, ob diese Steuerzeichen ersetzt werden. Achtung: Auch bei den sonstigen übergebenen Variablen sollte man sich nicht zu sicher sein. Zwar sollten die Werte, die über $to und $subject übergeben werden, von PHP geprüft werden, in den PHP Versionen und (vgl. ist es jedoch schon vorgekommen, dass durch einen fehlerhaften regulären Ausdruck im PHP-Code die genannten Steuerzeichen nicht rausgefiltert wurden. Es kann also nie schaden, Zeichen die Schaden anrichten könnten, lieber einmal zu viel, als einmal zu wenig zu entfernen.

11 Scripting durch Cross-Site-Scripting (XSS) Eine häufige Fehlerquelle auf Webseiten ist das sogenannte Cross-Site-Scripting, kurz XSS. Hierbei geht es jedoch, im Gegensatz zu den bisher angesprochenen Schwachstellen nicht darum, Code oder Dateien auf dem Server auszuführen, oder Spam über den Webserver zu versenden. Vielmehr handelt es sich um eine Schwachstelle, bei dem (Java)-Script-Code auf dem Client ausgeführt wird. Über XSS-Lücken sorgt ein Angreifer dafür, dass eingeschleuster JavaScript-Code im Webbrowser einer dritten Person ausgeführt wird. Dadurch wird das Sicherheitskonzept der Browser im Zusammenhang mit JavaScript umgangen. Dieses Konzept ist so angelegt, dass JavaScript-Funktionen, die über die Domain auch nur auf Daten zugreifen dürfen, die im Zusammenhang mit der Domain bestehen. Zum Beispiel darf ein Cookie, das über gesetzt wurde, auch nur über diese Domain abgerufen werden. Die Webseite hat keinen Zugriff auf die Cookies, die über gesetzt wurden. Auch Ajax-Requests dürfen nur an die gleiche Domain gesendet werden. Gelingt es nun jedoch einem Angreifer, Javascript-Code auf der Domain einzuschleusen, hat er mit Hilfe seines eingeschleusten Codes unter Umständen auch die Möglichkeit, auf diese Cookies zuzugreifen. Gefahren durch XSS bestehen vornehmlich auf Webseiten, bei denen Cookies für eine Benutzerauthentifizierung abgelegt werden (auch die Session-ID einer Session wird als Cookie bei dem Client abgelegt) oder durch weitere Aufrufe z.b. Nachrichten auf Social Networks versendet werden können. Aber auch Webseiten, auf denen sensible Daten eingegeben werden könnten (dazu gehört auch eine Adresse und ein Passwort bei einer Anmeldung auf einer Webseite) und für den Benutzer vertrauenswürdig aussehen, könnten Gefahren darstellen. Beispiel: Als Beispiel stellen wir uns ein Social Network vor, bei dem man sich anmelden kann. Ist auf der Anmeldeseite die Möglichkeit von XSS gegeben, zum Beispiel durch die ungefilterte Ausgabe einer GET-Variablen, z.b. echo GET[ name ], kann Code eingeschleust werden. Eine Person, die Lücke ausnutzen möchte, setzt nun z.b. folgenden Link auf seine Webseite: <a href= src= ></script> Das Script, das vom Server des Angreifers geladen wird, läuft nun im Kontext der Domain ab. Damit kann in dem script.js nun auf die Eingaben, z.b. der adresse und des Passworts auf der Anmeldeseite zugregriffen werden. Damit der Angreifer diese Daten nun erhält, fügt das Script ein unsichtbares Bild in die Webseite anmeldung.php ein, z.b.: document.write( <img src= +document.getelementbyid( username )+ &password= +document.getelementbyid( password )+ />

12 Damit kann der Angreifer, z.b. über die Logfiles seines Server entsprechende - /Passwortkombinationen sehen. Da die Gefahr solcher Lücken besteht, und der Benutzer davon quasi nichts mitbekommt und sich darauf verlassen muss, dass der Webseitenbetreiber solche Lücken ausschließt, sei noch mal darauf hingewiesen, dass man für verschiedene Webseiten, und insbesondere die -Adresse verschiedene Passwörter wählen sollte! Lösung: Einer der häufigsten Fehler ist es, zu denken, dass Javascript-Code stets über <script>-tags eingeschleust wird. Unerfahrene Internetprogrammierer benutzen Konstrukte wie echo strip_tags($_get[ name ]); und gehen davon aus, dass die Gefahr gebannt ist, da keine eingegebenen HTML-Tags mehr ausgegeben werden. Allerdings besteht innerhalb eines Formularfelds dann immer noch eine Lücke. Durch ein Feld: <input type= text name= name value= <?php echo strip_tags($_get[ name ]);?> /> kann immer noch folgendermaßen Code eingeschleust werden:?name= onclick= SCRIPT-Code Zwar handelt es sich nur um ein Onclick-Event, aber es ist doch recht wahrscheinlich, dass ein Benutzer in das Name-Feld eines Anmeldeformulars klickt und somit der eingeschleuste Code ausgeführt wird. Auf der sicheren Seite ist man, wenn man übergebene Daten einfach so darstellt, wie sie übergeben werden, also Sonderzeichen in HTML-Zeichen konvertiert. In PHP bietet sich dafür die Funktion htmlentities($_get[ name ], ENT_QUOTES) an. Somit werden sämtliche Sonderzeichen in HTML dargestellt. Die als zweiter Parameter übergebene Konstante ENT_QUOTES sorgt dafür, dass auch einfache Anführungszeichen (Single-Quotes) in HTML kodiert werden. Beispielsweise wird aus einem Anführungszeichen dann das HTML-Zeichen " im Quelltext der Seite. Es wird nun nicht mehr als Teil eines Formularfeldes angesehen, sondern nur noch als Anführungszeichen auf dem Bildschirm angezeigt. Achtung: In älteren PHP-Versionen gibt es eine XSS-Lücke in der PHP-Funktion phpinfo();. Diese Funktion gibt PHP-Spezifische Einstellungen aus und wird oft mal auf einem Server abgelegt, um Einstellungen anzusehen. Bei Recherchen über XSS-Lücken im Internet habe ich beispielsweise Server gefunden, bei denen solch eine alte PHP-Version benutzt wurde und eine info.php mit der Ausgabe der phpinfo()-funktion existierte. Auf der gleichen Domain war auch ein Webmailsystem installiert. Natürlich stehen die beiden Sachen nicht in direktem Zusammenhang, aber nun ist es zum Beispiel denkbar, dass eine , die über das Webinterface abgerufen wird, wiederum auf diese info.php-datei verweisen könnte und z.b. das Cookie der PHP-Session an einen Angreifer sendet. Somit hätte der Angreifer Zugriff auf die Mail-Adresse des Opfers. Es ist also darauf zu achten, dass keine Datei mit einer XSS-Lücke auf einer Domain existiert, damit derartige Angriffsszenarien ausgeschlossen werden können.

13 Allgemeine Tipps zum Schreiben von sicherem PHP- Code Um sicheren PHP-Code zu schreiben, sollte man einige Dinge beachten. Sicherlich kann man nie ausschließen, dass man nicht doch einmal eine Kleinigkeit vergisst, aber folgende Tipps tragen zumindest dazu bei, die Anzahl der Schwachstellen zu minimieren. 1. error_reporting auf E_ALL setzen und display_errors auf einem Entwicklungsserver einschalten. Damit werden alle Fehler, auch Notices, angezeigt. Das hilft zum Beispiel, Variablen zu erkennen, die ausgegeben werden, obwohl sie nicht (im Code) gesetzt wurden. Auf einem Live-Server sollten die Fehler allerdings nicht ausgegeben werden, da sie, sofern sich Fehler in dem Code befinden, einem Angreifer Aufschluss über diese Fehler geben könnten. 2. Nicht darauf verlassen, dass die Servereinstellungen schon sicher sein werden. Natürlich könnte man davon ausgehen, dass register_globals abgeschaltet sind, oder ein open_basedir gesetzt ist. Wer sicheren PHP-Code schreibt, muss aber diese Einstellung nicht fürchten. 3. Trotzdem kann es natürlich nicht schaden, wenn man auch die php.ini- Einstellungen kontrolliert und diese sinnvoll einstellt. 4. Sicherheits-Addons wie mod_security oder suhosin, die quasi zwischen den Apache und das PHP-Modul geschaltet werden können eine sinnvolle Ergänzung sein, um noch ein Stück mehr an Sicherheit zu gewinnen man sollte sich aber nicht darauf verlassen, dass diese Tools mit 1005iger Sicherheit dafür sorgen, dass eine Webanwendung sicher wird. 5. Durch externe Sicherheitstesttools, wie z.b. den Chorizzo-Scanner kann die eigene Webanwendung auf mögliche Sicherheitslücken getestet werden. Aber natürlich findet solch ein Blackboxtest nicht alle Sicherheitslücken. Allgemeine Tipps bei Webanwendungen Auch folgende Tipps sollten stets beachtet werden. Sie sind auch häufige Fehler, die zu erfolgreichen Angriffen geführt haben. 1. Keine Backups auf dem öffentlich zugänglichen Bereich eines Webserver ablegen! 2. Keine SQL-Dumps im öffentlich zugänglichen Bereich des Webservers ablegen 3. Keine Fehlerausgabe auf dem Live-System 4. Keine unnötigen Dateien mit unnötigen Funktionsaufrufen auf dem Livesystem herumliegen lassen 5. Auch Fremdsoftware (und sei es nur ein Wordpress-Template) sollte auf mögliche Sicherheitslücken geprüft werden, insbesondere wenn es auf dem gleichen Webserver oder auf der gleichen Domain, wie ein Webprojekt mit sensiblen Daten/Logins liegt. Im Zweifel sollte diese Fremdsoftware separat gehostet werden.

14 Über dieses Dokument Dieses Dokument kann kostenlos weitergegeben und vervielfältigt werden. Die Informationen über den Autor und die Quelle des Originaldokuments darf dabei nicht entfernt werden. Sonstige Änderungen am Dokument sind gut sichtbar kenntlich zu machen. Anmerkungen, Verbesserungsvorschläge und Fragen können gerne an gerichtet werden. Die neueste Version dieses Dokuments befindet sich unter

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man

Mehr

FTP-Server einrichten mit automatischem Datenupload für SolarView@Fritzbox

FTP-Server einrichten mit automatischem Datenupload für SolarView@Fritzbox FTP-Server einrichten mit automatischem Datenupload für SolarView@Fritzbox Bitte beachten: Der im folgenden beschriebene Provider "www.cwcity.de" dient lediglich als Beispiel. Cwcity.de blendet recht häufig

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

Sicherheit in Webanwendungen CrossSite, Session und SQL

Sicherheit in Webanwendungen CrossSite, Session und SQL Sicherheit in Webanwendungen CrossSite, Session und SQL Angriffstechniken und Abwehrmaßnahmen Mario Klump Die Cross-Site -Familie Die Cross-Site-Arten Cross-Site-Scripting (CSS/XSS) Cross-Site-Request-Forgery

Mehr

Zugriff auf Daten der Wago 750-841 über eine Webseite

Zugriff auf Daten der Wago 750-841 über eine Webseite Zugriff auf Daten der Wago 750-841 über eine Webseite Inhaltsverzeichnis Einleitung... 3 Auslesen von Variablen... 4 Programm auf der SPS... 4 XML-Datei auf der SPS... 4 PHP-Script zum Auslesen der XML-Datei...

Mehr

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,

Mehr

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage .htaccess HOWTO zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage Stand: 21.06.2015 Inhaltsverzeichnis 1. Vorwort...3 2. Verwendung...4 2.1 Allgemeines...4 2.1 Das Aussehen der.htaccess

Mehr

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. ewon - Technical Note Nr. 003 Version 1.2 Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. Übersicht 1. Thema 2. Benötigte Komponenten 3. Downloaden der Seiten und aufspielen auf

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

Kleines Handbuch zur Fotogalerie der Pixel AG

Kleines Handbuch zur Fotogalerie der Pixel AG 1 1. Anmelden an der Galerie Um mit der Galerie arbeiten zu können muss man sich zuerst anmelden. Aufrufen der Galerie entweder über die Homepage (www.pixel-ag-bottwartal.de) oder über den direkten Link

Mehr

Einfügen von Bildern innerhalb eines Beitrages

Einfügen von Bildern innerhalb eines Beitrages Version 1.2 Einfügen von Bildern innerhalb eines Beitrages Um eigene Bilder ins Forum einzufügen, gibt es zwei Möglichkeiten. 1.) Ein Bild vom eigenem PC wird auf den Webspace von Baue-die-Bismarck.de

Mehr

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach - Projekt Personalverwaltung Erstellt von Inhaltsverzeichnis 1Planung...3 1.1Datenbankstruktur...3 1.2Klassenkonzept...4 2Realisierung...5 2.1Verwendete Techniken...5 2.2Vorgehensweise...5 2.3Probleme...6

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

Aufklappelemente anlegen

Aufklappelemente anlegen Aufklappelemente anlegen Dieses Dokument beschreibt die grundsätzliche Erstellung der Aufklappelemente in der mittleren und rechten Spalte. Login Melden Sie sich an der jeweiligen Website an, in dem Sie

Mehr

Adminer: Installationsanleitung

Adminer: Installationsanleitung Adminer: Installationsanleitung phpmyadmin ist bei uns mit dem Kundenmenüpasswort geschützt. Wer einer dritten Person Zugriff auf die Datenbankverwaltung, aber nicht auf das Kundenmenü geben möchte, kann

Mehr

Fotostammtisch-Schaumburg

Fotostammtisch-Schaumburg Der Anfang zur Benutzung der Web Seite! Alles ums Anmelden und Registrieren 1. Startseite 2. Registrieren 2.1 Registrieren als Mitglied unser Stammtischseite Wie im Bild markiert jetzt auf das Rote Register

Mehr

WordPress lokal mit Xaamp installieren

WordPress lokal mit Xaamp installieren WordPress lokal mit Xaamp installieren Hallo und willkommen zu einem weiteren Teil der WordPress Serie, in diesem Teil geht es um die Lokale Installation von WordPress mithilfe von Xaamp. Kurz und knapp

Mehr

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Peter Koos 03. Dezember 2015 0 Inhaltsverzeichnis 1 Voraussetzung... 3 2 Hintergrundinformationen... 3 2.1 Installationsarten...

Mehr

! " # $ " % & Nicki Wruck worldwidewruck 08.02.2006

!  # $  % & Nicki Wruck worldwidewruck 08.02.2006 !"# $ " %& Nicki Wruck worldwidewruck 08.02.2006 Wer kennt die Problematik nicht? Die.pst Datei von Outlook wird unübersichtlich groß, das Starten und Beenden dauert immer länger. Hat man dann noch die.pst

Mehr

Zur Bestätigung wird je nach Anmeldung (Benutzer oder Administrator) eine Meldung angezeigt:

Zur Bestätigung wird je nach Anmeldung (Benutzer oder Administrator) eine Meldung angezeigt: K U R Z A N L E I T U N G D A S R Z L WE B - P O R T A L D E R R Z L N E W S L E T T E R ( I N F O - M A I L ) RZL Software GmbH Riedauer Straße 15 4910 Ried im Innkreis Version: 11. Juni 2012 / mw Bitte

Mehr

Wie richten Sie Ihr Web Paket bei Netpage24 ein

Wie richten Sie Ihr Web Paket bei Netpage24 ein Wie richten Sie Ihr Web Paket bei Netpage24 ein Eine kostenlose ebook Anleitung von Netpage24 - Webseite Information 1 E-Mail Bestätigung... 3 2 Ticketsystem... 3 3 FTP Konto anlegen... 4 4 Datenbank anlegen...

Mehr

Anlegen eines DLRG Accounts

Anlegen eines DLRG Accounts Anlegen eines DLRG Accounts Seite 1 von 6 Auf der Startseite des Internet Service Centers (https:\\dlrg.de) führt der Link DLRG-Account anlegen zu einer Eingabemaske, mit der sich jedes DLRG-Mitglied genau

Mehr

Tutorial. In diesem Tutorial möchte ich die Möglichkeiten einer mehrspracheigen Web-Site erläutern.

Tutorial. In diesem Tutorial möchte ich die Möglichkeiten einer mehrspracheigen Web-Site erläutern. Tutorial In diesem Tutorial möchte ich die Möglichkeiten einer mehrspracheigen Web-Site erläutern. Zu Beginn müssen wir uns über die gewünschten Sprachen Gedanken machen. Zum einem, da eine professionelle

Mehr

Live Update (Auto Update)

Live Update (Auto Update) Live Update (Auto Update) Mit der Version 44.20.00 wurde moveit@iss+ um die Funktion des Live Updates (in anderen Programmen auch als Auto Update bekannt) für Programm Updates erweitert. Damit Sie auch

Mehr

.procmailrc HOWTO. zur Mailfilterung und Verteilung. Stand: 01.01.2011

.procmailrc HOWTO. zur Mailfilterung und Verteilung. Stand: 01.01.2011 .procmailrc HOWTO zur Mailfilterung und Verteilung Stand: 01.01.2011 Copyright 2002-2003 by manitu. Alle Rechte vorbehalten. Alle verwendeten Bezeichnungen dienen lediglich der Kennzeichnung und können

Mehr

IMAP Backup. Das Programm zum Sichern, Synchronisieren, Rücksichern und ansehen von gesicherten Mails. Hersteller: malu-soft

IMAP Backup. Das Programm zum Sichern, Synchronisieren, Rücksichern und ansehen von gesicherten Mails. Hersteller: malu-soft IMAP Backup Das Programm zum Sichern, Synchronisieren, Rücksichern und ansehen von gesicherten Mails Hersteller: malu-soft WEB Adresse: http://www.malu-soft.de email: info@malu-soft.de support@malu-soft.de

Mehr

Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten

Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten Version 1.0 Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten In unserer Anleitung zeigen wir Dir, wie Du Blogbeiträge

Mehr

Tutorial - www.root13.de

Tutorial - www.root13.de Tutorial - www.root13.de Netzwerk unter Linux einrichten (SuSE 7.0 oder höher) Inhaltsverzeichnis: - Netzwerk einrichten - Apache einrichten - einfaches FTP einrichten - GRUB einrichten Seite 1 Netzwerk

Mehr

PHPNuke Quick & Dirty

PHPNuke Quick & Dirty PHPNuke Quick & Dirty Dieses Tutorial richtet sich an all die, die zum erstenmal an PHPNuke System aufsetzen und wirklich keine Ahnung haben wie es geht. Hier wird sehr flott, ohne grosse Umschweife dargestellt

Mehr

Hochschulrechenzentrum. chschulrechenzentrum #96. Freie Universität Berlin

Hochschulrechenzentrum. chschulrechenzentrum #96. Freie Universität Berlin #96 Version 1 Konfiguration von Outlook 2010 Um Ihre E-Mails über den Mailserver der ZEDAT herunterzuladen oder zu versenden, können Sie das Programm Outlook 2010 verwenden. Die folgende Anleitung demonstriert

Mehr

Modul 2.2: Zugang zu Ihren Teilnehmer-Ordnern via ftp (zum Dateientransfer):

Modul 2.2: Zugang zu Ihren Teilnehmer-Ordnern via ftp (zum Dateientransfer): Modul 2.2/Multimediakurs Leinfelder Modul 2.2: Zugang zu Ihren Teilnehmer-Ordnern via ftp (zum Dateientransfer): Bitte ftp-hilfsprogramm (ftp-utility) benutzen. Wählen Sie hierbei folgende Verbindung an:

Mehr

Autoresponder Unlimited 2.0

Autoresponder Unlimited 2.0 Anleitung zur Installation und Anwendung Autoresponder Unlimited 2.0 Anleitung zur Installation und Anwendung Wie Ihr Autoresponder Unlimited 2.0 funktioniert Den Autoresponder Unlimited 2.0 installieren

Mehr

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen. Datenbank-Verschlüsselung mit DbDefence und Webanwendungen. In diesem Artikel werden wir Ihnen zeigen, wie Sie eine Datenbank verschlüsseln können, um den Zugriff einzuschränken, aber trotzdem noch eine

Mehr

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Diese Verbindung muss einmalig eingerichtet werden und wird benötigt, um den Zugriff vom privaten Rechner oder der Workstation im Home Office über

Mehr

OutLook 2003 Konfiguration

OutLook 2003 Konfiguration OutLook 2003 Konfiguration Version: V0.1 Datum: 16.10.06 Ablage: ftp://ftp.clinch.ch/doku/outlook2003.pdf Autor: Manuel Magnin Änderungen: 16.10.06 MM.. Inhaltsverzeichnis: 1. OutLook 2003 Konfiguration

Mehr

SANDBOXIE konfigurieren

SANDBOXIE konfigurieren SANDBOXIE konfigurieren für Webbrowser und E-Mail-Programme Dies ist eine kurze Anleitung für die grundlegenden folgender Programme: Webbrowser: Internet Explorer, Mozilla Firefox und Opera E-Mail-Programme:

Mehr

Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG

Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG Um mit IOS2000/DIALOG arbeiten zu können, benötigen Sie einen Webbrowser. Zurzeit unterstützen wir ausschließlich

Mehr

Agentur für Werbung & Internet. Schritt für Schritt: Newsletter mit WebEdition versenden

Agentur für Werbung & Internet. Schritt für Schritt: Newsletter mit WebEdition versenden Agentur für Werbung & Internet Schritt für Schritt: Newsletter mit WebEdition versenden E-Mail-Adresse im Control Panel einrichten Inhalt Vorwort 3 Einstellungen im Reiter «Eigenschaften» 4 Einstellungen

Mehr

Anleitung für den Zugriff auf Mitgliederdateien der AG-KiM

Anleitung für den Zugriff auf Mitgliederdateien der AG-KiM Anleitung für den Zugriff auf Mitgliederdateien der AG-KiM Hinweise: - Dies ist eine schrittweise Anleitung um auf den Server der Ag-Kim zuzugreifen. Hierbei können Dateien ähnlich wie bei Dropbox hoch-

Mehr

BS-Anzeigen 3. Handbuch für das Zusatzmodul modazs Import von Anzeigen aus der Anzeigenschleuder

BS-Anzeigen 3. Handbuch für das Zusatzmodul modazs Import von Anzeigen aus der Anzeigenschleuder BS-Anzeigen 3 Handbuch für das Zusatzmodul modazs Import von Anzeigen aus der Anzeigenschleuder Inhaltsverzeichnis Anwendungsbereich... 3 Betroffene Softwareversion... 3 Anzeigenschleuder.com... 3 Anmeldung...

Mehr

Wie funktioniert das WWW? Sicher im WWW

Wie funktioniert das WWW? Sicher im WWW Wie funktioniert das WWW? Sicher im WWW Der normale Aufruf 1. Browserprogramm starten 2. Adresse eintippen, z.b. : ich-hab-doch-nichts-zu-verbergen.de 3. Der Browser ändert die Adresse auf: http://ich-hab-doch-nichts-zu-verbergen.de/

Mehr

INSTALLATION VON INSTANTRAILS 1.7

INSTALLATION VON INSTANTRAILS 1.7 INSTALLATION VON INSTANTRAILS 1.7 InstantRails 1.7 ist ein Paket, das Ruby, Rails, Apache, MySQL und andere Tools, z.b. phpmyadmin in vorkonfigurierter Form enthält. Das Paket muss in einem Verzeichnis

Mehr

Kurzanleitung. Nutzung des Online Office von 1&1. Zusammengestellt:

Kurzanleitung. Nutzung des Online Office von 1&1. Zusammengestellt: Kurzanleitung Nutzung des Online Office von 1&1 Zusammengestellt: Norbert Bielich www.bieweb.de Stand: 01.05.2010 Inhalt 1. Einführung:...3 2. Wie komme ich zu meinem Online-Ordner?...3 3. Freigabe von

Mehr

Anleitung zum Login. über die Mediteam- Homepage und zur Pflege von Praxisnachrichten

Anleitung zum Login. über die Mediteam- Homepage und zur Pflege von Praxisnachrichten Anleitung zum Login über die Mediteam- Homepage und zur Pflege von Praxisnachrichten Stand: 18.Dezember 2013 1. Was ist der Mediteam-Login? Alle Mediteam-Mitglieder können kostenfrei einen Login beantragen.

Mehr

Thunderbird herunterladen, Installieren und einrichten Version 31.3.0 (portable)

Thunderbird herunterladen, Installieren und einrichten Version 31.3.0 (portable) Thunderbird herunterladen, Installieren und einrichten Version 31.3.0 (portable) Thunderbird ist ein quelloffenes E-Mail-Programm (manchmal auch Client genannt), das leicht herunterzuladen und zu installieren

Mehr

Guide DynDNS und Portforwarding

Guide DynDNS und Portforwarding Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Bedienungsanleitung für den SecureCourier

Bedienungsanleitung für den SecureCourier Bedienungsanleitung für den SecureCourier Wo kann ich den SecureCourier nach der Installation auf meinem Computer finden? Den SecureCourier finden Sie dort, wo Sie mit Dateien umgehen und arbeiten. Bei

Mehr

1. Loggen Sie sich mit Ihrem Benutzernamen in den Hosting-Manager (Confixx) auf Ihrer entsprechenden AREA ein. Automatische Wordpress Installation

1. Loggen Sie sich mit Ihrem Benutzernamen in den Hosting-Manager (Confixx) auf Ihrer entsprechenden AREA ein. Automatische Wordpress Installation Page 1 of 8 Automatische Wordpress Installation Vorwort Wordpress ist eines der bekanntesten und am weitesten verbreiteten CMS-Systeme. CMS steht für Content Management System und heisst, dass mit einem

Mehr

Inhalt: Ihre persönliche Sedcard... 1 Login... 1 Passwort vergessen... 2 Profildaten bearbeiten... 3

Inhalt: Ihre persönliche Sedcard... 1 Login... 1 Passwort vergessen... 2 Profildaten bearbeiten... 3 Inhalt: Ihre persönliche Sedcard..... 1 Login... 1 Passwort vergessen... 2 Profildaten bearbeiten... 3 Passwort ändern... 3 email ändern... 4 Sedcard-Daten bearbeiten... 4 Logout... 7 Ich kann die Sedcard

Mehr

www.flatbooster.com FILEZILLA HANDBUCH

www.flatbooster.com FILEZILLA HANDBUCH www.flatbooster.com FILEZILLA HANDBUCH deutsche Auflage Datum: 12.03.2011 Version: 1.0.2 Download: http://flatbooster.com/support Inhaltsverzeichnis 1 Filezilla FTP Programm 1 1.1 Filezilla installieren.................................

Mehr

ELO Print&Archive so nutzen Sie es richtig

ELO Print&Archive so nutzen Sie es richtig ELO Print&Archive so nutzen Sie es richtig Die Einrichtung Ihres ersten Dokumententyps Im folgenden Beispiel möchten wir Ihnen genauer erläutern, wie Sie das neue Modul ELO Print&Archive, das automatisch

Mehr

Beispiel Shop-Eintrag Ladenlokal & Online-Shop im Verzeichnis www.wir-lieben-shops.de 1

Beispiel Shop-Eintrag Ladenlokal & Online-Shop im Verzeichnis www.wir-lieben-shops.de 1 Beispiel Shop-Eintrag Ladenlokal & Online-Shop. Als Händler haben Sie beim Shop-Verzeichnis wir-lieben-shops.de die Möglichkeit einen oder mehrere Shop- Einträge zu erstellen. Es gibt 3 verschiedene Typen

Mehr

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar 2015. ZID Dezentrale Systeme

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar 2015. ZID Dezentrale Systeme Novell Client Anleitung zur Verfügung gestellt durch: ZID Dezentrale Systeme Februar 2015 Seite 2 von 8 Mit der Einführung von Windows 7 hat sich die Novell-Anmeldung sehr stark verändert. Der Novell Client

Mehr

Diese Anleitung beschreibt das Vorgehen mit dem Browser Internet Explorer. Das Herunterladen des Programms funktioniert in anderen Browsern ähnlich.

Diese Anleitung beschreibt das Vorgehen mit dem Browser Internet Explorer. Das Herunterladen des Programms funktioniert in anderen Browsern ähnlich. Die Lernsoftware Revoca Das Sekundarschulzentrum Weitsicht verfügt über eine Lizenz bei der Lernsoftware «Revoca». Damit können die Schülerinnen und Schüler auch zu Hause mit den Inhalten von Revoca arbeiten.

Mehr

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter 2 Inhaltsverzeichnis 1 Web-Kürzel 4 1.1 Einführung.......................................... 4 1.2 Web-Kürzel.........................................

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

INHALTSVERZEICHNIS Allgemeine Beschreibung... 3 Verwendung der Webseite... 4 Abbildungsverzeichnis... 12

INHALTSVERZEICHNIS Allgemeine Beschreibung... 3 Verwendung der Webseite... 4 Abbildungsverzeichnis... 12 ONLINE-HILFE INHALTSVERZEICHNIS 1 Allgemeine Beschreibung... 3 2... 4 2.1 Angemeldeter Benutzer... 4 2.2 Gast... 10 Abbildungsverzeichnis... 12 1 ALLGEMEINE BESCHREIBUNG Die Webseite "" ist eine Informationsplattform

Mehr

Bitte beachten Sie. Nur für Kabelmodem! - 1 -

Bitte beachten Sie. Nur für Kabelmodem! - 1 - Erste Seite! Bitte beachten Sie Nur für Kabelmodem! - 1 - Inhaltsverzeichnis Inhaltsverzeichnis... 2 Internetprotokoll-Konfiguration (TCP/IP)... 3 Installation mit Assistent für neue Verbindung... 5 Installation

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

Einrichtung Secure-FTP

Einrichtung Secure-FTP Einrichtung Secure-FTP ONEGroup Hochriesstrasse 16 83101 Rohrdorf Steffen Prochnow Hochriesstrasse 16 83101 Rohrdorf Tel.: (08032) 989 492 Fax.: (01212) 568 596 498 agb@onegroup.de 1. Vorwort... 2 2. Einrichtung

Mehr

Lieber SPAMRobin -Kunde!

Lieber SPAMRobin -Kunde! Lieber SPAMRobin -Kunde! Wir freuen uns, dass Sie sich für SPAMRobin entschieden haben. Mit diesem Leitfaden möchten wir Ihnen die Kontoeinrichtung erleichtern und die Funktionen näher bringen. Bitte führen

Mehr

Lernwerkstatt 9 privat- Freischaltung

Lernwerkstatt 9 privat- Freischaltung Was tun, wenn mein Rechner immer wieder die Freischaltung der Lernwerkstatt 9 privat verliert und ich die Ursache dafür nicht finden kann? Normalerweise genügt es, genau eine einzige online-freischaltung

Mehr

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert Beamen in EEP Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert Zuerst musst du dir 2 Programme besorgen und zwar: Albert, das

Mehr

A. Ersetzung einer veralteten Govello-ID ( Absenderadresse )

A. Ersetzung einer veralteten Govello-ID ( Absenderadresse ) Die Versendung von Eintragungsnachrichten und sonstigen Nachrichten des Gerichts über EGVP an den Notar ist nicht möglich. Was kann der Notar tun, um den Empfang in seinem Postfach zu ermöglichen? In zahlreichen

Mehr

Anleitung zum Anlegen und Bearbeiten einer News in TYPO3 für www.fk-havelland-mitte.de

Anleitung zum Anlegen und Bearbeiten einer News in TYPO3 für www.fk-havelland-mitte.de WEBandIT.net - Anleitung zum Anlegen und Bearbeiten einer News in TYPO3 für www.fk-havelland-mitte.de Die Internet-Seite wird intern durch das Programm TYPO3 verwaltet. Eine Anmeldung ist nur durch Zugangsdaten

Mehr

Anleitung MRA Service mit MAC

Anleitung MRA Service mit MAC Anleitung MRA Service mit MAC Dokumentbezeichnung Anleitung MRA Service unter MAC Version 2 Ausgabedatum 7. September 2009 Anzahl Seiten 12 Eigentumsrechte Dieses Dokument ist Eigentum des Migros-Genossenschafts-Bund

Mehr

DELFI. Benutzeranleitung Dateiversand für unsere Kunden. Grontmij GmbH. Postfach 34 70 17 28339 Bremen. Friedrich-Mißler-Straße 42 28211 Bremen

DELFI. Benutzeranleitung Dateiversand für unsere Kunden. Grontmij GmbH. Postfach 34 70 17 28339 Bremen. Friedrich-Mißler-Straße 42 28211 Bremen Grontmij GmbH Postfach 34 70 17 28339 Bremen Friedrich-Mißler-Straße 42 28211 Bremen T +49 421 2032-6 F +49 421 2032-747 E info@grontmij.de W www.grontmij.de DELFI Benutzeranleitung Dateiversand für unsere

Mehr

Kurzanleitung SEPPmail

Kurzanleitung SEPPmail Eine Region Meine Bank Kurzanleitung SEPPmail (E-Mail Verschlüsselungslösung) Im folgenden Dokument wird Ihnen Schritt für Schritt die Bedienung unserer Verschlüsselungslösung SEPPmail gezeigt und alle

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

Zugriff auf OWA Auf OWA kann über folgende URLs zugegriffen werden:

Zugriff auf OWA Auf OWA kann über folgende URLs zugegriffen werden: Anleitung zur Installation der Exchange Mail Lösung auf Android 2.3.5 Voraussetzung für die Einrichtung ist ein vorliegender Passwortbrief. Wenn in der folgenden Anleitung vom Extranet gesprochen wird

Mehr

Kommunikations-Management

Kommunikations-Management Tutorial: Wie kann ich E-Mails schreiben? Im vorliegenden Tutorial lernen Sie, wie Sie in myfactory E-Mails schreiben können. In myfactory können Sie jederzeit schnell und einfach E-Mails verfassen egal

Mehr

Über die Internetseite www.cadwork.de Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Über die Internetseite www.cadwork.de Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt. Internet, Codes und Update ab Version 13 Um Ihnen einen möglichst schnellen Zugang zu den aktuellsten Programmversionen zu ermöglichen liegen Update-Dateien für Sie im Internet bereit. Es gibt drei Möglichkeiten

Mehr

SEMINAR Modifikation für die Nutzung des Community Builders

SEMINAR Modifikation für die Nutzung des Community Builders 20.04.2010 SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung ecktion SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung Bevor Sie loslegen

Mehr

SQL-Injection. Seite 1 / 16

SQL-Injection. Seite 1 / 16 SQL-Injection Seite 1 / 16 Allgemein: SQL (Structured Query Language) Datenbanksprache zur Definition von Datenstrukturen in Datenbanken Bearbeiten und Abfragen von Datensätzen Definition: SQL-Injection

Mehr

COMPUTER MULTIMEDIA SERVICE

COMPUTER MULTIMEDIA SERVICE Umgang mit Web-Zertifikaten Was ist ein Web-Zertifikat? Alle Webseiten, welche mit https (statt http) beginnen, benötigen zwingend ein Zertifikat, welches vom Internet-Browser eingelesen wird. Ein Web

Mehr

Grafstat Checkliste Internetbefragung

Grafstat Checkliste Internetbefragung Grafstat Checkliste Internetbefragung ( A ) Datensammelpunkt im Formular eintragen ( B ) Befragung auf dem Datensammelpunkt anmelden ( C ) Formular ins Internet stellen (z.b. Homepage) ( D ) Befragung

Mehr

Internationales Altkatholisches Laienforum

Internationales Altkatholisches Laienforum Internationales Altkatholisches Laienforum Schritt für Schritt Anleitung für die Einrichtung eines Accounts auf admin.laienforum.info Hier erklären wir, wie ein Account im registrierten Bereich eingerichtet

Mehr

Leitfaden für die Mitgliederregistrierung auf der neuen Webseite des SFC-Erkelenz

Leitfaden für die Mitgliederregistrierung auf der neuen Webseite des SFC-Erkelenz Leitfaden für die Mitgliederregistrierung auf der neuen Webseite des SFC-Erkelenz Warum Der Versand unserer Newsletter erfolgt über ein im Hintergrund unserer Webseite arbeitendes Funktionsmodul. Daher

Mehr

Leitfaden zur Einrichtung za-mail mit IMAP auf dem iphone

Leitfaden zur Einrichtung za-mail mit IMAP auf dem iphone Dieser Leitfaden zeigt die einzelnen Schritte der Konfiguration des iphones für die Abfrage von Emails bei der za-internet GmbH. Grundsätzlich gelten diese Schritte auch für andere Geräte, wie dem ipod

Mehr

Übersicht. Was ist FTP? Übertragungsmodi. Sicherheit. Öffentliche FTP-Server. FTP-Software

Übersicht. Was ist FTP? Übertragungsmodi. Sicherheit. Öffentliche FTP-Server. FTP-Software FTP Übersicht Was ist FTP? Übertragungsmodi Sicherheit Öffentliche FTP-Server FTP-Software Was ist FTP? Protokoll zur Dateiübertragung Auf Schicht 7 Verwendet TCP, meist Port 21, 20 1972 spezifiziert Übertragungsmodi

Mehr

Punkt 1 bis 11: -Anmeldung bei Schlecker und 1-8 -Herunterladen der Software

Punkt 1 bis 11: -Anmeldung bei Schlecker und 1-8 -Herunterladen der Software Wie erzeugt man ein Fotobuch im Internet bei Schlecker Seite Punkt 1 bis 11: -Anmeldung bei Schlecker und 1-8 -Herunterladen der Software Punkt 12 bis 24: -Wir arbeiten mit der Software 8-16 -Erstellung

Mehr

-Bundle auf Ihrem virtuellen Server installieren.

-Bundle auf Ihrem virtuellen Server installieren. Anleitung: Confixx auf virtuellem Server installieren Diese Anleitung beschreibt Ihnen, wie Sie das Debian-Confixx- -Bundle auf Ihrem virtuellen Server installieren. 1. Schritt: Rufen Sie die Adresse http://vsadmin.host-4-you.de

Mehr

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000 Folgende Anleitung beschreibt, wie Sie ein bestehendes Postfach in Outlook Express, bzw. Microsoft Outlook bis Version 2000 einrichten können. 1. Öffnen Sie im Menü die Punkte Extras und anschließend Konten

Mehr

TeamSpeak3 Einrichten

TeamSpeak3 Einrichten TeamSpeak3 Einrichten Version 1.0.3 24. April 2012 StreamPlus UG Es ist untersagt dieses Dokument ohne eine schriftliche Genehmigung der StreamPlus UG vollständig oder auszugsweise zu reproduzieren, vervielfältigen

Mehr

Computeria Solothurn

Computeria Solothurn Computeria Solothurn Seniorinnen und Senioren entdecken den Computer und das Internet Sich mit «TeamViewer» von einem Supporter helfen lassen Diese Anleitung und die Illustrationen wurden unter Mac OS

Mehr

SSH Authentifizierung über Public Key

SSH Authentifizierung über Public Key SSH Authentifizierung über Public Key Diese Dokumentation beschreibt die Vorgehensweise, wie man den Zugang zu einem SSH Server mit der Authentifizierung über öffentliche Schlüssel realisiert. Wer einen

Mehr

Handbuch. TMBackup R3

Handbuch. TMBackup R3 Handbuch TMBackup R3 Ersteller: EWERK Medical Care GmbH Erstellungsdatum: 05.06.2013 S. 1 Inhalt 1 Vorwort... 3 2 Installation... 3 2.1 Voraussetzungen... 3 2.2 Installation... 3 3 Einstellungen... 4 3.1

Mehr

SAMMEL DEINE IDENTITÄTEN::: NINA FRANK :: 727026 :: WINTERSEMESTER 08 09

SAMMEL DEINE IDENTITÄTEN::: NINA FRANK :: 727026 :: WINTERSEMESTER 08 09 SAMMEL DEINE IDENTITÄTEN::: :: IDEE :: Ich selbst habe viele verschiedene Benutzernamen und Passwörter und wenn ich mir diese nicht alle aufschreiben würde, würde ich alle durcheinander bringen oder welche

Mehr

Konvertieren von Settingsdateien

Konvertieren von Settingsdateien Konvertieren von Settingsdateien Mit SetEdit können sie jedes der von diesem Programm unterstützten Settingsformate in jedes andere unterstützte Format konvertieren, sofern Sie das passende Modul (in Form

Mehr

Kennen, können, beherrschen lernen was gebraucht wird www.doelle-web.de

Kennen, können, beherrschen lernen was gebraucht wird www.doelle-web.de Inhaltsverzeichnis Inhaltsverzeichnis... 1 Grundlagen... 2 Hyperlinks innerhalb einer Datei... 2 Verweisziel definieren... 2 Einen Querverweis setzen... 3 Verschiedene Arten von Hyperlinks... 3 Einfache

Mehr

Anmeldung bei einem registrierten Konto (Account)

Anmeldung bei einem registrierten Konto (Account) Anmeldung bei einem registrierten Konto (Account) Aufrufen des Anmeldefensters Geben sie in die Adresszeile ihres Internet-Browsers die Adresse (http://www.quid4bid.com) ein. Sie können entweder auf die

Mehr

Persönliches Adressbuch

Persönliches Adressbuch Persönliches Adressbuch Persönliches Adressbuch Seite 1 Persönliches Adressbuch Seite 2 Inhaltsverzeichnis 1. WICHTIGE INFORMATIONEN ZUR BEDIENUNG VON CUMULUS 4 2. ALLGEMEINE INFORMATIONEN ZUM PERSÖNLICHEN

Mehr

Aufruf der Buchungssystems über die Homepage des TC-Bamberg

Aufruf der Buchungssystems über die Homepage des TC-Bamberg Aufruf der Buchungssystems über die Homepage des TC-Bamberg Das Online-Buchungssystem erreichen Sie einfach über die Homepage des TC-Bamberg (www.tennis-club-bamberg.de).über den Link (siehe Bild 1) gelangen

Mehr

Tevalo Handbuch v 1.1 vom 10.11.2011

Tevalo Handbuch v 1.1 vom 10.11.2011 Tevalo Handbuch v 1.1 vom 10.11.2011 Inhalt Registrierung... 3 Kennwort vergessen... 3 Startseite nach dem Login... 4 Umfrage erstellen... 4 Fragebogen Vorschau... 7 Umfrage fertigstellen... 7 Öffentliche

Mehr

Der große VideoClip- Wettbewerb von Media Markt.

Der große VideoClip- Wettbewerb von Media Markt. Der große VideoClip- Wettbewerb von Media Markt. Zeig was du drauf hast! Am 1. Juli startet eine Aktion, wie sie die Schweiz noch nicht gesehen hat. Unter dem Motto Zeig was Du drauf hast! suchen wir den

Mehr

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version 2.0.1 Deutsch 01.07.2014

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version 2.0.1 Deutsch 01.07.2014 Konfiguration VLAN's Version 2.0.1 Deutsch 01.07.2014 In diesem HOWTO wird die Konfiguration der VLAN's für das Surf-LAN der IAC-BOX beschrieben. Konfiguration VLAN's TITEL Inhaltsverzeichnis Inhaltsverzeichnis...

Mehr