hacktricks/network-services-pentesting/pentesting-web/put-method-webdav.md
2024-02-10 13:11:20 +00:00

9 KiB

WebDav


Koristite Trickest da biste lako izgradili i automatizovali radne tokove podržane najnaprednijim alatima zajednice.
Dobijte pristup danas:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks:

Kada se bavite HTTP serverom sa omogućenim WebDav-om, moguće je manipulisati fajlovima ako imate odgovarajuće akreditive, obično proverene putem HTTP Basic Authentication-a. Dobijanje kontrole nad takvim serverom često uključuje upload i izvršavanje webshell-a.

Pristup WebDav serveru obično zahteva validne akreditive, pri čemu je WebDav bruteforce čest metod za njihovo dobijanje.

Da biste prevazišli ograničenja u vezi sa upload-om fajlova, posebno ona koja sprečavaju izvršavanje server-side skripti, možete:

  • Upload-ovati fajlove sa izvršnim ekstenzijama direktno ako nisu ograničeni.
  • Preimenovati upload-ovane neizvršne fajlove (kao što su .txt) u izvršnu ekstenziju.
  • Kopirati upload-ovane neizvršne fajlove, menjajući njihovu ekstenziju u izvršnu.

DavTest

Davtest pokušava upload-ovati nekoliko fajlova sa različitim ekstenzijama i proverava da li se ekstenzija izvršava:

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

Isto to ne znači da se .txt i .html ekstenzije izvršavaju. To znači da možete pristupiti ovim datotekama putem weba.

Cadaver

Možete koristiti ovaj alat da se povežete na WebDav server i izvršite radnje (poput upload-a, premještanja ili brisanja) ručno.

cadaver <IP>

PUT zahtev


Description


Opis

The PUT method is used to update or create a resource on the server. It sends the data in the request body to the specified URI. If the resource already exists, it will be updated with the new data. If the resource does not exist, a new resource will be created with the provided data.


PUT metoda se koristi za ažuriranje ili kreiranje resursa na serveru. Ona šalje podatke u telu zahteva na određeni URI. Ako resurs već postoji, biće ažuriran novim podacima. Ako resurs ne postoji, biće kreiran novi resurs sa pruženim podacima.


Syntax


Sintaksa

PUT /path/to/resource HTTP/1.1
Host: example.com
Content-Type: application/json

{
  "key": "value"
}

PUT /putanja/do/resursa HTTP/1.1
Host: primer.com
Content-Type: application/json

{
  "ključ": "vrednost"
}

Example


Primer

PUT /api/users/1 HTTP/1.1
Host: example.com
Content-Type: application/json

{
  "name": "John Doe",
  "email": "johndoe@example.com"
}

PUT /api/korisnici/1 HTTP/1.1
Host: primer.com
Content-Type: application/json

{
  "ime": "John Doe",
  "email": "johndoe@primer.com"
}

In this example, a PUT request is made to update the user with ID 1. The request body contains the updated name and email of the user.


U ovom primeru, PUT zahtev je poslat da ažurira korisnika sa ID-jem 1. Telo zahteva sadrži ažurirano ime i email korisnika.

curl -T 'shell.txt' 'http://$ip'

MOVE zahtev

The MOVE method is used in WebDAV to move a resource from one location to another. It is similar to the HTTP PUT method, but instead of creating a new resource, it moves an existing resource to a new location.

MOVE zahtev se koristi u WebDAV-u da bi se premestio resurs sa jedne lokacije na drugu. Sličan je HTTP PUT metodi, ali umesto da kreira novi resurs, premesta postojeći resurs na novu lokaciju.

curl -X MOVE --header 'Destination:http://$ip/shell.php' 'http://$ip/shell.txt'


Koristite Trickest da biste lako izgradili i automatizovali radne tokove koji se pokreću najnaprednijim alatima zajednice.
Dobijte pristup danas:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

IIS5/6 WebDav ranjivost

Ova ranjivost je veoma interesantna. WebDav ne dozvoljava upload ili preimenovanje fajlova sa ekstenzijom .asp. Ali možete to zaobići dodavanjem na kraju imena ";.txt" i fajl će biti izvršen kao da je .asp fajl (takođe možete koristiti ".html" umesto ".txt" ali NE zaboravite ";").

Zatim možete uploadovati svoj shell kao ".txt" fajl i kopirati/pomeriti ga u ".asp;.txt" fajl. Pristupajući tom fajlu preko web servera, on će biti izvršen (cadaver će reći da akcija pomeranja nije uspela, ali jeste).

Post credentials

Ako je Webdav koristio Apache server, trebali biste pogledati konfigurisane sajtove u Apache-u. Obično:
/etc/apache2/sites-enabled/000-default

Unutar toga možete pronaći nešto slično:

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

Kao što možete videti, postoje datoteke sa validnim poverljivim podacima za webdav server:

/etc/apache2/users.password

Unutar ovog tipa datoteka ćete pronaći korisničko ime i hash lozinke. Ovo su podaci za prijavu koje webdav server koristi za autentifikaciju korisnika.

Možete pokušati ih provaliti, ili dodati više ako iz nekog razloga želite pristupiti webdav serveru:

htpasswd /etc/apache2/users.password <USERNAME> #You will be prompted for the password

Da biste proverili da li novi pristupni podaci funkcionišu, možete uraditi sledeće:

wget --user <USERNAME> --ask-password http://domain/path/to/webdav/ -O - -q

Reference

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:


Koristite Trickest da lako izgradite i automatizujete radne tokove pokretane najnaprednijim alatima zajednice.
Dobijte pristup danas:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}