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