Bonjour, en me promenant sur le site de ma ville j'ai remarqué quelque chose de... troublant. Le site dispose d'un input à l'aide duquel on peut rechercher des articles sur le site.Ma curiosité prenant le dessus j'entre donc un single quote en pensant que le site utiliserait des protections. Or il me renvoie ça:
"SQL ERROR 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 'a' IN BOOLEAN MODE) OR MATCH(t.content) AGAINST (''a' IN BOOLEAN MODE)) ' at line 20 sql : SELECT DISTINCT o.name, o.label, @age:=(DATEDIFF(NOW(),IFNULL(t.created,m.created))) AS age, @score:=(MATCH(o.name,o.label,o.description,o.keywords) AGAINST(''a') + MATCH(t.content) AGAINST (''a')) AS score, IF(@age < 90,@score,IF(@age <180,@score*0.95,IF(@age<270,@score*0.90,IF(@age<270,@score*0.80,IF(@age<360,@score*0.60,0))))) as realscore, o.description, t.content, COALESCE(t.type,m.type) type, CONCAT_WS(' ',DATE_FORMAT(COALESCE(t.published,m.published),'%e'), ELT(MONTH(COALESCE(t.published,m.published)),'Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre'), DATE_FORMAT(COALESCE(t.published,m.published),'%Y')) published "
Avec le peu d'expérience acquis sur newbieContest je me rend tout de même compte qu'il y a clairement un problème et que le site semble vulnérable aux injections SQL. Je décide donc d'en rester là car je connais à peu près les peines encourues pour une intrusion illégale mais je tente tout de même d’exécuter un script sans grande conviction et m'aperçoit qu'il est exécuté (un simple alert().
Je voulais donc savoir si je dois prévenir l'administrateur du site ou non, car je ne sais pas si une vraie injection est réellement possible (le site ne présente pas de système de comptes d'utilisateurs donc est-ce-qu'une injection pourrait vraiment être exploitée ?)
Voilà, bonne journée ^^
|