プロジェクト

全般

プロフィール

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

健二 酒井, 2019/07/21 14:36

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