WebDav
Reading time: 3 minutes
tip
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- Bize katılın 💬 Discord grubuna veya telegram grubuna veya bizi takip edin Twitter'da 🐦 @hacktricks_live.
- Hacking ipuçlarını paylaşın, HackTricks ve HackTricks Cloud github reposuna PR göndererek.
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 yükleme ve çalıştırma işlemini içerir.
WebDav sunucusuna erişim genellikle geçerli kimlik bilgileri gerektirir; WebDav bruteforce 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:
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
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
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 bu durumu aşabilirsiniz ve dosya, 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ı).
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'ini bulacaksınız. 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:
htpasswd /etc/apache2/users.password <USERNAME> #You will be prompted for the password
Yeni kimlik bilgilerini kontrol etmek için şunları yapabilirsiniz:
wget --user <USERNAME> --ask-password http://domain/path/to/webdav/ -O - -q
Referanslar
tip
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- Bize katılın 💬 Discord grubuna veya telegram grubuna veya bizi takip edin Twitter'da 🐦 @hacktricks_live.
- Hacking ipuçlarını paylaşın, HackTricks ve HackTricks Cloud github reposuna PR göndererek.