[Owasp-turkey] boş username/boş password - php ldap_bind

Serkan Özkan serkanozkan at gmail.com
Wed Oct 5 08:21:55 EDT 2011


Merhaba,
.Net'te aşağıdaki örnekteki gibi AuthenticationTypes.Anonymous
kullanıldığında sanırım hiç bind yapmıyor. Onun yerine şifre olarak boş
string ve AuthenticationTypes.None kullanılırsa php'deki örneğe karşılık
geliyor. (kesin  emin değilim, denemedim)
Ama dediğin gibi uygulamada da kontrollerin yapılması gerek yoksa hatalara
çok açık bir konu.


2011/10/5 Bedirhan Urgun <bedirhanurgun at gmail.com>

> Merhaba,
> Bilinen bir problem bu, nedeni dedigim gibi 1-2 yerde yazili, cok detayli
> incelemedim. Ancak ayni AD'ye C# ile
>
> DirectoryEntry deDirEntry = new DirectoryEntry("ad_server",domain + "\\" +
> textBox1.Text,textBox2.Text, AuthenticationTypes.Anonymous);
>
> ile baglanamiyorum, dogru kullanici adi/bos sifre ile hata aliyorum. Baska
> etkenler de olabilir bilemiyorum ama bahsettigim basit onlemler,
> kontroller framework'den, arka uctan bagimsiz yapilmali.
> kolay gelsin
>
> 05 Ekim 2011 14:08 tarihinde Serkan Özkan <serkanozkan at gmail.com> yazdı:
>
> Selam,
>> Ldap bind işlemlerinde eğer şifre belirtilmemişse, kullanıcı adı
>> belirtilmişse bile, bu anonymous bind isteği sayılır. Eğer ldap sunucusu
>> anonymous bind'a izin veriyorsa ve şifre boşsa ldap_bind fonksiyonu true
>> döner. Bu durum php'ye özel ya da php'den kaynaklanan bir sorun değildir.
>>
>>
>>
>> 2011/10/5 Canberk BOLAT <canberk.bolat at gmail.com>
>>
>>> Selam,
>>> Eyvah eyvah demek istiyorum :) Sadece PHP LDAP implementasyonu için
>>> geçerli bir durum değil mi Bedirhan hocam?
>>>
>>> 05 Ekim 2011 13:23 tarihinde Bedirhan Urgun <bedirhanurgun at gmail.com>yazdı:
>>>
>>>>   Merhaba,
>>>> Kucuk bir php projesi icin kimlik dogrulama metodu yazmak gerekti.
>>>> Herkesin hazir AD hesabi varken "custom forms authentication" ve windows
>>>> hesaplari ile halledelim dedik. Kod parcasi asagida;
>>>>
>>>> ...
>>>>             $ldap =
>>>> ldap_connect("ad_server_url");
>>>>             $bind = ldap_bind($ldap, "$domain\\$uname" ,
>>>> $_POST['password']);
>>>>             if($bind){
>>>>               $_SESSION['user'] = $uname;
>>>>               $isAuthentic = TRUE;
>>>>               $log->LogInfo("Successfull log in attempt:
>>>> $uname");
>>>>             }
>>>> ...
>>>>
>>>> maalesef boş password gönderildiğinde ldap_bind yine TRUE dönüyor. :)
>>>> Nedeni 1-2 yerde yazılmış ama iki şey ön plana çıkıyor.
>>>>
>>>> 1. sıkı girdi kontrolü (uzunluk v.b.)
>>>> 2. denetim yaparken boş kullanıcı adı/şifrenin veya kullanıcı adı/boş
>>>> şifrenin kontrollere eklenmesi (bu kadar da olmaz demeden, denemeli),
>>>> yukarıda SESSION falan hep doğru username ile doluyor yani, çok tehlikeli.
>>>>  kolay gelsin.
>>>> --
>>>> Bedirhan Urgun
>>>> http://www.webguvenligi.org
>>>> http://www.owasp.org/index.php/Turkey
>>>>
>>>> Türkçe Web Uygulama Güvenliği E-Posta Listesine üye olmak için:
>>>> https://lists.owasp.org/mailman/listinfo/owasp-turkey
>>>>
>>>> _______________________________________________
>>>> Owasp-turkey mailing list
>>>> Owasp-turkey at lists.owasp.org
>>>> https://lists.owasp.org/mailman/listinfo/owasp-turkey
>>>>
>>>>
>>>
>>>
>>> --
>>> Canberk Bolat
>>> Security Researcher
>>> http://twitter.com/cnbrkbolat
>>> http://cbolat.blogspot.com
>>>
>>> _______________________________________________
>>> Owasp-turkey mailing list
>>> Owasp-turkey at lists.owasp.org
>>> https://lists.owasp.org/mailman/listinfo/owasp-turkey
>>>
>>>
>>
>> _______________________________________________
>> Owasp-turkey mailing list
>> Owasp-turkey at lists.owasp.org
>> https://lists.owasp.org/mailman/listinfo/owasp-turkey
>>
>>
>
>
> --
> Bedirhan Urgun
> http://www.webguvenligi.org
> http://www.owasp.org/index.php/Turkey
>
> Türkçe Web Uygulama Güvenliği E-Posta Listesine üye olmak için:
> https://lists.owasp.org/mailman/listinfo/owasp-turkey
>
> _______________________________________________
> Owasp-turkey mailing list
> Owasp-turkey at lists.owasp.org
> https://lists.owasp.org/mailman/listinfo/owasp-turkey
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.owasp.org/pipermail/owasp-turkey/attachments/20111005/ca8b72b7/attachment.html 


More information about the Owasp-turkey mailing list