Ein echt gutes Cheatsheet:
https://www.owasp.org/index.php/XSS_%28Cross_Site_Scripting%29_Prevention_Cheat_Sheet
Archive for the ‘Security’ Category
XSS (Cross Site Scripting) Prevention Cheat Sheet
Sonntag, Mai 8th, 2011Gratis Websecurity Tools
Mittwoch, April 14th, 2010Vor einigen Monaten habe ich über die Sicherheit von Webapplikationen gefunden. Hier ist eine interessante Webseite dazu: 10 Gratis Tools um die Sicherheit einer Website zu testen (gegen SQL-Injection, Cross-Site-Scripting, u.a.).
http://www.webresourcesdepot.com/10-free-web-application-security-testing-tools/
Browser Historie lesen
Mittwoch, April 14th, 2010Mit einem kleinen Trick kann man auslesen, ob der Besucher deiner Website eine bestimmte URL schon besucht hat. Die Browserhersteller kennen das „History Stealing“ schon lange, tun aber nichts dagegen.
So gehts:
<pre>
function hasLinkBeenVisited(url) {
var link = document.createElement('a');
link.href = url;
document.body.appendChild(link);
if (link.currentStyle) {
var color = link.currentStyle.color;
if (color == '#ff0000')
return true;
return false;
} else {
link.setAttribute("href",url);
var computed_style = document.defaultView.getComputedStyle( link, null );
if (computed_style) {
if (computed_style.color == 'rgb(255, 0, 0)')
return true;
}
return false;
}
}
</pre>
Dabei muss per CSS die Farbe rot für besuchte Links definiert sein.
Code von http://www.merchantos.com/makebeta/tools/spyjax/
PHP-Datenbankzugriff über PDO
Mittwoch, März 3rd, 2010Wie in einem anderen Posting erklärt ( http://donauweb.at/ebusiness-blog/2009/11/15/sicherheit-security-eines-webshops-verbessern/ ), gibt es bei PHP keine 100% Maßnahmen gegen SQL-Injection mit konventionellem Datenbankzugriff. Nur parametrisierte SQL-Befehle bieten mehr Sicherheit. Es ist daher empfehlenswert, nur noch PDO für Datenbankzugriffe zu verwenden.
Um Datenbankzugriffe mit PDO zu vereinfachen habe ich eine Bibliothek-Klasse geschrieben für den Zugriff auf eine Datenbank mittels PDO. Diese Klasse bietet Funktionalitäten wie bei ADODB. Die wichtigsten sind:
- pdoGetAll($sql, $data) und pdoGetRow($sql, $data) liefern ein oder mehrere Datensätze als Array zurück.
Der SQL-Befehl kann Parameter beinhalten, deren Werte in $data mitgeliefert werden.
zB $sql = „select * from table where id=:id“ - pdoGetAssoc($sql, $data) holt das gleiche Resultat wie pdoGetAll, jedoch wird die erste Spalte zum Index vom Array. Dadurch ist das Lesen von zB definierten ID-Werten nachher wesentlich einfacher.
- pdoInsUpd($table, $data, $insert_or_update, $where) erstellt einen INSERT oder UPDATE SQL-Befehl an Hand der übergebenen Parameter und führt diesen Befehl aus.
Sicherheit/Security eines Webshops verbessern
Sonntag, November 15th, 2009Wenn man einen Webshop laufend beobachtet, dann findet man immer wieder Angriffe auf den Webshop. Hacker versuchen, Schwachstellen des Webshops auszunutzen. Hier folgen einige Methoden, wie Hacker versuchen einzubrechen und was man dagegen unternehmen kann.
Angriffe auf Webshops und Schutz dagegen
Erklärung von Anriffsmöglichkeiten
http://www.suspekt.org/2009/06/16/dutch-php-conference-the-slides/
Viele interessatnte Artikel über Sicherheit
http://entwickler.de/zonen/portale/psecom,id,125,nodeid,.html
http://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet
Wie funktioniert SQL-Injection genau?
http://www.securiteam.com/securityreviews/5DP0N1P76E.html
http://unixwiz.net/techtips/sql-injection.html
Angriffserkennung in PHP
http://php-ids.org/
XSS-Tricks
http://ha.ckers.org/xss.html
XSS-Schutz in PHP
http://wiki.flux-cms.org/display/BLOG/XSS+Prevention
Die wohl beste Bibliothek zur Prüfung von Form-Eingaben
HtmlPurifier
top-15-free-sql-injection-scanners
Sicherheitsberater, die Angriffstests durchführen (Penetration Test)
(ich habe einige kontaktiert, bei diesen hatte ich ein gutes Gefühl)
http://www.redteam-pentesting.de
https://www.mark-semmler.de
http://www.internet-sicherheit.de
http://www.it-sec.de/