Bienvenue visiteur (Inscription |  Connexion)
Qui est en ligne ?
Il y a : 23 utilisateurs en ligne, consultez le détail
Auteur Message
Morgoth
#0 Message posté le : 13-10-2005 à 18:30:14


Hobbit


Forum : Modérateur
Association :
Arrivé(e) le : 20-11-2003
Nombre de messages : 1576
Houlà, il y a eu des changements dans l'air.

Quand j'ai voulu mettre à jour le tuto ATI, je n'ai pas pu tester la validation XHTML à partir de l'aperçu, car il y a un script javascript qui gène.

Ensuite, j'ai validé quand même (oui, je sais, c'est pas bien) et j'ai obtenu :
SELECT contenu,tnom FROM tutos WHERE tid = 260 AND idResponsable = LIMIT 1 . Erreur, mysql a répondu : 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 'LIMIT 1' at line 1


Déjà, c'est pas bien niveau sécurité que ta base sql soit configurée pour renvoyer les requètes erronées ! Je dis pas ça pour craner, mais c'est le cours que j'ai eu il y a 2 jours ;-D

Sinon, sur la page d'accueil de Trust (TrustLive je crois), il y a un bug car mon pseudo n'apparait pas.

Voilou

-------------------------------------
Morgoth
Kernel
#1 Message posté le : 13-10-2005 à 19:26:59


Maître Jedi


Forum : Administrateur
Association : Membre fondateur
Arrivé(e) le : 16-01-2003
Nombre de messages : 8343
le javascript c'est pour l'aperçu dans la popup. Si tu veux le source, depuis firefox : [ctrl]+[a], puis clic-droit, puis "code source de la selection".

Heu ... toutes les BDs renvoient un message ou un code d'erreur. C'est l'application qui les affichent ou pas. C'est pas pour manquer de respect à ton prof mais il faut arrêter windows . Un logiciel qui s'arrête sans donner de message d'erreur explicite ne sert pas à grand chose. C'est tellement vrai qu'en l'occurence, je peux te dire que le problème vient du fait que ta session était annulée. Perso, j'ai pu maj le tuto sur ati sans problème (dixit TLive!). Par contre, niveau sécu, je peux te filer le schéma de la table des tutos, je ne suis pas sûr que tu ailles loin avec . Les tables importantes sont protégées.

-------------------------------------
Linux c'est bon mangez-en :D
Morgoth
#2 Message posté le : 13-10-2005 à 20:07:23


Hobbit


Forum : Modérateur
Association :
Arrivé(e) le : 20-11-2003
Nombre de messages : 1576
Kernel a écrit :


le javascript c'est pour l'aperçu dans la popup. Si tu veux le source, depuis firefox : [ctrl]+[a], puis clic-droit, puis "code source de la selection".


OK, mais avec ce système, j'ai encore des <br> au lieu de </br>, ce qui n'est pas conforme XHTML.

Pour la BDD, je te jure qu'il nous a fait une démo où il exploitait justement le fait que l'appli renvoie les erreurs SQL à tout le monde.
En phase de débug, ok, mais pas pour le simple user.

Après, c'était juste pour dire.

-------------------------------------
Morgoth
Kernel
#3 Message posté le : 13-10-2005 à 20:25:07


Maître Jedi


Forum : Administrateur
Association : Membre fondateur
Arrivé(e) le : 16-01-2003
Nombre de messages : 8343
c'est firefox qui fait des <br> au lieu de <br />. Je vais voir si je peux solutionner cela.

Je ne doute pas qu'il vous fasse une démo. Que cela ne t'empêche d'avoir un esprit critique. Une application qui n'envoie pas de message d'erreur explicite, peut être hackée, windows en est la preuve. Ce même windows prouve qu'un code source fermé non plus ne te protège de rien. Une application qui envoie des messages d'erreur explicites peut également se faire hacker. Ce n'est donc pas là le problème.

Ensuite, que tu sois en debug ou pas n'est pas le noeud du problème. Si je n'avais pas eu ce message je n'aurais jamais su d'où venait le problème et pourtant nous ne sommes pas en debug. Maintenant ce n'est pas une incitation à ne pas écouter tes profs, c'est eux qui notent donc ils ont toujours raison

-------------------------------------
Linux c'est bon mangez-en :D
Digimag
#4 Message posté le : 13-10-2005 à 21:14:33


