Archiv der Kategorie: Security

Angriffe auf Webanwendungen – Teil 1: XSS (+Beispielangriff)

Das ist der Anfang einer kleinen Serie, die das Thema „Websecurity“ umreißt. Dabei werde ich mit konkreten Angriffsszenarien auf die Techniken XSS, Session Highjacking + Session Fixation, SQL Injection und CSRF eingehen. Die Grundlage legen wir mit diesem Artikel und XSS, da viele der späteren Angriffe auf XSS aufsetzen.

Was ist XSS / Cross-Site-Scripting?

Sollte doch eigentlich mittlerweile jeder wissen, oder? Jegliche Möglichkeit, als Angreifer eigenen Javascript-Code auf eine Webseite zu schleusen.

Varianten von XSS

Grundsätzlich unterscheidet man zwischen 2 verschiedenen Arten des Cross-Site-Scriptings: Die dauerhafte Unterbringung von eigenem Code auf einer Webseite und die temporäre. Auf beide gehe ich nachher mit konkreten Angriffsszenarien ein.… Den ganzen Post lesen

Veröffentlicht unter php, Security, webdev | 7 Kommentare

What you need to know about the DOM: 20 functions in 100 lines

Okay, first english article. I’m feeling kind of stupid when posting code related topics in German so I’m gonna try to bring some english content in here. Personally I think that comments, variable names and everything code-related should be written in english – considering multi-national development teams.

So, enough introduction. What follows is one single function performing stupid javascript actions with the Document Object Model. Even though every sane developer prefers the use of a library like jQuery for stuff like that, it’s always good to know what goes on behind the scenes. What I’ve covered are the following functions:

  • document.
Den ganzen Post lesen
Veröffentlicht unter Javascript, Security, webdev | Hinterlasse einen Kommentar

Quicktip: Integer Validation

Oft ist es ja so, dass man einen Integer validieren möchte, der allerdings als String vorliegt (bei SOAP z.B.). Das heißt, dass uns is_int nicht weiterhilft, wie folgender Schnippsel zeigt:

var_dump(is_int("12")); //false

Klar, ist kein int – kann man PHP keinen Strick draus drehen. Alternative ist is_numeric.

var_dump(is_numeric("12")); //true

Ah, wunderbar – warum auch immer jetzt auf einmal Strings kein Problem mehr darstellen. Aber:

var_dump(is_numeric("12.123456")); //true

Klar irgendwie, „numeric“ heißt nicht zwangsläufig gerade. Deswegen (meines Erachtens nach der beste Weg): intval

intval konvertiert (sofern möglich, also wenn etwa ein int in einem String vorliegt) zu Integer, allerdings kommt bei allen anderen Inputs (bspw.… Den ganzen Post lesen

Veröffentlicht unter php, Security, Quicktips, webdev | 1 Kommentar

Web-Performance: Best Practices

Was folgt ist eine Mischung aus der sehr guten (!) Artikelserie „Make the web faster“ von google und einigen persönlichen Ergänzungen und Erfahrungen. Erhebt keinerlei Anspruch auf Vollständigkeit und mischt server- sowie clientseitige Tipps querbeet. Ich gehe hier nicht besonders ins Detail, nenne aber genug Stichwörter, zu denen man sich dann schlaugooglen kann. Als Abschluss der Einleitung möchte ich noch auf den Gott der Webperformance verweisen, ohne dessen Bücher und Analysen wir sicher noch nicht da wären wo wir heute sind.

  1. Javascript so weit wie es geht asynchron laden bzw. ans Seitenende befördern, da Browser JS-Dateien in der Regel nicht parallel laden.
Den ganzen Post lesen
Veröffentlicht unter php, Javascript, Datenbanken, Performance, Security, Quicktips, webdev | 1 Kommentar

Sichere Passwörter

Der ultimative Trick! Wessen Kreativität nur für sein Geburtsdatum oder Wörter im Lexikon ausreicht, dem kann geholfen werden. Man nehme sich einfach einen einprägsamen Satz wie zum Beispiel

Jeden Mittwoch putze ich das Bad

Logischerweise sollte man mit dieser Floskel auch irgendwas verbinden, also nichts total aus der Luft gegriffenes. Anschließend werden alle Anfangsbuchstaben zu einem Wort zusammengefasst, also JMpidB

Reicht aber noch nicht. Jetzt hängt man davor und/oder dahinter noch ein paar Zahlen bzw. Sonderzeichen. Ich habe am 13.03.1989 Geburtstag, würde mir also z.B. 13.JMpidB.03! gut vorstellen können. Ist einprägsam und sollte per Bruteforce ein paar Jahre dauern.… Den ganzen Post lesen

Veröffentlicht unter Security, misc IT, Persönlich | Hinterlasse einen Kommentar

Hackit

Hab‘ mir mal die Mühe gemacht, ein kleines Hackit mit 9 Leveln zu basteln, was ein paar Belange zum Thema „sichere Webentwicklung“ und Javascript abdeckt. War eigentlich als Anreiz für paar Leute an meiner Hochschule gedacht. Gibt sogar eine Bestenliste und eine Belohnung! Wenn das mal nix is!

Zum SpielDen ganzen Post lesen

Veröffentlicht unter Javascript, Security | 4 Kommentare

Tricks mit .htaccess

.htaccess – Dateien sind kleine Webserver-Konfigurationsdateien, die einige sehr nützliche Features mitbringen. Auf die meiner Meinung nach nützlichsten Tricks und Kniffe mit dieser Datei gehe ich in dieser Kurzabhandlung ein.

1) .htaccess erstellen

Das erste Problem kommt postwendend: Wie erstellt man eine .htaccess-Datei? Da Windows keine Dateinamen zulässt, die mit einem Punkt beginnen, hat man 2 Möglichkeiten: Entweder man erstellt die Datei unter htaccess.txt, lädt sie auf den FTP-Server und benennt sie da erst in .htaccess um, oder man verwendet einen „besseren“ Texteditor wie Notepad++, erstellt ein neues Dokument und speichert dieses unter .htaccess, was dann komischerweise auch von Windows toleriert wird.… Den ganzen Post lesen

Veröffentlicht unter php, Performance, Security, webdev | 4 Kommentare