プロジェクト

全般

プロフィール

WebDavリクエストログ 20190721 » 履歴 » バージョン 1

sylow castle, 2019/07/21 14:36

1 1 sylow castle
# WebDavリクエストログ 20190721
2
3
## 概要
4
5
WebDavってどんな通信してるのかなーって思ったのでキャプチャしてみてみる。
6
7
## 環境
8
9
- WebDavサーバ:てきとうに用意。今回はapacheを使用。
10
- WebDavクライエント:Windowsのエクスプローラー。手順は下で。
11
- 通信キャプチャツール:OWASPZAP
12
13
HTTP/1.1の拡張なんだし、そこら辺のキャプチャツールで詳細を見れるんじゃないかなぁと思い試す。
14
とりあえず、WebDavのホストはdav.example.comとかにしておこう。
15
16
### ZAPの手順
17
18
dav.example.comだけ履歴に出るようにする。
19
先にZAPを準備しておくと、エクスプローラーがWebDavをマウント(?)するときのログも見れるので面白い。
20
OS側のプロキシの設定を入れるのも忘れずに。やり方は:
21
22
1. Windowsキー + x を押す
23
1. [ネットワーク接続」を選ぶ
24
1. 「プロキシ」を選ぶ
25
26
### エクスプローラーの準備
27
28
![step1](010_Add_WebDav.png)
29
30
1. 「エクスプローラー」を開いて、「PC」を選択
31
1. リボンの中にある「ネットワークの場所の追加」を選択
32
33
![step2](020_Add_WebDav.png)
34
35
1. URL(https://dav.example.com)を入力
36
1. 設定によってはこの後ID・パスワードを聞かれるので入力
37
1. 「ネットワークの場所」の中にショートカットができる
38
39
### アップロードのリクエスト
40
41
これがhtmlファイルを送っている瞬間。
42
43
```
44
PUT https://dav.example.com/uploads/sample.html HTTP/1.1
45
Connection: Keep-Alive
46
User-Agent: Microsoft-WebDAV-MiniRedir/10.0.17763
47
If: (<opaquelocktoken:a55549b6-3c79-42c6-80a6-c2d17f604e96>)
48
translate: f
49
Content-Length: 1334
50
Authorization: ***********
51
Host: 192.168.0.2
52
53
<!DOCTYPE html>
54
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
55
56
<head>
57
  <meta charset="utf-8" />
58
  <title>keywords</title>
59
  <style>
60
    @import url(main.css);
61
  </style>
62
</head>
63
64
<body>
65
以下略
66
```
67
68
PUTメソッド使って、ボディ部にsample.htmlの中身をそのまま書いている。
69
これならアップローダぐらい簡単に実装できそうねぇ。
70
71
事前にHEADメソッドを叩いて認証済ませたり、ディレクトリの中身を表示するためにPROPFINDメソッドを叩いたりしているのが見て取れる。
72
「ZAP_Report_Message_Masked.txt」にそのあたりの通信(リクエスト)を置いといた。