Hobbit


Forum : Inscrit
Association :
Arrivé(e) le : 08-04-2005
Nombre de messages : 1137
Moi je suis d'accord avec Morgoth, même si je n'ai jamais eu de cours d'informatique.

Il est utile d'afficher les messages d'erreur, mais il ne faut pas aller jusqu'à l'affichage de la requête. En tout cas c'est mon avis. La requête peut malheureusement contenir des informations importantes, qui n'auraient pas du être affichées. Deuxièmement, il est effectivement plus simple à un individu de hacker le site quand il voit la structure des requêtes.

Cependant, il est très utile d'afficher cette information en mode débogage.

Exemples de ce que j'utilise:


function SQL_error($cause,$code="* Not avaible *")

{ /* I generate a MySQL error/debug message */

  global $sql;

  $opts=($sql['debug'])?("<br><b>Debug information:</b><br><pre><b>".mysql_errno().": </b>".mysql_error()."<br><b>Code:</b><br>$code</pre>"):"";

  die("INTERNAL DATABASE SERVER ERROR ($cause)$opts");

}



function SQL_connect()

{ /* I make the connection to your MySQL server */

  global $sql;

  if(! $sql['link']=@mysql_connect($sql['host'],$sql['user'],$sql['pass']))

  {

    SQL_error("Unable to open a MySQL connection");

  }

  mysql_select_db($sql['base'],$sql['link']);

}



function SQL_exec($query)

{ /* I execute a query */

  global $sql;

  if($sql['debug'])

  { $res=mysql_query($query,$sql['link']);

  }

  else

  { $res=@mysql_query($query,$sql['link']);

  }

  if($res===FALSE)

  { SQL_error("Unable to execute a MySQL request",$query);

  }

  return $res;

}

Cela suppose:
$sql=array();

$sql['host']="***";

$sql['base']="***";

$sql['user']="***";

$sql['pass']="***";

$sql['debug']=TRUE;


Après, c'est à chacun de décider comment il fera.

-------------------------------------
It is not too late to turn back from the GATES of hell.
Kernel
#5 Message posté le : 13-10-2005 à 21:25:12


Maître Jedi


Forum : Administrateur
Association : Membre fondateur
Arrivé(e) le : 16-01-2003
Nombre de messages : 8343
Digimag >> décidément, ça ne s'arrange pas avec le temps à ce que je constate. C'est tellement des conneries, que si ce que tu dis était vrai : avec tous les bouts de code que tu copies sur le forum, il y a longtemps que tu aurais du être dévasté par les attaques . Y'en a qui ne doute de rien


-------------------------------------
Linux c'est bon mangez-en :D
Kernel
#6 Message posté le : 14-10-2005 à 11:19:42


Maître Jedi


Forum : Administrateur
Association : Membre fondateur
Arrivé(e) le : 16-01-2003
Nombre de messages : 8343
Morgoth >> ça y est, j'ai enlevé le js, tu peux à nouveau récupérer le code html comme avant.

-------------------------------------
Linux c'est bon mangez-en :D
Digimag
#7 Message posté le : 14-10-2005 à 13:10:37


Hobbit


Forum : Inscrit
Association :
Arrivé(e) le : 08-04-2005
Nombre de messages : 1137
C'est bien beau de dire que ce n'est que des conneries, mais tu pourrais peut-être donner quelques arguments?

-------------------------------------
It is not too late to turn back from the GATES of hell.
Kernel
#8 Message posté le : 14-10-2005 à 13:25:25


Maître Jedi


Forum : Administrateur
Association : Membre fondateur
Arrivé(e) le : 16-01-2003
Nombre de messages : 8343
Digimag >> si tu veux :

C'est un vieux débat en informatique. On a longtemps pensé que cacher (le code source, les messages d'erreurs ...) était la première étape de la sécurisation d'une application. Depuis une dizaine d'années, les logiciels open source en général et Linux en particulier ont montré qu'il était possible d'être autant sinon plus sécurisé tout en étant ouvert.

Cela prouve définitivement que les failles de sécurité dans une application et donc la possibilité qu'on hacke ton appli, n'ont rien à voir avec l'ouverture du logiciel. Mais bien avec la façon dont il est codé et l'intérêt qu'il represente auprès des potentiels assaillants.

