hacktricks/network-services-pentesting/pentesting-web/put-method-webdav.md

135 lines
7.9 KiB
Markdown
Raw Normal View History

2022-05-01 13:25:53 +00:00
# WebDav
2022-04-28 16:01:33 +00:00
<figure><img src="../../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
2022-09-01 23:40:55 +00:00
\
[**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=put-method-webdav)를 사용하여 세계에서 **가장 진보된** 커뮤니티 도구로 구동되는 **워크플로우**를 쉽게 구축하고 **자동화**하세요.\
오늘 바로 접근하세요:
2022-09-01 23:40:55 +00:00
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=put-method-webdav" %}
2022-09-01 23:40:55 +00:00
{% hint style="success" %}
AWS 해킹 배우기 및 연습하기:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP 해킹 배우기 및 연습하기: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
2022-04-28 16:01:33 +00:00
<details>
2022-04-28 16:01:33 +00:00
<summary>HackTricks 지원하기</summary>
2023-12-31 01:24:39 +00:00
* [**구독 계획**](https://github.com/sponsors/carlospolop) 확인하기!
* **💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 참여하거나 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.**
* **[**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.**
2022-04-28 16:01:33 +00:00
</details>
{% endhint %}
{% endhint %}
2022-04-28 16:01:33 +00:00
**WebDav**가 활성화된 **HTTP 서버**를 다룰 때, 올바른 **자격 증명**이 있다면 **파일을 조작**할 수 있습니다. 이는 일반적으로 **HTTP 기본 인증**을 통해 확인됩니다. 이러한 서버에 대한 제어를 얻는 것은 종종 **웹쉘의 업로드 및 실행**을 포함합니다.
WebDav 서버에 접근하려면 일반적으로 **유효한 자격 증명**이 필요하며, [**WebDav 브루트포스**](../../generic-methodologies-and-resources/brute-force.md#http-basic-auth)는 이를 획득하는 일반적인 방법입니다.
파일 업로드에 대한 제한을 극복하기 위해, 특히 서버 측 스크립트 실행을 방지하는 제한이 있는 경우, 다음과 같은 방법을 사용할 수 있습니다:
* **제한이 없으면** **실행 가능한 확장자**를 가진 파일을 직접 **업로드**합니다.
* 업로드된 비실행 파일(예: .txt)의 이름을 실행 가능한 확장자로 **변경**합니다.
* 업로드된 비실행 파일을 **복사**하고, 그 확장자를 실행 가능한 것으로 변경합니다.
2022-05-01 13:25:53 +00:00
## DavTest
**Davtest**는 **다양한 확장자를 가진 여러 파일을 업로드**하고 **확장자가 실행되는지 확인**하려고 합니다:
```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
```
![](<../../.gitbook/assets/image (851).png>)
이것은 **.txt** 및 **.html 확장자가 실행되고 있다는 의미가 아닙니다**. 이는 웹을 통해 **이 파일에 접근할 수 있다는 의미입니다**.
2022-05-01 13:25:53 +00:00
## Cadaver
이 도구를 사용하여 **WebDav** 서버에 **수동으로** 연결하고 **업로드**, **이동** 또는 **삭제**와 같은 작업을 수행할 수 있습니다.
```
cadaver <IP>
```
2024-02-10 21:30:13 +00:00
## PUT 요청
```
curl -T 'shell.txt' 'http://$ip'
```
2024-02-10 21:30:13 +00:00
## MOVE 요청
```
curl -X MOVE --header 'Destination:http://$ip/shell.php' 'http://$ip/shell.txt'
```
<figure><img src="../../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
2022-09-01 23:40:55 +00:00
\
[**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=put-method-webdav)를 사용하여 세계에서 **가장 진보된** 커뮤니티 도구로 구동되는 **워크플로우**를 쉽게 구축하고 **자동화**하세요.\
오늘 바로 접근하세요:
2022-09-01 23:40:55 +00:00
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=put-method-webdav" %}
2022-09-01 23:40:55 +00:00
2024-02-10 21:30:13 +00:00
## IIS5/6 WebDav 취약점
이 취약점은 매우 흥미롭습니다. **WebDav**는 **.asp** 확장자를 가진 파일을 **업로드**하거나 **이름을 변경**하는 것을 **허용하지 않습니다**. 그러나 이름 끝에 **";.txt"**를 추가하여 **우회**할 수 있으며, 파일은 .asp 파일처럼 **실행**됩니다 (대신 **".txt"** 대신 **".html"**을 사용할 수도 있지만 **";"**를 잊지 마세요).
그런 다음 ".**txt" 파일**로 셸을 **업로드**하고 **".asp;.txt"** 파일로 **복사/이동**할 수 있습니다. 웹 서버를 통해 해당 파일에 접근하면 **실행**됩니다 (cadaver는 이동 작업이 작동하지 않았다고 말할 것이지만, 실제로는 작동했습니다).
![](<../../.gitbook/assets/image (1092).png>)
2024-02-10 21:30:13 +00:00
## 자격 증명 게시
Webdav가 Apache 서버를 사용하고 있다면 Apache에 구성된 사이트를 확인해야 합니다. 일반적으로:\
_**/etc/apache2/sites-enabled/000-default**_
그 안에는 다음과 같은 내용을 찾을 수 있습니다:
```
ServerAdmin webmaster@localhost
2024-02-10 21:30:13 +00:00
Alias /webdav /var/www/webdav
<Directory /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**하고 싶다면 **더 추가**할 수 있습니다:
```bash
htpasswd /etc/apache2/users.password <USERNAME> #You will be prompted for the password
```
새로운 자격 증명이 작동하는지 확인하려면 다음을 수행할 수 있습니다:
```bash
wget --user <USERNAME> --ask-password http://domain/path/to/webdav/ -O - -q
```
## References
2024-02-08 21:36:15 +00:00
* [https://vk9-sec.com/exploiting-webdav/](https://vk9-sec.com/exploiting-webdav/)
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
2024-02-08 21:36:15 +00:00
2022-04-28 16:01:33 +00:00
<details>
<summary>Support HackTricks</summary>
2023-12-31 01:24:39 +00:00
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
2022-04-28 16:01:33 +00:00
</details>
{% endhint %}
</details>
{% endhint %}
2022-09-01 23:40:55 +00:00
<figure><img src="../../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
2022-09-01 23:40:55 +00:00
\
Use [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=put-method-webdav) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\
Get Access Today:
2022-09-01 23:40:55 +00:00
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=put-method-webdav" %}