Du kommst hier nicht rein!

Werbung
einpraegsam.net
Du kommst hier nicht rein!
Sicher programmieren
einpraegsam.net
1 Sicher – warum?
1.
2. Live Beispiele in echten T3 Extensions
1. SQL Injection
2. XSS (Cross Site Script)
3 Filtern der Usereingaben
3.
4. Vorstellung
4
g von wt_doorman
5. Allgemeine Links zum Thema
einpraegsam.net
Sicher – Warum?
einpraegsam.net
Es ist kein Problem eine unsichere Extension
einzusetzen
Jedenfalls so lange nichts passiert!
einpraegsam.net
Worst case für die Agentur:
1. Datenverlust
2. Unmut des Kunden
3 Zeitverlust
3.
4. Geldverlust
5. Mögliche
Mö li h S
Schadensersatzforderungen
h d
t f d
6. Mögliche Folgeschäden
einpraegsam.net
Beispiele
p
aus dem TER
einpraegsam.net
Filtern der Usereingaben
g
einpraegsam.net
Umwandlung
U
u g in Integer
g
$intt = intval($string);
$
tva ($st g);
Findet Einsatz vorwiegend bei Datenbank Aktionen
(z.B. Zeige Datensatz mit uid = intval($uid) )
Bsp:
-„xxx“ zu 0
-„33“ zu 33
einpraegsam.net
String
g bei Datenbankaktionen
$st g =
$string
$GLOBALS[TYPO3_DB]->fullQuoteString($string);
Findet Einsatz vorwiegend bei Datenbank Aktionen
((z.B. Zeige
g Datensatz mit wert = „Usereingabe“)
g
)
Bsp:
-„xx‘xx“
xx zu „x\
x\‘xx“
xx
-„3“3“ zu „3\“3“
einpraegsam.net
Ausgabe
u g
im FE
$string
$st
g = htmlentities($string);
t e t t es($st g);
Ausgabe von Text (auch in HTML) – Wandlung der
Sonderzeichen in ASCII Code
Bsp:
-„xßxx
xßxx“ zu „xßxx
xßxx“
-„3‘>3“ zu „3'>3“
einpraegsam.net
Weitere Funktionen
u
1.
2.
3.
4.
5.
t3lib_div::removeXSS()
strip tags() (kein umfassender Schutz!)
strip_tags()
tslib_cObj::removeBadHTML()
Addslashes()
Bzw. t3lib_div::addSlashesOnArray()
einpraegsam.net
wt doorman
wt_doorman
einpraegsam.net
Nutzung
g zur Filterung
g sämtlicher GET und POST
Parameter einer TYPO3 Installation
• Nutzung
g in eigener
g
Extension
• wt_directory
• wt_gallery
g
y
•
einpraegsam.net
int, defined values, text, alphanum, htmlentities
einpraegsam.net
einpraegsam.net
Allgemeine
g
Links
Zum Thema
einpraegsam.net
• wt_doorman:
http://typo3 org/extensions/repository/view/wt doorman/current/
http://typo3.org/extensions/repository/view/wt_doorman/current/
• Wikipedia zu SQL Injection:
http://de.wikipedia.org/wiki/SQL_Injection
//
g/
/
j
• Wikipedia zu XSS:
http://de.wikipedia.org/wiki/Cross-Site_Scripting
• typo3.org zum Thema
Th
security
i
http://typo3.org/teams/security/
[email protected]
y@ yp 3 g
• Tutorial Henning Pingel:
http://www.slideshare.net/hepi/developing-extensions-with-security-inmind-presentation
d
einpraegsam.net
Fragen, Wünsche oder
A
Anregungen?
?
einpraegsam.net
Vielen Dank für Ihre
Aufmerksamkeit
Herunterladen