-------------------------------------
Linux c'est bon mangez-en :D
Digimag
#9 Message posté le : 14-10-2005 à 13:36:19


Hobbit


Forum : Inscrit
Association :
Arrivé(e) le : 08-04-2005
Nombre de messages : 1137
Et tu dis carrement que j'ai mal codé. C'est ça qui m'interesse. Tu t'étonnes que je ne me suis pas déjà fait avoir...

Maintenant, ton site, ton forum, ils ne sont pas open-source.

Maintenant, les requêtes qui peuvent être affichées peuvent contenir des informations importantes, qui concernent par exemple un certain utilisateur, un message privé, des identificateurs, ... J'en sais rien. En affichant les requêtes, tu va aussi afficher les informations que tu transmets. Et c'est à eux qu'il faut faire attention.

--Message édité par Digimag le 14-10-2005 à 13:40:00--


-------------------------------------
It is not too late to turn back from the GATES of hell.
Kernel
#10 Message posté le : 14-10-2005 à 13:57:42


Maître Jedi


Forum : Administrateur
Association : Membre fondateur
Arrivé(e) le : 16-01-2003
Nombre de messages : 8343
Digimag >> heu ... la phrase :

C'est tellement des conneries, que si ce que tu dis était vrai : avec tous les bouts de code que tu copies sur le forum, il y a longtemps que tu aurais du être dévasté par les attaques .


signifie :

si comme tu le dis le fait de montrer du code sql ou autre est une faille de sécu alors avec tout le code que tu montres, il y a longtemps que tu aurais du être dévasté.

Maintenant, ton site, ton forum, ils ne sont pas open-source.

Maintenant, les requêtes qui peuvent être affichées peuvent contenir des informations importantes, qui concernent par exemple un certain utilisateur, un message privé, des identificateurs, ... J'en sais rien. En affichant les requêtes, tu va aussi afficher les informations que tu transmets. Et c'est à eux qu'il faut faire attention.


heu (bis), là je jette l'éponge. Je viens à l'instant de t'expliquer que le fait d'être open-source ne te rendait pas plus vulnérable . Au cas où tu n'aurais toujours pas compris : open-source est plus OUVERT que montrer des requêtes SQL. DONC si open-source ne te rend pas plus vulnérable montrer des requête SQL ENCORE MOINS

-------------------------------------
Linux c'est bon mangez-en :D
tamiel
#11 Message posté le : 15-10-2005 à 08:30:30


Hobbit


Forum : Inscrit
Association :
Arrivé(e) le : 17-10-2003
Nombre de messages : 1068
Remarque : pour eviter l'envoi des erreurs en php un @ devant la commande suffit ...

en sachant que les failles sur des requêtes sql sont des erreurs de codage (sauf bug critique).

-------------------------------------
If you don't know, ask manpage !
LuCKy
#12 Message posté le : 16-10-2005 à 20:10:50


Hobbit


Forum : Inscrit
Association :
Arrivé(e) le : 21-05-2003
Nombre de messages : 1224
Etant donné que mon post ne mérite pas un sujet entier, je m'incruste.

Kernel : est ce que tu utilises un systeme de cache pour trustonme, si oui comment tu procèdes (dans les grandes lignes) ? Merci

-------------------------------------
http://www.stationlinux.org - http://fvwm.stationlinux.org (wiki Fvwm FR)
Kernel
#13 Message posté le : 16-10-2005 à 20:53:17


Maître Jedi


Forum : Administrateur
Association : Membre fondateur
Arrivé(e) le : 16-01-2003
Nombre de messages : 8343
non pas de cache.

-------------------------------------
Linux c'est bon mangez-en :D
LuCKy
#14 Message posté le : 16-10-2005 à 20:55:19


Hobbit


Forum : Inscrit
Association :
Arrivé(e) le : 21-05-2003
Nombre de messages : 1224
Kernel a écrit :


non pas de cache.

Tu m'aides pas la

-------------------------------------
http://www.stationlinux.org - http://fvwm.stationlinux.org (wiki Fvwm FR)
Kernel
#15 Message posté le : 16-10-2005 à 21:11:25


Maître Jedi


Forum : Administrateur
Association : Membre fondateur
Arrivé(e) le : 16-01-2003
Nombre de messages : 8343
sinon, il y a jpcache qui fait du cache

-------------------------------------
Linux c'est bon mangez-en :D