Je ne prétend pas avoir la science infuse, ni tout connaitre, loin de moi, alors je te propose un nouvel exemple concert :
J'ai un blog et voilà mon code pour le système de commentaire :
[code]
$data=\kernel\req_sql("SELECT * FROM blog WHERE [id]",array('id'=>$id),true,true);
$input=$data['data'];
// $output=htmlentities($input);
$output=preg_replace_callback("#\
(.*)\[/code\]#sUi", 'code', $output);
J'ai volontairement commenter la ligne de sécurisation des XSS, maintenant je te demande comment un soft peut savoir si cette variable peut etre affichée sans risque ? Personnelement, je l'ignore totalement, après si ton soft gueule à chaque fois que tu fait un echo sans htmlspecialchars, c'est de la connerie pur et dur...
Après comment veut-tu qu'il regarde si tu gère le cas de cookie falsifiés ? (genre PHPSESSID non alphanumérique )
Comment il peut savoir les traitements qui doivent etres appliqués dans les flux d'input / output ?
Je pourrais continuais longtemps ainsi.
conclusion : seul un humain peut effectuer un audit en whitebox (sans trop d'oubli j'entend) en revanche en blackbox ils sont très très très bon (nikto, nmap, nessus, etc....)
Après je peut me tromper...
Comme je peux nuencer mon propos en imaginant un script php qui exec un autre et regarde les ini_get à la recherche de valeurs dangereuses, ou scanne la source à la recherche de motif dangereux, mais cela ne detecteras rien des failles subtiles qui existent sur une application web. De plus chaque programmeur as ses codes et sa méthodes, pour une CRLF, comment ton script peut savoir que preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['form1_mail']) vaut str_replace(array("\n","\r",PHP_EOL),'',$_POST['form1_mail]) ???
Les softs du genre sont utiles pour automatisés la detection de failles, mais il existe une infinité de variantes de failles... et seule un humain peut les detecter
while(time() > time()-1) un bot comprend et se pose pas de question, il execute, un humain, lui rigole, là c'est de la prog facile, mais quand tu travaille sur une application de plusieurs milliers de lignes de code, après toutes les intérractions présentes, un bot est incapables d'analyser tout ça, sinon les bots prendraient la place des dev 
Voilà
Partager