------=_Part_23386_7026757.1158706588908 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Produit vuln=E9rable : A.I-Pifou (Cookie) Local File Inclusi= on, ... ( Livre d'or en PHP ) '''''''''''''''''''' Site officiel : http://actif-video.chez-alice.fr/index.php ''''''''''''''' Failles d=E9couvertes : (Cookie) Local File Inclusion, ... ''''''''''''''''''''' Explications : '''''''''''''' inc/change_lang_ck.php : '''''''''''''''''''''''' ---------------------------------------------------------------------------= ------ Ligne 7 : $ze_langue_02 =3D $HTTP_COOKIE_VARS['ze_langue_02']; Ligne 8 : include ('langues/'.$ze_langue_02.'/'.$ze_langue_02.'_lng_web.inc'); ---------------------------------------------------------------------------= ------ Le chemin du fichier =E0 inclure est recup=E9r=E9e depuis la valeur du cook= ie ze_langue_02. Cette action est dangereuse puisque si l'on cr=E9e nous m=EAme un cookie av= ec comme nom ze_langue_02 en lui fournissant comme valeur le chemin du fichie= r que l'on souhaite inclure, l'inclusion se fait ! choix_langue.php : '''''''''''''''''' ---------------------------------------------------------------------------= ------ Ligne 2 : $choix_lng =3D $HTTP_GET_VARS['choix_lng']; Ligne 3 : setcookie('ze_langue_02', $choix_lng, time()+20*24*3600); ---------------------------------------------------------------------------= ------ Gr=E2ce =E0 la variable $choix_lng, le fichier choix_langue.php permet de modifier directement la valeur du cookie ze_langue_02. Ainsi la valeur recup=E9r=E9e par HTTP_GET_VARS devient celle du cookie ze_langue_02. Exploitation : '''''''''''''' Inclusion Local : ''''''''''''''''' Deux solutions nous sont offertes : -> 1] On pourrait cr=E9er nous m=EAme un cookie qu'on nommera ze_langue_02 = et dont le contenu sera le chemin du fichier qu'on souhaite lire, puis il suffirait ensuite de se rediriger vers un fichier qui apelle le fichier vuln=E9rable, c'est =E0 dire /inc/change_lang_ck.php. -> 2] On pourrait utiliser le fichier choix_langue.php qui permet de faire automatiquement la m=EAme manoeuvre. Utilisation du fichier choix_langue.php : ''''''''''''''''''''''''''''''''''''''''' On commence par sp=E9cifier comme valeur =E0 la variable choix_lng le chemi= n du fichier =E0 lire en ajoutant =E0 la fin un nullbyte (%00) qui permet d'annu= ler ce qui est ajout=E9 apr=E8s notre entr=E9e : Exemple : http://localhost/livre_dor/choix_langue.php?choix_lng=3D../../../../../../.= ./BOOT.ini%00 Une fois la valeur specifi=E9e, il nous reste plus qu'a se diriger vers un fichier qui apelle le fichier vuln=E9rable /inc/change_lang_ck.php. Le fichier livre_dor.php par exemple, qui represente l'index du livre d'or, est l'un de ces fichiers qui appellent le fichier vuln=E9rable : livre_dor.php : ''''''''''''''' ---------------------------------------------------------------------------= ------ Ligne 15 : include ('inc/change_lang_ck.php'); ---------------------------------------------------------------------------= ------ /!\/!\/!\ Pour plus d'informations, une vid=E9o de l'exploitation de la fai= lle est disponible sur cdg.new.fr ;) /!\/!\/!\ @@@@@@@@@@@@@@@@@ Avis de s=E9curit=E9 par cdg393 // cdg.new.fr // cdg393_gmail_com =3D) ------=_Part_23386_7026757.1158706588908 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Produit vuln=E9rable :         = ;      A.I-Pifou  (Cookie) Local File Inclusi= on, ...   ( Livre d'or en PHP )
''''''''''''''''''''

Si= te officiel :          &n= bsp;         http://actif-video.chez-alice.fr/index.php
'''''''''''''''

Fa= illes d=E9couvertes :         =      (Cookie) Local File Inclusion, ...
''''''''''''= '''''''''

Explications :
''''''''''''''

inc/change_lang_ck= .php :=20
''''''''''''''''''''''''
-------------------------------------------= --------------------------------------
Ligne 7 : $ze_langue_02 =3D $HTTP= _COOKIE_VARS['ze_langue_02'];

Ligne 8 : include ('langues/'.$ze_lang= ue_02.'/'.$ze_langue_02.'_lng_web.inc');
-----------------------------------------------------------------------= ----------

Le chemin du fichier =E0 inclure est recup=E9r=E9e depuis= la valeur du cookie ze_langue_02.

Cette action est dangereuse puisq= ue si l'on cr=E9e nous m=EAme un cookie avec comme nom  ze_langue_02 e= n lui fournissant comme valeur le chemin du fichier que l'on souhaite inclu= re,  l'inclusion se fait !


choix_langue.php :
''''''''''''''''''
------------------= ---------------------------------------------------------------
Ligne 2 = : $choix_lng =3D $HTTP_GET_VARS['choix_lng'];

Ligne 3 : setcookie('z= e_langue_02', $choix_lng, time()+20*24*3600);
-----------------------------------------------------------------------= ----------

Gr=E2ce =E0 la variable $choix_lng, le fichier choix_lang= ue.php permet de modifier directement la valeur du cookie ze_langue_02.

Ainsi la valeur recup=E9r=E9e par HTTP_GET_VARS devient celle du cookie= ze_langue_02.


Exploitation :      = ;       
''''''''''''''
 
Incl= usion Local :   
'''''''''''''''''

Deux solutions nous = sont offertes :

-> 1] On pourrait cr=E9er nous m=EAme un cookie qu'on nommera ze= _langue_02 et dont le contenu sera le chemin du fichier qu'on souhaite lire= , puis il suffirait ensuite de se rediriger vers un fichier qui apelle le f= ichier vuln=E9rable, c'est =E0 dire  /inc/change_lang_ck.php.

-> 2] On pourrait utiliser le fichier choix_langue.php qui perme= t de faire automatiquement la m=EAme manoeuvre.


Utilisation du f= ichier choix_langue.php :  
'''''''''''''''''''''''''''''''''''''''= ''

On commence par sp=E9cifier comme valeur =E0 la variable choix_lng le c= hemin du fichier =E0 lire en ajoutant =E0 la fin un nullbyte (%00) qui perm= et d'annuler ce qui est ajout=E9 apr=E8s notre entr=E9e :

Exemple : = http://localhost/livre_dor/choix_langue.php?choix_lng=3D../../../../../../.= ./BOOT.ini%00

Une fois la valeur specifi=E9e, il nous reste plus= qu'a se diriger vers un fichier qui apelle le fichier vuln=E9rable /inc/ch= ange_lang_ck.php.

Le fichier livre_dor.php par exemple, qui represente l'index du liv= re d'or, est l'un de ces fichiers qui appellent le fichier vuln=E9rable : &= nbsp;

livre_dor.php :  
'''''''''''''''
-----------------= ----------------------------------------------------------------
Ligne 15  : include ('inc/change_lang_ck.php');
---------------= ------------------------------------------------------------------

/= !\/!\/!\ Pour plus d'informations, une vid=E9o de l'exploitation de la fail= le est disponible sur=20 cdg.new.fr ;) /!\/!\/!\


@@@@@@= @@@@@@@@@@@ Avis de s=E9curit=E9 par cdg393 // cdg.new.fr // cdg393_gmail_com =3D)   
------=_Part_23386_7026757.1158706588908--