<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>The short internship &#187; faille</title>
	<atom:link href="http://stage.rbpi.devenet.eu/mot-clef/faille/feed" rel="self" type="application/rss+xml" />
	<link>http://stage.rbpi.devenet.eu</link>
	<description>Tribulations d&#039;un stagiaire en service informatique</description>
	<lastBuildDate>Sun, 23 Mar 2014 14:16:49 +0000</lastBuildDate>
	<language>fr-FR</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.8.1</generator>
	<item>
		<title>Jour 21 • Récupération de mot de passe</title>
		<link>http://stage.rbpi.devenet.eu/ma-journee/jour-21-recuperation-de-mot-de-passe.html</link>
		<comments>http://stage.rbpi.devenet.eu/ma-journee/jour-21-recuperation-de-mot-de-passe.html#comments</comments>
		<pubDate>Mon, 29 Jul 2013 19:00:31 +0000</pubDate>
		<dc:creator><![CDATA[Nicolas]]></dc:creator>
				<category><![CDATA[Ma journée]]></category>
		<category><![CDATA[faille]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://stage.rbpi.devenet.eu/?p=268</guid>
		<description><![CDATA[Ce matin en accédant à l&#8217;intranet1. Ce qui l&#8217;est plus c&#8217;est qu&#8217;aucune vérification du lien reçu n&#8217;est effectué : il m&#8217;a été possible de faire afficher un site internet extérieur. Il m&#8217;est alors venu de faire afficher une page d&#8217;authentification &#8230; <a href="http://stage.rbpi.devenet.eu/ma-journee/jour-21-recuperation-de-mot-de-passe.html">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[ <p> Ce matin en accédant à l&rsquo;intranet<sup id="rf1-268"><a href="http://stage.rbpi.devenet.eu/ma-journee/jour-21-recuperation-de-mot-de-passe.html#fn1-268"  title="Site web de la collectivit&eacute;, accessible uniquement en interne, pr&eacute;sentant les services internes, l&rsquo;annuaire, etc), je me suis aper&ccedil;u en affichant le webmail que l&rsquo;intranet incluait directement la page gr&acirc;ce &agrave; une URL fournie en param&egrave;tre. Le webail &eacute;tant h&eacute;berg&eacute; en local rien de tr&egrave;s choquant ((M&ecirc;me si la technologie utilis&eacute;e est obsol&egrave;te : le iFrame :(">1</a></sup>. Ce qui l&rsquo;est plus c&rsquo;est qu&rsquo;aucune vérification du lien reçu n&rsquo;est effectué : il m&rsquo;a été possible de faire afficher un site internet extérieur. <br /> 
Il m&rsquo;est alors venu de faire afficher une page d&rsquo;authentification pirate, me permettant ainsi de récupérer nom d&rsquo;utilisateurs et mots de passe&#8230; </p> 
 <p> Le navigateur par défaut pour accéder à l&rsquo;intranet étant Internet Explorer<sup id="rf2-268"><a href="http://stage.rbpi.devenet.eu/ma-journee/jour-21-recuperation-de-mot-de-passe.html#fn2-268"  title="Oui je sais&hellip;">2</a></sup>, j&rsquo;ai donc passé la matinée à fabriquer une réplique de la fenêtre de connexion Windows. <br /> 
Il faut jouer sur la naïveté de l&rsquo;utilisateur : pour certaines applications, l&rsquo;authentification utilisateur de l&rsquo;AD de sa machine Windows ne suffit pas pour se connecter. Normalement, une nouvelle fenêtre d&rsquo;identification ne devrait pas trop le surprendre. </p> 
 <p> Le fait d&rsquo;imiter la fenêtre de connexion ne suffit pas : il faut amener l&rsquo;utilisateur à se rendre sur l&rsquo;intranet sur une URL particulière, et le mieux, qu&rsquo;il ne se rende pas compte que ses identifiants ont été dérobés. Une faille en cours de résolution sur le réseau interne est que le serveur d&rsquo;envoi des mails ne vérifie pas vraiment l&rsquo;identité. Il est donc possible d&rsquo;envoyer un mail à plusieurs personnes en se faisant passer pour un autre. Il ne reste plus qu&rsquo;à susciter l’intérêt de l&rsquo;agent pour qu&rsquo;il clique sur le lien : un message concernant une intervention du maire, un fiche de recommandation sur je ne sais quel sujet, &#8230; </p> 
 <p> Pour mettre en place cette récupération d&rsquo;identifiants, je souhaitais que l&rsquo;URL incluse ressemble à quelque chose d&rsquo;officiel. J&rsquo;ai opté pour <code>auth.ville.local</code>, sachant que le suffixe DNS des connexions filaires est <code>ville.local</code>. De plus, il est existe réellement un serveur <code>auth.ville.fr</code>, mais seulement accessible depuis l&rsquo;extérieur. La ressemblance est relativement bonne, surtout pour un utilisateur naïf ! <br /> 
J&rsquo;ai donc mis en place une machine virtuelle sous Ubuntu serveur, en y configurant un serveur Web, ainsi que son nom &laquo;&nbsp;auth&nbsp;&raquo;, qui une fois sur le réseau, est devenue auth.ville.local. Parfait <span class="icon-emo-happy"/> </p> 
 <p> Cette démarche a mis en évidence un autre problème du réseau interne : toute machine se connectant en filaire sur le réseau à l&rsquo;intérieur de la DSIT<sup id="rf3-268"><a href="http://stage.rbpi.devenet.eu/ma-journee/jour-21-recuperation-de-mot-de-passe.html#fn3-268"  title="Il faut d&eacute;j&agrave; r&eacute;ussir &agrave; le faier, le b&acirc;timent r&eacute;gulant toutes les entr&eacute;es.">3</a></sup> obtient le suffixe DNS &laquo;&nbsp;ville.local&nbsp;&raquo;. Donc toute personne ayant renommée intelligemment sa machine peut tenter &laquo;&nbsp;d&rsquo;usurper&nbsp;&raquo; l’identité d&rsquo;une autre machine. C&rsquo;est ce que P. a fait : il a nommé sa machine sous Linux du même nom que celle de A., et oh magie, lorsque je tentais un <em>ping</em> vers le nom de machine de A., c&rsquo;est en fait la machine de P. qui répondait. <br /> 
P. aurait souhaité prendre le nom d&rsquo;un serveur, pour voir comment le réseau réagirait, mais cela ne lui a pas été possible<sup id="rf4-268"><a href="http://stage.rbpi.devenet.eu/ma-journee/jour-21-recuperation-de-mot-de-passe.html#fn4-268"  title="Et on comprend bien, il aurait fallu un r&eacute;seau test &agrave; c&ocirc;t&eacute; pour le faire.">4</a></sup>. </p> 
 <p> Le problème a été remonté mais n&rsquo;est pour l&rsquo;instant pas une priorité absolue. Il s&rsquo;agit du réseau interne, et n&rsquo;importe qui ne peut pas entré ni tombé sur une prise Ethernet active. L&rsquo;extérieur de réseau est lui mieux sécurisé, et c&rsquo;est là dessus que l&rsquo;on souhaite se concentrer pour l&rsquo;instant. </p> 
<hr class="footnotes"><ol class="footnotes"><li id="fn1-268"> <p> Site web de la collectivité, accessible uniquement en interne, présentant les services internes, l&rsquo;annuaire, etc), je me suis aperçu en affichant le <em>webmail</em> que l&rsquo;intranet incluait directement la page grâce à une URL fournie en paramètre. Le webail étant hébergé en local rien de très choquant ((Même si la technologie utilisée est obsolète : le iFrame :(&nbsp;<a href="#rf1-268" class="backlink" title="Jump back to footnote 1 in the text.">&#8617;</a> </p> </li><li id="fn2-268"> <p> Oui je sais&#8230;&nbsp;<a href="#rf2-268" class="backlink" title="Jump back to footnote 2 in the text.">&#8617;</a> </p> </li><li id="fn3-268"> <p> Il faut déjà réussir à le faier, le bâtiment régulant toutes les entrées.&nbsp;<a href="#rf3-268" class="backlink" title="Jump back to footnote 3 in the text.">&#8617;</a> </p> </li><li id="fn4-268"> <p> Et on comprend bien, il aurait fallu un réseau test à côté pour le faire.&nbsp;<a href="#rf4-268" class="backlink" title="Jump back to footnote 4 in the text.">&#8617;</a> </p> </li></ol>]]></content:encoded>
			<wfw:commentRss>http://stage.rbpi.devenet.eu/ma-journee/jour-21-recuperation-de-mot-de-passe.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jour 13 • Quand le chat n&#8217;est pas là, les souris dansent</title>
		<link>http://stage.rbpi.devenet.eu/ma-journee/jour-13-quand-le-chat-nest-pas-la-les-souris-dansent.html</link>
		<comments>http://stage.rbpi.devenet.eu/ma-journee/jour-13-quand-le-chat-nest-pas-la-les-souris-dansent.html#comments</comments>
		<pubDate>Wed, 17 Jul 2013 15:01:22 +0000</pubDate>
		<dc:creator><![CDATA[Nicolas]]></dc:creator>
				<category><![CDATA[Ma journée]]></category>
		<category><![CDATA[faille]]></category>
		<category><![CDATA[présentation]]></category>
		<category><![CDATA[solution]]></category>
		<category><![CDATA[synthèse]]></category>

		<guid isPermaLink="false">http://stage.rbpi.devenet.eu/?p=176</guid>
		<description><![CDATA[Aujourd&#8217;hui A., RSSI de la collectivité locale, a pris sa journée pour faire son déménagement. J&#8217;en ai profité pour presque finaliser mes recommandations. J&#8217;ai aussi fait quelques tests sur les cookies1, pour bien montrer qu&#8217;il ne faut jamais faire confiance &#8230; <a href="http://stage.rbpi.devenet.eu/ma-journee/jour-13-quand-le-chat-nest-pas-la-les-souris-dansent.html">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[ <p> Aujourd&rsquo;hui A., RSSI de la collectivité locale, a pris sa journée pour faire son déménagement. J&rsquo;en ai profité pour presque finaliser mes recommandations. <br /> 
J&rsquo;ai aussi fait quelques tests sur les cookies<sup id="rf1-176"><a href="http://stage.rbpi.devenet.eu/ma-journee/jour-13-quand-le-chat-nest-pas-la-les-souris-dansent.html#fn1-176"  title="Notamment avec ce plugin&nbsp;jquery-cookie pour ins&eacute;rer et lire des cookies en JavaScript, et Firebug pour modifier les cookies enregistr&eacute;s sur mon ordinateur">1</a></sup>, pour bien montrer qu&rsquo;il ne faut jamais faire confiance aux données reçues. Il me reste un petit paragraphe sur la gestion et le stockage des mots de passe à éclaircir, et je devrais avoir terminer la partie &laquo;&nbsp;explications/exemples&nbsp;&raquo;. </p> 
 <p> Comme en début d&rsquo;après-midi P. et moi nous devions présenter les vulnérabilités trouvées et les solutions pour les pallier à B., nous avons un peu retravaillé nos supports. </p> 
 <p> Le début d&rsquo;après-midi a ainsi pu bien se déroulé. B. a été très à l&rsquo;écoute, mais comme l&rsquo;application est encore en développement et que la <em>deadline</em> n&rsquo;est pas urgente, il fera les modifications nécessaires lorsqu&rsquo;il aura un peu de temps. La réunion a été courte, mais il en a profité pour nous demander de tester d&rsquo;autres internes et externes, pour voir ce que nous trouvions. </p> 
 <p> Il faudra cependant attendre demain, pour que A., notre responsable, téléphone au prestataire afin de les prévenir que nous allons faire des tests de vulnérabilité sur leurs serveurs où sont hébergés certains sites. </p> 
<hr class="footnotes"><ol class="footnotes"><li id="fn1-176"> <p> Notamment avec ce plugin <a href="https://github.com/carhartl/jquery-cookie" target="_blank">jquery-cookie</a> pour insérer et lire des cookies en JavaScript, et <a href="https://addons.mozilla.org/fr/firefox/addon/firebug/" target="_blank">Firebug</a> pour modifier les cookies enregistrés sur mon ordinateur&nbsp;<a href="#rf1-176" class="backlink" title="Jump back to footnote 1 in the text.">&#8617;</a> </p> </li></ol>]]></content:encoded>
			<wfw:commentRss>http://stage.rbpi.devenet.eu/ma-journee/jour-13-quand-le-chat-nest-pas-la-les-souris-dansent.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jour 10 • Fin de semaine</title>
		<link>http://stage.rbpi.devenet.eu/ma-journee/jour-10-fin-de-semaine.html</link>
		<comments>http://stage.rbpi.devenet.eu/ma-journee/jour-10-fin-de-semaine.html#comments</comments>
		<pubDate>Fri, 12 Jul 2013 21:35:14 +0000</pubDate>
		<dc:creator><![CDATA[Nicolas]]></dc:creator>
				<category><![CDATA[Ma journée]]></category>
		<category><![CDATA[faille]]></category>
		<category><![CDATA[présentation]]></category>
		<category><![CDATA[réunion]]></category>
		<category><![CDATA[solution]]></category>

		<guid isPermaLink="false">http://stage.rbpi.devenet.eu/?p=159</guid>
		<description><![CDATA[Nous voilà vendredi, cela va faire deux semaines que mon stage à commencer. Le tiers est déjà fait, c&#8217;est fou comme je n&#8217;ai pas vu le temps passé. Ce matin, programme agréable : préparation d&#8217;un court rapport et d&#8217;une petite &#8230; <a href="http://stage.rbpi.devenet.eu/ma-journee/jour-10-fin-de-semaine.html">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[ <p> Nous voilà vendredi, cela va faire deux semaines que mon stage à commencer. Le tiers est déjà fait, c&rsquo;est fou comme je n&rsquo;ai pas vu le temps passé. </p> 
 <p> Ce matin, programme agréable : préparation d&rsquo;un court rapport et d&rsquo;une petite présentation des solutions trouvées hier pour pallier les failles de sécurité trouvées, qui je le rappele, permettent l&rsquo;envoi de n&rsquo;importe quel fichier — et donc, au hasard un script PHP permettant de prendre la main sur le serveur —, et de nombres failles XSS permettant l&rsquo;exécution de code malicieux. <br /> 
Cette petite présentation devra être présentée cet après-midi avec A., mon maître de stage, et P. son premier stagiaire. P. devait s&rsquo;occuper de faire la présentation concernant la recherche et présenter ce que permettent de faire les failles. </p> 
 <p> Ce midi : barbecue. Enfin, pour être exact, inauguration du barbecue. Pour l&rsquo;occasion j&rsquo;avais apporter une salade de nouilles/tomates/fromages/jambon. Les cuisiniers s&rsquo;en sont très bien sortis ; ce fût très bon et très agréable de pouvoir discuter tous ensemble. Certains ont même commencé une partie de pétanque <span class="icon-emo-wink2"/> </p> 
 <p> Après ce petit repas, il a fallu digérer un peu, ce qui a permis de prendre son temps pour faire notre petite réunion de présentation. Tout s&rsquo;est bien passé, nous avons pas mal discuté, surtout d&rsquo;un sujet récurrent : comment l&rsquo;application web arrive à identifier l&rsquo;utilisateur sur l&rsquo;Active Directory sans jamais transmettre son mot de passe. <br /> 
La réponse est certainement très bête<sup id="rf1-159"><a href="http://stage.rbpi.devenet.eu/ma-journee/jour-10-fin-de-semaine.html#fn1-159"  title="Je verrais bien un &eacute;change de token pour authentifier l&rsquo;utilisateur en fonction de sa session Windows &mdash; l&rsquo;application n&rsquo;est disponible qu&rsquo;avec IE, les autres navigateurs ne supportant a priori pas la m&eacute;thode d&rsquo;authentification automatique utilis&eacute;e&hellip;">1</a></sup>. </p> 
 <p> Hé puis, mine de rien, il était déjà l&rsquo;heure de rentrer <span class="icon-emo-happy"/> </p> 
<hr class="footnotes"><ol class="footnotes"><li id="fn1-159"> <p> Je verrais bien un échange de token pour authentifier l&rsquo;utilisateur en fonction de sa session Windows — l&rsquo;application n&rsquo;est disponible qu&rsquo;avec IE, les autres navigateurs ne supportant a priori pas la méthode d&rsquo;authentification automatique utilisée&#8230;&nbsp;<a href="#rf1-159" class="backlink" title="Jump back to footnote 1 in the text.">&#8617;</a> </p> </li></ol>]]></content:encoded>
			<wfw:commentRss>http://stage.rbpi.devenet.eu/ma-journee/jour-10-fin-de-semaine.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jour 9 • Encore du code source</title>
		<link>http://stage.rbpi.devenet.eu/ma-journee/jour-9-encore-du-code-source.html</link>
		<comments>http://stage.rbpi.devenet.eu/ma-journee/jour-9-encore-du-code-source.html#comments</comments>
		<pubDate>Wed, 10 Jul 2013 21:17:27 +0000</pubDate>
		<dc:creator><![CDATA[Nicolas]]></dc:creator>
				<category><![CDATA[Ma journée]]></category>
		<category><![CDATA[développement]]></category>
		<category><![CDATA[faille]]></category>

		<guid isPermaLink="false">http://stage.rbpi.devenet.eu/?p=156</guid>
		<description><![CDATA[Cette journée a été la continuité de la veille. Le matin, j&#8217;ai continué à chercher des solutions pour pallier les vulnérabilités trouvées sur l&#8217;application de gestion des déchets. Pour l&#8217;échappement des caractères, je n&#8217;ai pas mieux trouvé que htmlspecialchars. Néanmoins, &#8230; <a href="http://stage.rbpi.devenet.eu/ma-journee/jour-9-encore-du-code-source.html">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[ <p> Cette journée a été la continuité de la veille. Le matin, j&rsquo;ai continué à chercher des solutions pour pallier les vulnérabilités trouvées sur l&rsquo;application de gestion des déchets. <br /> 
Pour l&rsquo;échappement des caractères, je n&rsquo;ai pas mieux trouvé que <code>htmlspecialchars</code>. Néanmoins, la fonction utilisée telle quelle n&rsquo;échappe pas les guillemets simples. Il faut ajouter un paramètres à la fonction pour que les caractères <code>&amp;</code>, <code>"</code>, <code>'</code>, <code>&lt;</code> et <code>&gt;</code> soient échappés : </p> 
<pre>htmlspecialchars('ma super donnée à échapper', ENT_QUOTES)</pre>
 <p> Néanmoins, même sans ajouter ce paramètre, ajouter cette fonction d&rsquo;échappement résoudra bien des problèmes. </p> 
 <p> Petite pause le midi pour jouer à Left4Dead. Bizarrement, il a fallu quelques temps avant d&rsquo;arriver à ce que nous puissions tous les trois rejoindre une même partie en réseau local alors que nous avions tous une version authentique. Ce fut bien rigolo. </p> 
 <p> L&rsquo;après-midi, je me suis plus concentré sur la validation des fichiers envoyés sur le serveur. J&rsquo;ai trouvé deux solutions. Elles peuvent être mises en place séparément, mais il me semblerait plus judicieux de tout le temps utiliser les deux&#8230; </p> 
<ol>
<li><span style="color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, 'Nimbus Sans L', sans-serif; font-style: normal;">La première solution consiste à désactiver l&rsquo;exécution de scripts PHP dans les dossiers uploads et de forcer le téléchargement des fichiers.</span></li>
<li>La seconde solution consiste à vérifier le type et l&rsquo;extension du fichier envoyé, et de rejeter tout fichier dont ces critères ne seraient pas autorisés.</li>
</ol>
 <p> D&rsquo;une manière générale, la seconde méthode doit toujours être mise en place, car : </p> 
<blockquote> <p> Ne jamais faire confiance aux données reçues. </p> </blockquote>
 <p> La première solution n&rsquo;est là que si la vérification aurait échouée. </p> 
]]></content:encoded>
			<wfw:commentRss>http://stage.rbpi.devenet.eu/ma-journee/jour-9-encore-du-code-source.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jour 8 • Un peu de code source</title>
		<link>http://stage.rbpi.devenet.eu/ma-journee/jour-8-un-peu-de-code-source.html</link>
		<comments>http://stage.rbpi.devenet.eu/ma-journee/jour-8-un-peu-de-code-source.html#comments</comments>
		<pubDate>Wed, 10 Jul 2013 21:13:56 +0000</pubDate>
		<dc:creator><![CDATA[Nicolas]]></dc:creator>
				<category><![CDATA[Ma journée]]></category>
		<category><![CDATA[développement]]></category>
		<category><![CDATA[faille]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[recherche]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://stage.rbpi.devenet.eu/?p=120</guid>
		<description><![CDATA[La journée a commencé avec deux voitures incendiées : en arrivant nous avons pu voir que deux voitures de fonction utilisées par la collectivité locale étaient en cendre. Une personne de la police scientifique était présente et s&#8217;adonnait à des &#8230; <a href="http://stage.rbpi.devenet.eu/ma-journee/jour-8-un-peu-de-code-source.html">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[ <p> La journée a commencé avec deux voitures incendiées : en arrivant nous avons pu voir que deux voitures de fonction utilisées par la collectivité locale étaient en cendre. Une personne de la police scientifique était présente et s&rsquo;adonnait à des prélèvements, photos, etc pour tenter de déterminer la cause. A priori, ce ne serait pas volontaire. </p> 
 <p> <img class="aligncenter size-full wp-image-132" alt="Voitures brûlées" src="http://stage.rbpi.devenet.eu/wp-content/uploads/2013/07/voitures_brulees.jpg" width="500" height="188" /> </p> 
 <p> La suite du programme a été de tester une application web<sup id="rf1-120"><a href="http://stage.rbpi.devenet.eu/ma-journee/jour-8-un-peu-de-code-source.html#fn1-120"  title="Encore en d&eacute;veloppement, sur un serveur d&rsquo;int&eacute;gration">1</a></sup> permettant de gérer le recyclage de gros déchets. <br /> 
P. s&rsquo;est rapidement aperçu que les champs des formulaires n&rsquo;étaient aucunement contrôlés : bonjour les failles XSS. D&rsquo;autre part, l&rsquo;envoi de fichiers n&rsquo;était pas non plus sécurisé : nous avons pu envoyer un fichier PHP et l&rsquo;exécuter. Et enfin les commandes systèmes <code>exec</code>, <code>shell_exec</code> et <code>system</code> n&rsquo;étaient pas désactivées, ce qui nous a permis d&rsquo;avoir la main mise sur le serveur&#8230;<img class="aligncenter size-large wp-image-142" alt="Capture faille exploitée par script PHP" src="http://stage.rbpi.devenet.eu/wp-content/uploads/2013/07/capture_faille_appli_dechets-500x592.png" width="500" height="592" />L&rsquo;après-midi a été consacré à la recherche des lignes problématiques dans le code source que B. a pu nous fournir. Les développeurs ont utilisés le <em>framework</em> Zend pour leur application. Le problème, c&rsquo;est que Zend n&rsquo;échappe les caractères par défaut lors de réception de données<sup id="rf2-120"><a href="http://stage.rbpi.devenet.eu/ma-journee/jour-8-un-peu-de-code-source.html#fn2-120"  title="Donn&eacute;es re&ccedil;ues en GET ou en POST">2</a></sup>. Il faut donc qu&rsquo;à chaque ligne où la méthode de Zend pour récupérer une requête est utilisée échapper les caractères avec la fonction <code>htmlspecialchars</code><sup id="rf3-120"><a href="http://stage.rbpi.devenet.eu/ma-journee/jour-8-un-peu-de-code-source.html#fn3-120"  title="L&rsquo;application est en effet cod&eacute;e en PHP">3</a></sup>. <br /> 
Sublime Text a su me fournir rapidement toutes les lignes à corriger. Reste maintenant à pouvoir modifier le code source du projet en intégration&#8230; </p> 
<hr class="footnotes"><ol class="footnotes"><li id="fn1-120"> <p> Encore en développement, sur un serveur d&rsquo;intégration&nbsp;<a href="#rf1-120" class="backlink" title="Jump back to footnote 1 in the text.">&#8617;</a> </p> </li><li id="fn2-120"> <p> Données reçues en GET ou en POST&nbsp;<a href="#rf2-120" class="backlink" title="Jump back to footnote 2 in the text.">&#8617;</a> </p> </li><li id="fn3-120"> <p> L&rsquo;application est en effet codée en PHP&nbsp;<a href="#rf3-120" class="backlink" title="Jump back to footnote 3 in the text.">&#8617;</a> </p> </li></ol>]]></content:encoded>
			<wfw:commentRss>http://stage.rbpi.devenet.eu/ma-journee/jour-8-un-peu-de-code-source.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
