A.I-Pifou.txt

2006-10-02T00:00:00
ID PACKETSTORM:50338
Type packetstorm
Reporter cdg393
Modified 2006-10-02T00:00:00

Description

                                        
                                            `------=_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 :        &nbsp=  
;      A.I-Pifou  (Cookie) Local File Inclusi=  
on, ...   ( Livre d'or en PHP )<br>''''''''''''''''''''<br><br>Si=  
te officiel :          &n=  
bsp;         <a href=3D"http://acti=  
f-video.chez-alice.fr/index.php">  
http://actif-video.chez-alice.fr/index.php</a><br>'''''''''''''''<br><br>Fa=  
illes d=E9couvertes :         =  
     (Cookie) Local File Inclusion, ...<br>''''''''''''=  
'''''''''<br><br>Explications :<br>''''''''''''''<br><br>inc/change_lang_ck=  
.php :=20  
<br>''''''''''''''''''''''''<br>-------------------------------------------=  
--------------------------------------<br>Ligne 7 : $ze_langue_02 =3D $HTTP=  
_COOKIE_VARS['ze_langue_02'];<br><br>Ligne 8 : include ('langues/'.$ze_lang=  
ue_02.'/'.$ze_langue_02.'_lng_web.inc');  
<br>-----------------------------------------------------------------------=  
----------<br><br>Le chemin du fichier =E0 inclure est recup=E9r=E9e depuis=  
la valeur du cookie ze_langue_02.<br><br>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 !  
<br><br><br>choix_langue.php : <br>''''''''''''''''''<br>------------------=  
---------------------------------------------------------------<br>Ligne 2 =  
: $choix_lng =3D $HTTP_GET_VARS['choix_lng'];<br><br>Ligne 3 : setcookie('z=  
e_langue_02', $choix_lng, time()+20*24*3600);  
<br>-----------------------------------------------------------------------=  
----------<br><br>Gr=E2ce =E0 la variable $choix_lng, le fichier choix_lang=  
ue.php permet de modifier directement la valeur du cookie ze_langue_02.<br>  
<br>Ainsi la valeur recup=E9r=E9e par HTTP_GET_VARS devient celle du cookie=  
ze_langue_02.<br><br><br>Exploitation :     &nbsp=  
;       <br>''''''''''''''<br>  <br>Incl=  
usion Local :   <br>'''''''''''''''''<br><br>Deux solutions nous =  
sont offertes :  
<br><br>-> 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.  
<br><br>-> 2] On pourrait utiliser le fichier choix_langue.php qui perme=  
t de faire automatiquement la m=EAme manoeuvre.<br><br><br>Utilisation du f=  
ichier choix_langue.php :  <br>'''''''''''''''''''''''''''''''''''''''=  
''<br>  
<br>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 :<br><br>Exemple : =  
<a href=3D"http://localhost/livre_dor/choix_langue.php?choix_lng=3D../../..=  
/../../../../BOOT.ini%00">  
http://localhost/livre_dor/choix_langue.php?choix_lng=3D../../../../../../.=  
./BOOT.ini%00</a><br><br>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.  
<br><br>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;<br><br>livre_dor.php :  <br>'''''''''''''''<br>-----------------=  
----------------------------------------------------------------  
<br>Ligne 15  : include ('inc/change_lang_ck.php');<br>---------------=  
------------------------------------------------------------------<br><br>/=  
!\/!\/!\ Pour plus d'informations, une vid=E9o de l'exploitation de la fail=  
le est disponible sur=20  
<a href=3D"http://cdg.new.fr">cdg.new.fr</a> ;) /!\/!\/!\<br><br><br>@@@@@@=  
@@@@@@@@@@@ Avis de s=E9curit=E9 par cdg393 // <a href=3D"http://cdg.new.fr=  
">cdg.new.fr</a> // cdg393_gmail_com =3D)    <br>  
  
------=_Part_23386_7026757.1158706588908--  
  
`