Introduction aux attaques web
Comme il en faut pour tout le monde, voici mon premier billet sur le hack. Ce dernier ne sera donc PAS de la vulgarisation informatique mais un article technique.
Comme vous le savez peut-être déjà, les techniques d’attaque web sont multiples et variées. La cible est généralement un site ou un service web et les vecteurs d’attaques sont différents selon la technologie visée. Autrement dit, un blog sous WordPress tournant sur un Apache2 et MySQL, ne s’attaquera pas de la même manière qu’un Web Service écrit à la main.
Mais trêve de bavardage, place à… l’INTERROGATION ECRITE ! Mouahahaha… (on fait moins les malins là hein ?)
Combien de types d’attaques web connaissez-vous ? Aller, je vous aide un peu :
- Cross-Site Scripting, aussi nommées “XSS” (stockées et volatiles)
- Cross-Site Request Forgery, aussi appelées “CSRF“
- Les attaques utilisant les CRLF (HTTP Response Splitting et injection CRLF)
- Les très connues injections SQL (en aveugle ou non, numériques ou non…)
- Timing attacks (qui peuvent être des attaque par injection SQL ou autre, ici c’est la technique qui importe, pas la techno)
- Les injections LDAP
- Les injections XPATH
- Détournement des inclusions locales de fichiers “LFI” (via attaque par Null Byte)
- Brute Force de mot de passe (pour s’authentifier sur un service web par exemple)
- Déni de service (DoS), distribué ou non (DDoS)
- Récupération du code source distant (par utilisation des PHP Filters ou par recherche des fichiers de sauvegarde par exemple)
- Upload de shellcode avec ou sans bypass de filtres
- Bypass de restrictions “.htaccess” comme on les appelle à tort (via HTTP Verb Tampering ou autres)
- Cookie Forgery
- Directory Traversal
- Utilisation détournée des PHP Register Globals
- …
Etc., etc., etc. …
Comme vous le voyez il y en a une flopée. Et encore, je ne parle que des attaques basées sur des failles côté serveur mais il y a aussi les attaques réseau (attaques protocolaires comme le Man In The Middle, l’IP Spoofing, le Syn Flooding, le XMAS Tree etc. etc.). Mais aussi les attaques basées sur le client web (Javascript Desobfuscation, le Captcha solving)… Les XSS sont d’une certaine manière également des attaques sur le client même si elles utilisent des failles du serveur pour être distribuées. Aller, encore une petite phrase pour dire qu’il ne faut pas oublier les attaques par Phising, le spam etc.
BREF, vous l’aurez compris, il y a des centaines (certains diront “une infinité”) de vecteurs d’attaque sur le web.
Si vous aimez les chiffres, sachez que plusieurs sites sont connus pour relayer des statistiques à l’année et/ou au mois sur l’utilisation des différentes attaques web connues. Vous trouverez par exemple divers diagrammes et tableaux sur le site webappsec.org ou encore sur le site de veracode.
Ce billet est le premier de la série sur les attaques web et d’autres suivront, ils seront plus ou moins orientés technique selon les attaques et selon mon humeur du moment (et oui !) alors ne soyez pas déçus le cas échéant =P
Ah et j’oubliais, n’hésitez pas à me faire part de vos conseils/requêtes en tout genre concernant ce blog !