logo Homepage
+  NewbieContest
|-+  Programmation» Langages compilés» [Python] sécurite ?
Username:
Password:
Pages: [1]
  Imprimer  
Auteur Fil de discussion: [Python] sécurite ?  (Lu 8558 fois)
the lsd
Administrateur

Profil challenge

Classement : 185/55105

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 3098

poulping for fun & profit


Voir le profil WWW
« le: 18 Avril 2007 à 10:46:24 »

Hey hey !

Me voila, dans de toutes nouvelles aventures avec notre ami python (non pas le serpent, le language )

J'ai commencé il y a une paire de jours à étudier ce language, et, apres une rapide recherche google, je n'ai effectivement rien trouvé à propos de la sécurité !
Python est il un language sans faille ???
Bien sur que non, mais la question que je me pose, c'est quelles failles peut il donc y avoir en python, que ce soit du genre buffer(bob?) overflow, injection SQL, insertion de code...

Donc, si quelqu'un a (trouve) des liens, documents, billets, tutos... à propos de la sécurité en python, je susi preneur.

Enjoy

The lsd
Journalisée

Newbie Contest Staff :
The lsd - Th3_l5D (IRC)
Statut :
Administrateur
Citation :
Cartésien désabusé : je pense, donc je suis, mais je m'en fous !
Invit
Invité
« #1 le: 18 Avril 2007 à 12:11:47 »

C'est une vraie belle/bonne question ça si tu veux mon avis
Effectivement, je me suis pas non plus penché sur le sujet mais la question m'a plusieurs fois traversé l'esprit, agitant ainsi d'autant mon neurone blond qui ricocha alors plusieurs fois contre les parois avant de tilter.

Python, au même titre que Perl ou PHP par exemple, repose sur des fonctions/un noyau codé en C (eh oui, le C, c'est la Vie), donc pareil que pour The Month Of PHP Bugs, Python est soumis aux failles potentielles de ses propres couches les plus basses disons, à savoir possiblement des débordements de mémoires.
Bon, mais ceci étant dit le développement de langages de haut niveau n'en est plus à ses balbutiements non plus, donc (comme pour PHP ma foi, j'ai honte à le reconnaître ) on peut espèrer que le code même de Python en regorge pas de ce type de failles non plus.

A côté de ça il y a les failles potentielles de plus haut niveau, y a t-il un équivalent à la faille include pour Python ?
Là encore pour répondre il faut se mettre en mode hacker, c'est à dire apprendre à maîtriser suffisament le langage pour en comprendre la philosophie et les mécanismes.
"C'est seulement son reflet qui se tord, la cuillère n'existe pas."
Ca sous-entend connaître suffisament le langage pour sortir du chemin bien tracé du developpeur et se demander "ah mais au fait, qu'est-ce qui se passerait si je faisais ce truc là qui n'est prévu dans aucune doc, aucun tuto ?".

Enfin, si la documentation sur le sujet ne court pas les rues, c'est tout simplement parceque les CGI à l'heure actuelle se font majoritairement en PHP, donc tout le monde s'affole sur PHP, enfin.. Quand je dis "tout le monde s'affole", j'entends que beaucoups suivent le mouvement évidement...

Pour finir je dirais que la question est éminement interressante, et qu'on est en droit de se poser la même concernant des langages comme Java, Flash, JSP, ASP, etc., autant de technologies qui squattent notre quotidien et nos navigateurs.
Journalisée
Zmx

Profil challenge

Classement : 74/55105

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 559


Voir le profil WWW
« #2 le: 18 Avril 2007 à 12:46:30 »

Pour peu qu'il y est un exexSQL (qui prend une chaine, chaine que tu peux construire "a la main") il y as des faille d'injection SQL.
Pour peu qu'il y est un "include") (qui prend une chaine) si le dev ne verifie pas la chaine, il y as faille include.

Pour les bufferOverflow, comme 99% des langage de haut, il dependent de lib en C, si la lib a un overflow, elle est surement exploitable depuis un plus haut niveau (meme si chaque couche intermediaire en complique l'exploitation).

Il me semble qu'il y avais un overflow dans une lib SSL et forcement, bcp de serveur web/ssh en ont souffert
Journalisée

Ge0

Profil challenge

Classement : 16/55105

Membre Senior
****
Hors ligne Hors ligne
Messages: 378


Voir le profil WWW
« #3 le: 18 Avril 2007 à 19:31:18 »

Une faille include dans des scripts python ? Zmx, tu aurais de la doc à nous faire partager qui traite sur ça ?
Journalisée

L’art saisit une vérité intérieure. Les mathématiques décrivent une vérité universelle.
Invit
Invité
« #4 le: 26 Avril 2007 à 16:22:36 »

Un exemple, je suis tombé dessus un peu par hasard,
stack overflow dans la fonction realpath() de python <= 2.4.2
Ca date de plus d'un an déjà, preuve que le sujet en a déjà interressé quelques uns
Journalisée
the lsd
Administrateur

Profil challenge

Classement : 185/55105

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 3098

poulping for fun & profit


Voir le profil WWW
« #5 le: 26 Avril 2007 à 16:35:50 »

mouais mouais mouais, je comprends pas tout (c'est surement du au fait que j'ai jamais réussi a caler les buffer/stack overflow) mais ca m'a l'air intéressant.
Journalisée

Newbie Contest Staff :
The lsd - Th3_l5D (IRC)
Statut :
Administrateur
Citation :
Cartésien désabusé : je pense, donc je suis, mais je m'en fous !
Rhesus

Profil challenge

Classement : 915/55105

Néophyte
*
Hors ligne Hors ligne
Messages: 21


Voir le profil
« #6 le: 28 Avril 2007 à 13:00:17 »

En fait la fonction realpath du Python (sensée retourné un chemin réel) souffre d'une BoF (je pense que tu l'avais compris ^^) selon le chemin passé en argument. Cet exploit crée un répertoire trop long qui apparemment, lors de l'appel de cette fonction (certainement os.system('> vuln.py; python vuln.py') qui s'en charge) avec cela en argument semble écraser EIP puis la pile pointé par ESP :
Citation
# JMP *%ESP @ linux-gate.so.1
jmp    = "\x5f\xe7\xff\xff"
Donc permet l'execution de la shell.

La fin du script nettoie tout ce qui a été crée (elle détruit le dossier) afin de rendre l'execution transparente.
J'espère ne pas avoir dit trop de connerie, j'ai jamais codé en Python de ma vie ^^!
Journalisée
the lsd
Administrateur

Profil challenge

Classement : 185/55105

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 3098

poulping for fun & profit


Voir le profil WWW
« #7 le: 28 Avril 2007 à 14:12:10 »

oki oki, très intérressant cela alors ^^.

Merci pour l'explication Rhesus=D

Enjoy

the lsd
Journalisée

Newbie Contest Staff :
The lsd - Th3_l5D (IRC)
Statut :
Administrateur
Citation :
Cartésien désabusé : je pense, donc je suis, mais je m'en fous !
Pages: [1]
  Imprimer  
 
Aller à: