Bonjour,
j ai réalisé un script CGI en C. Comment tester la sécurité du script?
merci
Bonjour,
j ai réalisé un script CGI en C. Comment tester la sécurité du script?
merci
Salut
Pour les CGI C, on dit pas "script" mais "programme".
Apres, pour ton programme, ça depend ce qu'il fait
le programme crée un image et l affiche.
je récupère donc des variables envoyé par post les traites puis je genere une image.
C est sur la recuperation des données que j aimerais tester la sécurité.
Il faut tester les entrées dans les conditions extrèmes, et vérifier que jamais un seul tableau de char ne déborde, par exemple...Envoyé par ankou82
Personellement, je pose un piège comme ceci :
Quand un tableau de N char est créé, je met un 0 en [N-1].
Après chaque écriture, je vérifie la présence du 0 et j'arrête l'exécution si il n'y est plus. Ce n'est pas du 100%, mais ça fait le ménage...
http://emmanuel-delahaye.developpez.com/clib.htm
Module SYS (sys.h)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 /* controles */ #define LIM_STR(s) (s)[sizeof (s) - 1]=0 #define CHK_STR(s) ASSERT((s)[sizeof (s) - 1]==0) #ifndef NDEBUG #define LIM_PTR(p,l) (p)[(l) -1]=0 #else #define LIM_PTR(p,l) #endif #define CHK_PTR(p,l) ASSERT((p)[(l) -1]==0)ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 char s[128]; LIM_STR(s); ... sprintf (s, ...); CHK_STR(s);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 size_t n = 128; char s = malloc (n); LIM_PTR (s, n); ... sprintf (s, ...); CHK_PTR (s, n);
Oui, mais moi en faite ma page php genere un formulaire, et celon le formulaire lorsque je fais mon submit le programme CGI est lancé et récupaire les informations du formulaire.
je recupere donc la chaine envoyé par cgi, et je l'a traite.
Je dirais que seul celui qui a fait le programme peut le tester et savoir ce qui peut être vulnerable
Si tu n'executes pas de programme externes, que tu n'accedes pas aux fichiers, que tu ne te connecte pas à une base, alors il n'y a peut être pas de faille, juste des plantages possible
Envoyé par Gruik
oui je ne me connecte absolument a rien je genere seulement une image rien de plus.
Grave erreur. Ca va à l'encontre de tous les principes de codage sécuritaire. On doit travailler en binôme. Un qui code, un qui teste. Et penser à inverser les rôles régulièrement.Envoyé par Gruik
Oui c'est vrai
Mais, je crois pas que ça soit applicable en pratique
A moins que le testeur passe beaucoup de temps à analyser le fonctionnement du truc. En gros, le testeur doit relire le code écrit et le comprendre pour tester les cas problématiques.
Sinon, le testeur ne teste que les cas nominaux et ça sert pas à grand chose car la programmeur aurait au moins vérifié que ça marchait
Partager