OVH Cloud OVH Cloud

Microsoft offre un demi-million de dollars pour la tete de l'auteur de MSBlast

406 réponses
Avatar
Guillermito
Comme au temps du far-west:

En anglais:
http://www.theregister.co.uk/content/55/33792.html

En français:
http://www.zdnet.fr/actualites/technologie/0,39020809,39128871,00.htm

Pathétique. Ils devraient utiliser cet argent pour embaucher des
programmeurs qui savent éviter les buffer overflow.

--
Guillermito
http://www.guillermito2.net

10 réponses

Avatar
Laurent Wacrenier
Roland Garcia écrit:
Le problème est dans les fonctionnalités absurdes à la Microsoft, pas
dans les overflow_machin qui eux touchent tout le monde. On a même
inventé les fonctionnalités absurdes dans les anti-virus, rajoutant une
couche à celles de Microsoft.......


Peut être par anticipation, pour prévenir les futures fonctionnalités
absurdes de Microsoft ?

Avatar
Laurent Wacrenier
Frederic Bonroy écrit:
Normalement oui - seulement il peut-être utile de contourner le
content-type dans les cas justement où l'administrateur n'a pas fait
son boulot. Ce n'est pas propre, mais utile.


C'est nuisible. Ça habitue les "devellopeurs web" faire des
application fonctionnant uniquement sur leur navigateur, parce c'est
le seul qui sache pallier à leurs erreurs de programmation.

Avatar
Roland Garcia

AMcD écrit:

Un OS c'est des millions de lignes de code,


750 000 environ pour FreeBSD-5 (noyau, librairies, utilitaires)


Soyez précis, deux lignes ça compte !!! :-)
http://kerneltrap.org/node/view/1584

Roland Garcia


Avatar
Frederic Bonroy
Frederic Bezies a écrit:

Des sites de merdes ? Comme celui de Virgin ?


Pas mal non plus ça, hein?

http://us.mcafee.com/root/genericURL.asp?genericURL=/common/en-us/html_files/nonIE.asp

Quand je demande à Opera de se faire passer pour IE, je peux voir
la page que McAfee m'a refusée lorsque j'utilisais Firebird, et je
ne vois vraiment pas pourquoi il faut IE pour cette page.

(Pour reproduire, aller sur
http://download.mcafee.com/eval/evaluate2.asp et cliquer sur
"Add to cart" par exemple après avoir coché 15-day free trial
pour McAfee VirusScan.)

Avatar
joke0
Salut,

Frederic Bonroy:
Quand je demande à Opera de se faire passer pour IE, je peux voir
la page que McAfee m'a refusée lorsque j'utilisais Firebird, et je
ne vois vraiment pas pourquoi il faut IE pour cette page.


Il existe un "agent string switcher" pour FireBird sur
http://texturizer.net/firebird pour passer outre ces aberrations.

Fu2

--
joke0

Avatar
Nicob
On Fri, 07 Nov 2003 21:39:05 +0100, Frederic Bonroy wrote:

Des sites de merdes ? Comme celui de Virgin ?


Pas mal non plus ça, hein?

http://us.mcafee.com/root/genericURL.asp?genericURL=/common/en-us/html_files/nonIE.asp


Bon, vu que j'avais 10 minutes à perdre :

Cross-site scripting :
http://us.mcafee.com/root/genericURL.asp?genericURL=/hackeme%3Cscript%3Ealert(%22Haha%22)%3C/script%3E.asp

Boucle infinie "client side" :
http://us.mcafee.com/root/genericURL.asp?genericURL=/../../../../root/genericURL.asp

Boucle infinie "server side" (aka DoS) :
Non non, pas d'URL. Cherchez-vous même si ça vous intéresse ...

Conclusion : c'est *vraiment* un site de merde !


Nicob


Avatar
Frederic Bonroy
Nicob a écrit:

Boucle infinie "client side" :

http://us.mcafee.com/root/genericURL.asp?genericURL=/../../../../root/genericURL.asp


Ça marche toujours ça, les chemins relatifs?

Si je me souviens bien dans un autre contexte ça permettait d'accéder
à des fichiers système avec IIS ou quelque chose comme ça?

Boucle infinie "server side" (aka DoS) :
Non non, pas d'URL. Cherchez-vous même si ça vous intéresse ...


Si on veut se faire démolir la porte par le FBI à 3 heures du matin...
;-)

Avatar
Nicob
On Fri, 07 Nov 2003 23:10:16 +0100, Frederic Bonroy wrote:

http://us.mcafee.com/root/genericURL.asp?genericURL=/../../../../root/genericURL.asp

Ça marche toujours ça, les chemins relatifs?


Heu .... Oui !

Et même très régulièrement. Mais là, c'est juste un Server.Execute,
donc pas de risque de remonter au dessus de l'arboresence Web.


Nicob

