1. OWASP
Top
10
2010
pour
le
développeur
JavaScript
Sébas;en
Gioria
OWASP
France
Leader
-‐
OWASP
Global
Educa;on
CommiDee
Confoo.ca
-‐
27
Février
2013
-‐
Montréal
-‐
Canada
Saturday, March 2, 13
2. http://www.google.fr/#q=sebastien gioria
‣Consultant Indépendant en Sécurité Applicative
‣OWASP France Leader & Founder -
Evangéliste
‣OWASP Global Education Comittee
Member (sebastien.gioria@owasp.org)
Twitter :@SPoint
Saturday, March 2, 13 2
3. O-‐ou-‐a-‐ss-‐pe?
• OWASP
=
Open
Web
Applica6on
Security
Project
– Il
y
a
le
mot
“web”
mais
en
fait
…
• Mission:
– Global,
ouvert,
non
lucra6f,
indépendant.
• Communauté
OWASP:
– 30,000
abonnés
aux
listes
de
diffusion
– 200
sec6ons
régionales
ac6ves
dans
70
pays
– 1’600
membres
officiels,
56
entreprises
partenaires
– 69
ins6tu6ons
académiques
Saturday, March 2, 13
4. OWASP
Canada
• Sec6ons
OWASP
au
Canada:
– Alberta:
Edmonton
&
Lethbridge
– Bri6sh
Columbia:
Okanagan
&
Vancouver
– Manitoba:
Winnipeg
– New
Brunswick:
New
Brunswick
– Ontario:
Niagara,
Toronto
– Quebec:
Montréal,
Obawa,
Quebec
city
Saturday, March 2, 13
21. Contre-‐mesure
★Valider les données
★Utiliser les mécanismes des requêtes paramétrées
quand elles sont disponibles
client.query('SELECT * FROM users WHERE username=?', [username], ...)
★Minimiser les privilèges des utilisateurs
★Input validation Cheat Sheet :
★https://www.owasp.org/index.php/
Input_Validation_Cheat_Sheet
9
Saturday, March 2, 13
22. A3:
Mauvaise
ges;on
A4:Référence
directe
A2:
Cross
Site
A1:
Injec;on des
sessions
et
de
non
sécurisée
à
un
Scrip;ng
(XSS)
l’authen;fica;on objet
A8:
Mauvaise
A5:
Cross
Site
Request
A6:
Mauvaise
A7:
Mauvais
stockage
restric;on
d’accès
à
Forgery
(CSRF)
configura;on
sécurité cryptographique
une
URL
A9:
Protec;on
A10:
Redirec;ons
et
insuffisante
lors
du
transferts
non
validés
transport
des
données
hDp://www.owasp.org/index.php/Top_10
Saturday, March 2, 13
23. A3:
Mauvaise
ges;on
A4:Référence
directe
A2:
Cross
Site
A1:
Injec;on des
sessions
et
de
non
sécurisée
à
un
Scrip;ng
(XSS)
l’authen;fica;on objet
A8:
Mauvaise
A5:
Cross
Site
Request
A6:
Mauvaise
A7:
Mauvais
stockage
restric;on
d’accès
à
Forgery
(CSRF)
configura;on
sécurité cryptographique
une
URL
A9:
Protec;on
A10:
Redirec;ons
et
insuffisante
lors
du
transferts
non
validés
transport
des
données
hDp://www.owasp.org/index.php/Top_10
Saturday, March 2, 13
24. A3:
Mauvaise
ges;on
A4:Référence
directe
A2:
Cross
Site
A1:
Injec;on des
sessions
et
de
non
sécurisée
à
un
Scrip;ng
(XSS)
l’authen;fica;on objet
A8:
Mauvaise
A5:
Cross
Site
Request
A6:
Mauvaise
A7:
Mauvais
stockage
restric;on
d’accès
à
Forgery
(CSRF)
configura;on
sécurité cryptographique
une
URL
A9:
Protec;on
A10:
Redirec;ons
et
insuffisante
lors
du
transferts
non
validés
transport
des
données
hDp://www.owasp.org/index.php/Top_10
Saturday, March 2, 13
26. <script>
var url = window.location.href;
var pos = url.indexOf("field-author=") + 6;
var len = url.length;
var title_string = url.substring(pos,len);
document.write(unescape(title_string));
</script>
http://www.amazon.ca/s?ie=UTF8&search-type=ss&index=books-ca&field-author=%22%3E
%3Cscript%3Ealert(%2
2XSS%20BY%20Fugitif%22)%3C/script%3E
12
Saturday, March 2, 13
27. <script>
var url = window.location.href;
var pos = url.indexOf("field-author=") + 6;
var len = url.length;
var title_string = url.substring(pos,len);
document.write(unescape(title_string));
</script>
http://www.amazon.ca/s?ie=UTF8&search-type=ss&index=books-ca&field-author=%22%3E
%3Cscript%3Ealert(%2
2XSS%20BY%20Fugitif%22)%3C/script%3E
12
Saturday, March 2, 13
29. Contre-‐Mesures
★Valider
les
données
★Encoder
les
données
de
sor6e
★OWASP
XSS
Cheat
Sheet
★hbps://www.owasp.org/index.php/
XSS_(Cross_Site_Scrip6ng)_Preven6on_Cheat
_Sheet
14
Saturday, March 2, 13
30. A3:
Mauvaise
ges;on
A4:Référence
directe
A2:
Cross
Site
A1:
Injec;on des
sessions
et
de
non
sécurisée
à
un
Scrip;ng
(XSS)
l’authen;fica;on objet
A8:
Mauvaise
A5:
Cross
Site
Request
A6:
Mauvaise
A7:
Mauvais
stockage
restric;on
d’accès
à
Forgery
(CSRF)
configura;on
sécurité cryptographique
une
URL
A9:
Protec;on
A10:
Redirec;ons
et
insuffisante
lors
du
transferts
non
validés
transport
des
données
hDp://www.owasp.org/index.php/Top_10
Saturday, March 2, 13
31. A3:
Mauvaise
ges;on
A4:Référence
directe
A2:
Cross
Site
A1:
Injec;on des
sessions
et
de
non
sécurisée
à
un
Scrip;ng
(XSS)
l’authen;fica;on objet
A8:
Mauvaise
A5:
Cross
Site
Request
A6:
Mauvaise
A7:
Mauvais
stockage
restric;on
d’accès
à
Forgery
(CSRF)
configura;on
sécurité cryptographique
une
URL
A9:
Protec;on
A10:
Redirec;ons
et
insuffisante
lors
du
transferts
non
validés
transport
des
données
hDp://www.owasp.org/index.php/Top_10
Saturday, March 2, 13
32. A3:
Mauvaise
ges;on
A4:Référence
directe
A2:
Cross
Site
A1:
Injec;on des
sessions
et
de
non
sécurisée
à
un
Scrip;ng
(XSS)
l’authen;fica;on objet
A8:
Mauvaise
A5:
Cross
Site
Request
A6:
Mauvaise
A7:
Mauvais
stockage
restric;on
d’accès
à
Forgery
(CSRF)
configura;on
sécurité cryptographique
une
URL
A9:
Protec;on
A10:
Redirec;ons
et
insuffisante
lors
du
transferts
non
validés
transport
des
données
hDp://www.owasp.org/index.php/Top_10
Saturday, March 2, 13
38. Contre-‐Mesure
★Ne
pas
mebre
d’authen6fica6on
coté
client
★Ne
jamais
mebre
d’ID
de
session
dans
l’URL
★U6liser
des
générateurs
d’ID
de
session
sur
(pas
le
sien
!)
★Longueur
suffisante
★Aléa
suffisant
★Chiffrer
le
transport
de
l’ID
de
session
=>
TLS/SSL
★Regénérer
des
ID
de
session
apres
le
login
et
le
logout
18
Saturday, March 2, 13
39. A3:
Mauvaise
ges;on
A4:Référence
directe
A2:
Cross
Site
A1:
Injec;on des
sessions
et
de
non
sécurisée
à
un
Scrip;ng
(XSS)
l’authen;fica;on objet
A8:
Mauvaise
A5:
Cross
Site
Request
A6:
Mauvaise
A7:
Mauvais
stockage
restric;on
d’accès
à
Forgery
(CSRF)
configura;on
sécurité cryptographique
une
URL
A9:
Protec;on
A10:
Redirec;ons
et
insuffisante
lors
du
transferts
non
validés
transport
des
données
hDp://www.owasp.org/index.php/Top_10
Saturday, March 2, 13
40. A3:
Mauvaise
ges;on
A4:Référence
directe
A2:
Cross
Site
A1:
Injec;on des
sessions
et
de
non
sécurisée
à
un
Scrip;ng
(XSS)
l’authen;fica;on objet
A8:
Mauvaise
A5:
Cross
Site
Request
A6:
Mauvaise
A7:
Mauvais
stockage
restric;on
d’accès
à
Forgery
(CSRF)
configura;on
sécurité cryptographique
une
URL
A9:
Protec;on
A10:
Redirec;ons
et
insuffisante
lors
du
transferts
non
validés
transport
des
données
hDp://www.owasp.org/index.php/Top_10
Saturday, March 2, 13
41. A3:
Mauvaise
ges;on
A4:Référence
directe
A2:
Cross
Site
A1:
Injec;on des
sessions
et
de
non
sécurisée
à
un
Scrip;ng
(XSS)
l’authen;fica;on objet
A8:
Mauvaise
A5:
Cross
Site
Request
A6:
Mauvaise
A7:
Mauvais
stockage
restric;on
d’accès
à
Forgery
(CSRF)
configura;on
sécurité cryptographique
une
URL
A9:
Protec;on
A10:
Redirec;ons
et
insuffisante
lors
du
transferts
non
validés
transport
des
données
hDp://www.owasp.org/index.php/Top_10
Saturday, March 2, 13
48. Contre-‐mesure
customerID
=
1A530637289A03B07199A44E8D531427 customerID
=
3
Indirect Reference Direct
Reference Web Service
Database
Mainframe
User Access Reference
Map
File System
Indirect Reference Direct Reference
Etc…
customerID
=
1A530637289A03B07199A44E8D531427
customerID
=
3 22
Saturday, March 2, 13
49. Contre-‐Mesure
★Ne
pas
exposer
de
clefs
de
base
★Mebre
en
place
des
contrôles
d’accès
serveurs
★Mebre
en
place
les
tables
de
références
d’accès
23
Saturday, March 2, 13
50. A3:
Mauvaise
ges;on
A4:Référence
directe
A2:
Cross
Site
A1:
Injec;on des
sessions
et
de
non
sécurisée
à
un
Scrip;ng
(XSS)
l’authen;fica;on objet
A8:
Mauvaise
A5:
Cross
Site
Request
A6:
Mauvaise
A7:
Mauvais
stockage
restric;on
d’accès
à
Forgery
(CSRF)
configura;on
sécurité cryptographique
une
URL
A9:
Protec;on
A10:
Redirec;ons
et
insuffisante
lors
du
transferts
non
validés
transport
des
données
hDp://www.owasp.org/index.php/Top_10
Saturday, March 2, 13
51. A3:
Mauvaise
ges;on
A4:Référence
directe
A2:
Cross
Site
A1:
Injec;on des
sessions
et
de
non
sécurisée
à
un
Scrip;ng
(XSS)
l’authen;fica;on objet
A8:
Mauvaise
A5:
Cross
Site
Request
A6:
Mauvaise
A7:
Mauvais
stockage
restric;on
d’accès
à
Forgery
(CSRF)
configura;on
sécurité cryptographique
une
URL
A9:
Protec;on
A10:
Redirec;ons
et
insuffisante
lors
du
transferts
non
validés
transport
des
données
hDp://www.owasp.org/index.php/Top_10
Saturday, March 2, 13
52. A3:
Mauvaise
ges;on
A4:Référence
directe
A2:
Cross
Site
A1:
Injec;on des
sessions
et
de
non
sécurisée
à
un
Scrip;ng
(XSS)
l’authen;fica;on objet
A8:
Mauvaise
A5:
Cross
Site
Request
A6:
Mauvaise
A7:
Mauvais
stockage
restric;on
d’accès
à
Forgery
(CSRF)
configura;on
sécurité cryptographique
une
URL
A9:
Protec;on
A10:
Redirec;ons
et
insuffisante
lors
du
transferts
non
validés
transport
des
données
hDp://www.owasp.org/index.php/Top_10
Saturday, March 2, 13
58. 3
-‐
Le
filtre
est
rajouté
29
Saturday, March 2, 13
59. Contre-‐Mesures
★Préferer
POST
a
GET
★Supprimer
toutes
les
XSS
★Mebre
des
sessions
avec
expira6on
très
faible
★Rajouter
des
tokens
aléatoires
dans
les
requetes
30
Saturday, March 2, 13
60. A3:
Mauvaise
ges;on
A4:Référence
directe
A2:
Cross
Site
A1:
Injec;on des
sessions
et
de
non
sécurisée
à
un
Scrip;ng
(XSS)
l’authen;fica;on objet
A8:
Mauvaise
A5:
Cross
Site
Request
A6:
Mauvaise
A7:
Mauvais
stockage
restric;on
d’accès
à
Forgery
(CSRF)
configura;on
sécurité cryptographique
une
URL
A9:
Protec;on
A10:
Redirec;ons
et
insuffisante
lors
du
transferts
non
validés
transport
des
données
hDp://www.owasp.org/index.php/Top_10
Saturday, March 2, 13
61. A3:
Mauvaise
ges;on
A4:Référence
directe
A2:
Cross
Site
A1:
Injec;on des
sessions
et
de
non
sécurisée
à
un
Scrip;ng
(XSS)
l’authen;fica;on objet
A8:
Mauvaise
A5:
Cross
Site
Request
A6:
Mauvaise
A7:
Mauvais
stockage
restric;on
d’accès
à
Forgery
(CSRF)
configura;on
sécurité cryptographique
une
URL
A9:
Protec;on
A10:
Redirec;ons
et
insuffisante
lors
du
transferts
non
validés
transport
des
données
hDp://www.owasp.org/index.php/Top_10
Saturday, March 2, 13
62. A3:
Mauvaise
ges;on
A4:Référence
directe
A2:
Cross
Site
A1:
Injec;on des
sessions
et
de
non
sécurisée
à
un
Scrip;ng
(XSS)
l’authen;fica;on objet
A8:
Mauvaise
A5:
Cross
Site
Request
A6:
Mauvaise
A7:
Mauvais
stockage
restric;on
d’accès
à
Forgery
(CSRF)
configura;on
sécurité cryptographique
une
URL
A9:
Protec;on
A10:
Redirec;ons
et
insuffisante
lors
du
transferts
non
validés
transport
des
données
hDp://www.owasp.org/index.php/Top_10
Saturday, March 2, 13
63. www.example.com api.ckers.fr
si ble
os
Imp
32
Saturday, March 2, 13
64. CORS
?
www.example.com api.ckers.fr
e
ss ibl
Po
33
Saturday, March 2, 13
65. CORS
?
www.example.com api.ckers.fr
e
ss ibl
Po
Access-Control-Allow-From: *
Access-Control-Allow-Origin:33 *
Saturday, March 2, 13
66. Contre-‐Mesure
★Toujours
u6liser
des
ou6ls/frameworks
à
jour
★Aben6on
à
la
configura6on
des
serveurs
Web
★Revoir
la
configura6on
des
librairies
et
modules
(même
le
plus
pe6t
morceau
de
code)
★Ne
pas
mebre
des
permissions
trop
“laxistes”
cf
•Access-Control-Allow-From
•Access-Control-Allow-Origin
34
Saturday, March 2, 13
67. A3:
Mauvaise
ges;on
A4:Référence
directe
A2:
Cross
Site
A1:
Injec;on des
sessions
et
de
non
sécurisée
à
un
Scrip;ng
(XSS)
l’authen;fica;on objet
A8:
Mauvaise
A5:
Cross
Site
Request
A6:
Mauvaise
A7:
Mauvais
stockage
restric;on
d’accès
à
Forgery
(CSRF)
configura;on
sécurité cryptographique
une
URL
A9:
Protec;on
A10:
Redirec;ons
et
insuffisante
lors
du
transferts
non
validés
transport
des
données
hDp://www.owasp.org/index.php/Top_10
Saturday, March 2, 13
68. A3:
Mauvaise
ges;on
A4:Référence
directe
A2:
Cross
Site
A1:
Injec;on des
sessions
et
de
non
sécurisée
à
un
Scrip;ng
(XSS)
l’authen;fica;on objet
A8:
Mauvaise
A5:
Cross
Site
Request
A6:
Mauvaise
A7:
Mauvais
stockage
restric;on
d’accès
à
Forgery
(CSRF)
configura;on
sécurité cryptographique
une
URL
A9:
Protec;on
A10:
Redirec;ons
et
insuffisante
lors
du
transferts
non
validés
transport
des
données
hDp://www.owasp.org/index.php/Top_10
Saturday, March 2, 13
69. A3:
Mauvaise
ges;on
A4:Référence
directe
A2:
Cross
Site
A1:
Injec;on des
sessions
et
de
non
sécurisée
à
un
Scrip;ng
(XSS)
l’authen;fica;on objet
A8:
Mauvaise
A5:
Cross
Site
Request
A6:
Mauvaise
A7:
Mauvais
stockage
restric;on
d’accès
à
Forgery
(CSRF)
configura;on
sécurité cryptographique
une
URL
A9:
Protec;on
A10:
Redirec;ons
et
insuffisante
lors
du
transferts
non
validés
transport
des
données
hDp://www.owasp.org/index.php/Top_10
Saturday, March 2, 13
71. ★L’encodage
n’apporte
pas
de
protec6on
★Plutot
que
de
chiffrer
une
donnée,
se
poser
la
ques6on
de
l’u6lité
de
la
stocker
!
★Préférer
“hasher”
les
données
plutôt
que
de
les
chiffrer
★Ajouter
des
aléas
(sels)
différents
dans
le
hashage
★U6liser
des
algorithmes
‘forts’
• SHA2
• AES
• SHA3...
37
Saturday, March 2, 13
72. A3:
Mauvaise
ges;on
A4:Référence
directe
A2:
Cross
Site
A1:
Injec;on des
sessions
et
de
non
sécurisée
à
un
Scrip;ng
(XSS)
l’authen;fica;on objet
A8:
Mauvaise
A5:
Cross
Site
Request
A6:
Mauvaise
A7:
Mauvais
stockage
restric;on
d’accès
à
Forgery
(CSRF)
configura;on
sécurité cryptographique
une
URL
A9:
Protec;on
A10:
Redirec;ons
et
insuffisante
lors
du
transferts
non
validés
transport
des
données
hDp://www.owasp.org/index.php/Top_10
Saturday, March 2, 13
73. A3:
Mauvaise
ges;on
A4:Référence
directe
A2:
Cross
Site
A1:
Injec;on des
sessions
et
de
non
sécurisée
à
un
Scrip;ng
(XSS)
l’authen;fica;on objet
A8:
Mauvaise
A5:
Cross
Site
Request
A6:
Mauvaise
A7:
Mauvais
stockage
restric;on
d’accès
à
Forgery
(CSRF)
configura;on
sécurité cryptographique
une
URL
A9:
Protec;on
A10:
Redirec;ons
et
insuffisante
lors
du
transferts
non
validés
transport
des
données
hDp://www.owasp.org/index.php/Top_10
Saturday, March 2, 13
74. A3:
Mauvaise
ges;on
A4:Référence
directe
A2:
Cross
Site
A1:
Injec;on des
sessions
et
de
non
sécurisée
à
un
Scrip;ng
(XSS)
l’authen;fica;on objet
A8:
Mauvaise
A5:
Cross
Site
Request
A6:
Mauvaise
A7:
Mauvais
stockage
restric;on
d’accès
à
Forgery
(CSRF)
configura;on
sécurité cryptographique
une
URL
A9:
Protec;on
A10:
Redirec;ons
et
insuffisante
lors
du
transferts
non
validés
transport
des
données
hDp://www.owasp.org/index.php/Top_10
Saturday, March 2, 13
78. Contre-‐Mesures
• Configurer
correctement
la
restric6on
d’accès
sur
les
serveurs.
• Empécher
le
lis6ng
de
directory
du
serveur.
• Ajouter
les
bons
type-‐mime.
• ....
40
Saturday, March 2, 13
79. A3:
Mauvaise
ges;on
A4:Référence
directe
A2:
Cross
Site
A1:
Injec;on des
sessions
et
de
non
sécurisée
à
un
Scrip;ng
(XSS)
l’authen;fica;on objet
A8:
Mauvaise
A5:
Cross
Site
Request
A6:
Mauvaise
A7:
Mauvais
stockage
restric;on
d’accès
à
Forgery
(CSRF)
configura;on
sécurité cryptographique
une
URL
A9:
Protec;on
A10:
Redirec;ons
et
insuffisante
lors
du
transferts
non
validés
transport
des
données
hDp://www.owasp.org/index.php/Top_10
Saturday, March 2, 13 41
80. A3:
Mauvaise
ges;on
A4:Référence
directe
A2:
Cross
Site
A1:
Injec;on des
sessions
et
de
non
sécurisée
à
un
Scrip;ng
(XSS)
l’authen;fica;on objet
A8:
Mauvaise
A5:
Cross
Site
Request
A6:
Mauvaise
A7:
Mauvais
stockage
restric;on
d’accès
à
Forgery
(CSRF)
configura;on
sécurité cryptographique
une
URL
A9:
Protec;on
A10:
Redirec;ons
et
insuffisante
lors
du
transferts
non
validés
transport
des
données
hDp://www.owasp.org/index.php/Top_10
Saturday, March 2, 13 41
81. A3:
Mauvaise
ges;on
A4:Référence
directe
A2:
Cross
Site
A1:
Injec;on des
sessions
et
de
non
sécurisée
à
un
Scrip;ng
(XSS)
l’authen;fica;on objet
A8:
Mauvaise
A5:
Cross
Site
Request
A6:
Mauvaise
A7:
Mauvais
stockage
restric;on
d’accès
à
Forgery
(CSRF)
configura;on
sécurité cryptographique
une
URL
A9:
Protec;on
A10:
Redirec;ons
et
insuffisante
lors
du
transferts
non
validés
transport
des
données
hDp://www.owasp.org/index.php/Top_10
Saturday, March 2, 13 41
85. Contre-‐Mesures
expérimentales
avec
JSON
• JSON
Web
Encryp;on
(JWE)
:
JSON
Web
Encryp6on
(JWE)
est
un
drax
expliquant
comment
représenter
un
élément
chiffrer
via
des
structures
de
données
JavaScript
Object
Nota6on
(JSON).
➡hDp://tools.iet.org/html/drau-‐iet-‐jose-‐json-‐web-‐encryp;on-‐07#page-‐23
• JSON
Web
Signature
(JWS)
:
JSON
Web
Signature
(JWS)
est
un
drax
détaillant
comment
représenter
dans
une
strucutre
de
données
JSON,
du
contenu
u6lisant
des
signatures
numériques
ou
des
codes
d'authen6fica6on
de
message
(MAC).
➡hDp://tools.iet.org/html/drau-‐iet-‐jose-‐json-‐web-‐signature-‐07
•
JSON
Web
Algorithm
(JWA)
:
JSON
Web
Algorithms
(JWA)
décrit
les
algorithmes,
iden6fiants
nécessaires
pour
l'u6lisa6on
des
futurs
standars
JWE,
JWS
et
JWS.
➡hDp://tools.iet.org/html/drau-‐iet-‐jose-‐json-‐web-‐algorithms
• JSON
Web
Key
(JWK)
:
Une
structure
JSON
Web
Key
(JWK)
est
une
structure
JavaScript
Object
Nota6on
(JSON)
représentant
un
clef
publique.
Ce
drax
défini
aussi
la
manière
de
représenter
un
ensemble
de
structures
de
type
JWK..
➡hDp://tools.iet.org/html/drau-‐iet-‐jose-‐json-‐web-‐key-‐07
44
Saturday, March 2, 13
86. Contre-‐Mesures
★U6liser
TLS/SSL
dès
que
des
données
sensibles
sont
a
échanger
★Mebre
le
flag
‘Secure’
sur
les
cookies
importants
(cookie
de
session
par
exemple)
★Ne
pas
mixer
d’accès
à
du
contenu
HTTP
depuis
du
contenu
HTTPS
★Mebre
en
place
une
configura6on
“sécurisée”
de
TLS/SSL
(cf
www.ssllabs.com)
★Voir
hDp://www.owasp.org/index.php/
Transport_Layer_Protec;on_Cheat_Sheet
pour
plus
de
details
45
Saturday, March 2, 13
87. A3:
Mauvaise
ges;on
A4:Référence
directe
A2:
Cross
Site
A1:
Injec;on des
sessions
et
de
non
sécurisée
à
un
Scrip;ng
(XSS)
l’authen;fica;on objet
A8:
Mauvaise
A5:
Cross
Site
Request
A6:
Mauvaise
A7:
Mauvais
stockage
restric;on
d’accès
à
Forgery
(CSRF)
configura;on
sécurité cryptographique
une
URL
A9:
Protec;on
A10:
Redirec;ons
et
insuffisante
lors
du
transferts
non
validés
transport
des
données
hDp://www.owasp.org/index.php/Top_10
Saturday, March 2, 13
88. A3:
Mauvaise
ges;on
A4:Référence
directe
A2:
Cross
Site
A1:
Injec;on des
sessions
et
de
non
sécurisée
à
un
Scrip;ng
(XSS)
l’authen;fica;on objet
A8:
Mauvaise
A5:
Cross
Site
Request
A6:
Mauvaise
A7:
Mauvais
stockage
restric;on
d’accès
à
Forgery
(CSRF)
configura;on
sécurité cryptographique
une
URL
A9:
Protec;on
A10:
Redirec;ons
et
insuffisante
lors
du
transferts
non
validés
transport
des
données
hDp://www.owasp.org/index.php/Top_10
Saturday, March 2, 13
89. A3:
Mauvaise
ges;on
A4:Référence
directe
A2:
Cross
Site
A1:
Injec;on des
sessions
et
de
non
sécurisée
à
un
Scrip;ng
(XSS)
l’authen;fica;on objet
A8:
Mauvaise
A5:
Cross
Site
Request
A6:
Mauvaise
A7:
Mauvais
stockage
restric;on
d’accès
à
Forgery
(CSRF)
configura;on
sécurité cryptographique
une
URL
A9:
Protec;on
A10:
Redirec;ons
et
insuffisante
lors
du
transferts
non
validés
transport
des
données
hDp://www.owasp.org/index.php/Top_10
Saturday, March 2, 13
91. Contre-‐Mesures
★ Eviter
au
maximum
les
redirec6ons
et
les
transferts
★ S’il
faut
absolument
les
intégrer,
ne
pas
u6liser
les
paramètres
parvenant
d’un
u6lisateur
pour
définir
l’URL/fonc6on
cible.
★ Si
vous
“devez”
u6liser
les
paramètres
u6lisateurs,
• Valider
chaque
paramètre
pour
vérifier
qu’il
est
autorisé
et
valide
par
rapport
à
l’u6lisateur,
ou
alors
• U6liser
une
table
de
correspondance
serveur
entre
les
paramètres
u6lisateurs
et
les
pages
à
appeler.
★ Pour
les
redirec6ons,
valider
l’URL
cible
après
la
construc6on
pour
vérifier
qu’elle
redirige
bien
vers
un
site
autorisé
!
48
Saturday, March 2, 13
92. A3:
Mauvaise
ges;on
A4:Référence
directe
A2:
Cross
Site
A1:
Injec;on des
sessions
et
de
non
sécurisée
à
un
Scrip;ng
(XSS)
l’authen;fica;on objet
A8:
Mauvaise
A5:
Cross
Site
Request
A6:
Mauvaise
A7:
Mauvais
stockage
restric;on
d’accès
à
Forgery
(CSRF)
configura;on
sécurité cryptographique
une
URL
A9:
Protec;on
A10:
Redirec;ons
et
insuffisante
lors
du
transferts
non
validés
transport
des
données
hDp://www.owasp.org/index.php/Top_10
Saturday, March 2, 13
93. A3:
Mauvaise
ges;on
A4:Référence
directe
A2:
Cross
Site
A1:
Injec;on des
sessions
et
de
non
sécurisée
à
un
Scrip;ng
(XSS)
l’authen;fica;on objet
A8:
Mauvaise
A5:
Cross
Site
Request
A6:
Mauvaise
A7:
Mauvais
stockage
restric;on
d’accès
à
Forgery
(CSRF)
configura;on
sécurité cryptographique
une
URL
A9:
Protec;on
A10:
Redirec;ons
et
insuffisante
lors
du
transferts
non
validés
transport
des
données
hDp://www.owasp.org/index.php/Top_10
Saturday, March 2, 13
94. A3:
Mauvaise
ges;on
A4:Référence
directe
A2:
Cross
Site
A1:
Injec;on des
sessions
et
de
non
sécurisée
à
un
Scrip;ng
(XSS)
l’authen;fica;on objet
A8:
Mauvaise
A5:
Cross
Site
Request
A6:
Mauvaise
A7:
Mauvais
stockage
restric;on
d’accès
à
Forgery
(CSRF)
configura;on
sécurité cryptographique
une
URL
A9:
Protec;on
A10:
Redirec;ons
et
insuffisante
lors
du
transferts
non
validés
transport
des
données
hDp://www.owasp.org/index.php/Top_10
Saturday, March 2, 13
95. Vous pouvez donc vous
protéger de lui maintenant...
• @SPoint
• sebas6en.gioria@owasp.org
Saturday, March 2, 13
96. Vous pouvez donc vous
protéger de lui maintenant...
• @SPoint
• sebas6en.gioria@owasp.org
Il n'y a qu'une façon d'échouer, c'est d'abandonner avant d'avoir réussi [Olivier Lockert]
Saturday, March 2, 13