ログイン画面の場合(多要素認証)

# sWebMachineGun.exe実践編

「[ログイン画面の場合](https://qiita.com/tomoki0sanaki/items/5ea742b00dab9774fe60)」では、よくあるユーザ名とパスワードだけの場合だけど、今回は最近増えてきた多要素認証も含めた画面遷移がターゲット。

## 診断対象

こんな感じ
<table border="1">
<tr><th align="center">パスワード入力画面</th><th colspan="2" align="center">パスコード入力画面</th><th align="center">認証完了画面</th></tr>
<tr><td><a href="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182822/2fb00e10-144e-028d-ded1-969c7983f002.png"><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182822/2fb00e10-144e-028d-ded1-969c7983f002.png" width="70%" height="70%"></a></td><td colspan="2"><a href="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182822/19d1a4f5-02f5-eb2c-189e-a3dfd6bd3e9e.png"><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182822/19d1a4f5-02f5-eb2c-189e-a3dfd6bd3e9e.png" width="70%" height="70%"></a></td><td><a href="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182822/30ece8cf-1a04-9503-e523-3274f3590b2a.png"><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182822/30ece8cf-1a04-9503-e523-3274f3590b2a.png" width="70%" height="70%"></a></td></tr>
<tr><td colspan="2" valign="top">POST /sanaki/yourdata/testLoginMultiPasscode.asp HTTP/1.0<BR>
Content-Type: application/x-www-form-urlencoded<BR>
Content-Length: 0<BR>
<BR>
user=sasaki&password=password</td>
<td colspan="2" valign="top">POST /sanaki/yourdata/testLoginMultiAuth.asp HTTP/1.0<BR>
Content-Type: application/x-www-form-urlencoded<BR>
Content-Length: 0<BR>
<BR>
passcode=1729</td>
</tr>
</table>

つまり、ユーザ名とパスワードを入力してから、QRコードからのパスコードを入力して、やっと認証されるような画面遷移がターゲット

## 事前準備

まず、QRコードを入手して、URIを抽出する必要がある

### QRコードの入手

脆弱性診断の場合は、テスト用アカウントの貸与があると思うので、その時に入手できるはずなので、QRコードの入手方法については省略

今回は「[sQRCodeFugging.exe{sWebTool})](https://qiita.com/tomoki0sanaki/items/e46e666625191aeb762b)」を使ってQRコードを作成した。

![041.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182822/a896fd5f-78c8-81f3-f362-79885f901e5e.png)

### QRコードからURIの抽出

[QRコードからファジングする(sQRCodeFugging.exe{sWebTool})](https://qiita.com/tomoki0sanaki/items/e46e666625191aeb762b)

というツールを作っているので、そこにQRコードの画像を読み込ませれば、URIが抽出されると思う

今回は「[sQRCodeFugging.exe{sWebTool})](https://qiita.com/tomoki0sanaki/items/e46e666625191aeb762b)」を使ってQRコードを作成したので、URIを抽出する。
というより、URIを指定してQRコードを作成したような感じだけど、そこはご容赦を。

ということで、多要素認証で使うURIは「<b>otpauth://totp/AAAA:AAAA@example.com?secret=BASEBASE&issuer=AAAA&algorithm=SHA1&digits=6&period=30</b>」です。

### 参考:URIの挙動の確認

ちなみにQRコードから抽出したURIは、(多分)30秒ごとにパスコードを抽出すると思う。

[QRコード認証のパスコードを計算する(sAuthenticator.exe{sWebTool})](https://qiita.com/tomoki0sanaki/items/dc0ed2f1d5bb838ff026)

というツールを作ったので、どんなパスコードとなるのかき、このツールで確認できると思う。

ちなみに
sWebMachineGun.exeもsAuthenticator.exeを呼び出しているだけ

## sWebMachineGun.exeの設定

メインの設定は、HTTPリクエストの設定と、置換方法の設定

### sWebMachineGun.exeの設定1

「Request」タブに、二つのHTTPリクエストを設定する

![045.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182822/5c1b76fc-144f-fefd-6a5f-d1f0b145a623.png)

この画面は、「[ログイン画面の場合](https://qiita.com/tomoki0sanaki/items/5ea742b00dab9774fe60)」とかと同じなので、特に説明は不要だろう

![046.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182822/afbd6065-137f-a63a-d077-b4d21a802046.png)

二つ目のリクエストテンプレートに書かれている「%%msg%」が、QRコードから読まれたパスコードに置換される

### sWebMachineGun.exeの設定2

「Setting」タブは「[ログイン画面の場合](https://qiita.com/tomoki0sanaki/items/5ea742b00dab9774fe60)」とか同じなので、説明は不要だろう

![020.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182822/9a9b8904-f791-3435-7c64-5fb777b27325.png)

### sWebMachineGun.exeの設定3(外部からの入力)

「GeneralSetting」タブの「InputDialogOption」リストが今回の設定の肝となる部分

テキストボックスに動作を指定する引数を入力して、投入したいInputDialogOptionプラグインをリストから選択して、「Set」ボタンで登録する

今回は、上記のQRコードから抽出したURIをテキストボックスに入力して、「GoogleAuthnticator」プラグインを選択して、登録した

![047.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182822/34a5506a-777d-4ebf-63ce-90a6061c23cf.png)

ここの設定がリクエストテンプレートに書かれたマクロ「%%msg%」を置換する

## sWebMachineGun.exeの実行

「Execute」ボタンで、実行できるのですが、結果はこんな感じで、2つ目のリクエストテンプレートに書かれたマクロ「%%masg%」が計算された値に書き換わっていることが分かる

![048.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182822/34b94907-910c-e78a-3a8d-a08c699d57c9.png)

# sWebMachineGun.exe Index

[sWebMachineGun.exe のメインメニューに戻る](https://qiita.com/tomoki0sanaki/items/e2b7767551a576b1dbd3)