Avatar
Vincent Bernat
OoO En cette matinée ensoleillée du jeudi 06 novembre 2003, vers
09:18, "AMcD" disait:

Un OS c'est des millions de lignes de code, c'est autre chose que quelques
malheureux milliers de lignes pour un serveur POP/SMTP. Et surtout d'une
bien plus grande complexité que l'utilisation de librairies satndards au
code éprouvé depuis 15 ans (cas d'applis de courrier). Qui plus est, 22K
lignes sans beaucoup de commentaires, c'est de la daube : c'est
inmaintenable et aucune boîte sérieuse refusera un tel travail. De toute
façon, 22.000 lignes pour un serveur de courrier, je doute que ce soit
l'oeuvre d'un professionnel...


C'est amusant toutes les choses _débiles_ que l'on peut dire quand on
ne connaît pas les gens à qui on s'adresse. Prendre LWA pour un
neuneu, c'est une perle rare que je garde sous le coude.
--
BOFH excuse #112:
The monitor is plugged into the serial port

Avatar
AMcD
Vincent Bernat wrote:
OoO En cette matinée ensoleillée du jeudi 06 novembre 2003, vers
09:18, "AMcD" disait:

C'est amusant toutes les choses _débiles_ que l'on peut dire quand on
ne connaît pas les gens à qui on s'adresse. Prendre LWA pour un
neuneu, c'est une perle rare que je garde sous le coude.


Bis repetita. Je ne le connais pas. Je ne le prends pas pour un neuneu. Je
réagis vis-à-vis de ses propos. Point. On n'écrit pas des applis de 22k
lignes sans beaucoup de commentaires. C'est inmaintenable par toute autre
personne que celle qui l'a écrit (et encore, faut-il qu'il n'y revienne pas
un an après). Et à moins d'avoir une documentation et un cahier de charges
professionnels de plusieurs dizaines de pages (et encore !), on n'écrit pas
des applis professionnelles sans beaucoup de commentaires. C'est une
hérésie.

Son côté péremptoire quand à l'écriture du code sûr est de la vantardise
pure et simple. Si une méthode existait, elle serait déjà connue et tout le
monde l'appliquerait. Je ne vois pas en quoi du code en GPL serait plus sûr
qu'un autre. Surtout qu'on ne sait généralement pas quelle sont les
processus de contrôle mis en place dans les entreprises.

Je viens de télécharger les sources de PLL Mail, projet dont je suppose que
le LWA dont nous parlons ici est le même que celui mentionné dans les admins
de projets sur sourceforge (si c'est pas lui, pas de chance, un gars portant
le même nom que lui écrit du code buggé). Voici un exemple tiré de wrap.c,
premier fichier du package pris au hasard, la fonction home_crypt() :

char *home_crypt(char *key, char *salt) {
if (home_param.crypt_always_crypted) {
return crypt(key, salt);
}
switch(home_crypted(salt)) {
case HOME_CRYPTED_CRYPT: {
static char scp[sizeof("{crypt}") + 13 + HOME_CRYPT_CRYPT_EXTRA_CHARS];
char *cp;
cp=crypt(key, salt+sizeof("{crypt}")-1);
strncpy(scp, salt, sizeof("{crypt}"));
scp[sizeof("{crypt}")-1]=0;
strncpy(scp+sizeof("{crypt}")-1, cp, sizeof(scp)-sizeof("{crypt}"));
scp[sizeof(scp)-1]=0;
return scp;
}
case HOME_CRYPTED_PLAIN:
if (salt=NULL) {
return NULL;
}
return key;
}
return NULL;

Vite fait, en deux minutes : Variables non initialisées, indentation
inexistante, noms de variables absolument pas explicite, non codage de
chaînes répétitives (genre "crypt") en constantes, utilisation très étrange
(et non optimisée) de l'append de l'octet NULL avec strncpy() (pourquoi
copier x si le xeme est mis à NULL ensuite ?) et, à moins d'un effet de
style très hors de portée d'un débutant (genre je sors de l'école) qui
aurait à maintenir ce code, erreur à if (salt=NULL). Erreur facilement
évitable en affectant les variables à l'envers, comme tout bon pogrammeur a
appris à le faire pendant ses études. Stoppons là.

Ce code est illisible et inmaintenable par quiconque que lui. Ce code ne
passerait pas les portes d'un chef de projet de la première entreprise
sérieuse venue. GPL ou pas. Mes anciens profs de fac m'aurait d'ailleurs mis
carrément 5 ou 6 sur 20 sur ce genre de bouillie.

Moi aussi je sais de quoi je parle, ça doit bien faire 21 ou 22 ans que je
code, et c'est moi qu'il faudrait pas prendre pour un neuneu en débitant des
âneries !

PS : je le dispense de signaler mon nom au cas où le if(salt=NULL) serait
une erreur. Je sais être altruiste, même pour la communauté UNIX.

Bon week-end.

--
AMcD

http://arnold.mcdonald.free.fr/