Et faire pareil (ou compléter) pour 'movieName' je suppose. Franck
Le 13 mars 2013 14:56, Dsls <[email protected]> a écrit : > Ca ne marchera pas, le bouton est défini par le js. Il faut détecter > du code malveillant dedans : > > En rustine quick&dirty qui colmate la brèche, il faut ajouter dans > load_plugin_file.php un truc du genre : > > +if (isset($_GET['buttonText']) && strpos($_GET['buttonText'],'<') !== > false && strpos($_GET['pf'],'swfupload.swf') !== false) { > + header('Content-Type: text/plain'); > + http::head(403,'Forbidden'); > + exit; > +} > > Le 13 mars 2013 14:44, Franck Paul <[email protected]> a écrit > : > > Bon, va falloir un klingon (en tout cas plus que moi) la dessus. > > > > J'ai testé avec ça dans inc/load_plugin_file.php (ligne 52) : > > > > if (($pf == 'swfupload.swf') && (count($_GET) > 1)) { > > if (isset($_GET['buttonText']) || isset($_GET['movieName'])) // > <-- > > Suis pas certain que ce soit utile > > { > > http::redirect('index.php?pf=swfupload.swf'); > > exit; > > } > > } > > > > Ça a l'air de fonctionner mais en fait je me demande s'il ne vaudrait pas > > mieux renvoyer sur l'accueil de l'admin, voire sur une 404 > > > > > > Franck > > > > > > Le 13 mars 2013 14:28, Franck Paul <[email protected]> a > écrit : > > > >> Oui ça serait plus sage en effet, mais il faut que je vois si ça ne pose > >> pas des problèmes d'effet de bord. > >> > >> Franck > >> > >> > >> Le 13 mars 2013 14:26, Julien Wajsberg <[email protected]> a écrit : > >> > >>> je dirais qu'il faut faire une redirection vers" > >>> /admin/index.php?pf=swfupload.swf" dès que tu détectes d'autre > paramètres. > >>> > >>> > >>> 2013/3/13 Franck Paul <[email protected]> > >>>> > >>>> Et $_GET['movieName'] également puisqu'une faille est possible via ce > >>>> paramètre. > >>>> > >>>> Franck > >>>> > >>>> > >>>> Le 13 mars 2013 14:23, Franck Paul <[email protected]> a > >>>> écrit : > >>>> > >>>>> Nope, le pf est tout seul dans le $_GET['pf'], c'est dans les autres > >>>>> qu'il faut éventuellement filtrer : > >>>>> > >>>>> /admin/index.php?pf=swfupload.swf&buttonText=<a > >>>>> href='javascript:alert(document.cookie)'>Click me</a> > >>>>> > >>>>> > >>>>> Donne : > >>>>> > >>>>> $_GET['pf'] = 'swfupload.swf' > >>>>> $_GET['buttonText'] = '<a > >>>>> href='javascript:alert(document.cookie)'>Click me</a>' > >>>>> > >>>>> Cela dit on pourrait explicitement vider $_GET['buttonText'] puisque > la > >>>>> faille vient de là. > >>>>> > >>>>> Franck > >>>>> > >>>>> > >>>>> Le 13 mars 2013 14:19, Julien Wajsberg <[email protected]> a écrit : > >>>>> > >>>>>> ben c'est surtout le "pf" que tu dois filtrer je pense, non ? > >>>>>> > >>>>>> > >>>>>> 2013/3/13 Franck Paul <[email protected]> > >>>>>>> > >>>>>>> T'as une idée du comment ? > >>>>>>> > >>>>>>> Parce qu'à part faire un unset de tous les $_GET une fois récupéré > le > >>>>>>> $_GET['pf'], je ne vois pas. > >>>>>>> > >>>>>>> Franck > >>>>>>> > >>>>>>> > >>>>>>> Le 13 mars 2013 09:28, Dsls <[email protected]> a écrit : > >>>>>>> > >>>>>>>> Le 13 mars 2013 09:25, Julien Wajsberg <[email protected]> a > écrit : > >>>>>>>> > vu qu'on est déjà sur du jQuery, je pense que ça a l'air bien > >>>>>>>> > ouaip. > >>>>>>>> > > >>>>>>>> > Le hack avec swfupload a l'air mineur et on pourrait attendre de > >>>>>>>> > convertir > >>>>>>>> > swfupload à jquery file upload, non ? > >>>>>>>> > >>>>>>>> On peut aussi filtrer ce qui est envoyé à swfupload.swf. > L'avantage > >>>>>>>> dans dc est qu'il est accessible uniquement via index.php?pf= > >>>>>>>> _______________________________________________ > >>>>>>>> Dev mailing list - [email protected] - > >>>>>>>> http://ml.dotclear.org/listinfo/dev > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> _______________________________________________ > >>>>>>> Dev mailing list - [email protected] - > >>>>>>> http://ml.dotclear.org/listinfo/dev > >>>>>> > >>>>>> > >>>>>> > >>>>>> _______________________________________________ > >>>>>> Dev mailing list - [email protected] - > >>>>>> http://ml.dotclear.org/listinfo/dev > >>>>> > >>>>> > >>>> > >>>> > >>>> _______________________________________________ > >>>> Dev mailing list - [email protected] - > >>>> http://ml.dotclear.org/listinfo/dev > >>> > >>> > >>> > >>> _______________________________________________ > >>> Dev mailing list - [email protected] - > >>> http://ml.dotclear.org/listinfo/dev > >> > >> > > > > > > _______________________________________________ > > Dev mailing list - [email protected] - > > http://ml.dotclear.org/listinfo/dev > _______________________________________________ > Dev mailing list - [email protected] - > http://ml.dotclear.org/listinfo/dev >
_______________________________________________ Dev mailing list - [email protected] - http://ml.dotclear.org/listinfo/dev
