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

Répondre à