質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
JMeter

Apache JMeterとは、Webアプリケーションの負荷テストをするためのJavaアプリケーションです。

Amazon Cognito

Amazon Cognitoは、Webアプリケーションやモバイルアプリケーションの認証、許可、ユーザー管理をサポートするサービスです。ユーザー登録とサインインを行うか、FacebookやAmazon、Googleなどのサードパーティーを通じてサインインできる機能を提供します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

0回答

1881閲覧

[jMeter]cognitoのログイン認証を突破するためjavascriptでネット上のjsファイルを読み込みたい

halu_1113

総合スコア5

JMeter

Apache JMeterとは、Webアプリケーションの負荷テストをするためのJavaアプリケーションです。

Amazon Cognito

Amazon Cognitoは、Webアプリケーションやモバイルアプリケーションの認証、許可、ユーザー管理をサポートするサービスです。ユーザー登録とサインインを行うか、FacebookやAmazon、Googleなどのサードパーティーを通じてサインインできる機能を提供します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2022/07/25 10:07

前提

jmeterにてcognitoの認証画面を突破する処理を現在作成しています。
認証時にpostで送るパラメータの中にcognitoasfDataというものがあり、こちらが
https://docs.aws.amazon.com/ja_jp/cognito/latest/developerguide/user-pool-settings-viewing-advanced-security-app.html
上記URL内の<script src=**>で読み込み、AmazonCognitoAdvancedSecurityData.getDataファンクションを実行することで取得していることがわかりました。
こちらを実行する方法が思いつかずご教授いただけないでしょうか

実現したいこと

現在考えているものとして
1.1 ログイン画面の表示(サイトへのgetリクエスト)
1.2 csrf等の必要パラメータの取得←ここまで完成
2.1 AmazonCognitoAdvancedSecurityData.getDataを取得するjavascriptをJSR223 Assertionにて作成
2.2 postにて上記で取得したパラメータ+login_id passwordを送りログイン

上記工程での実装を考えているのですが、htmlの<script src="https://amazon-cognito-assets.<region>.amazoncognito.com/amazon-cognito-advanced-security-data.min.js"></script>
のようなネット上の外部ファイルを取り込む処理を、javascriptのみでどのように実装すればいいかがわからず詰まっております。

また、取得したログイン画面のhtml内に埋め込まれているjavascriptをログイン処理時に実行する方法等ございましたらご教授いただきたいです。

発生している問題・エラーメッセージ

asfdataを適当にした場合のエラーが以下になります。
405のため必要なパラメータの種類としてはあっており、こちらが解決できれば成功になると思われます。

Response code:405 Response message:Method Not Allowed

該当のソースコード

ログイン画面のhtmlに埋め込まれているasfdataを取得していると思われる処理

var asfData = AmazonCognitoAdvancedSecurityData.getData(username, userPoolId, clientId); if (typeof asfData === "undefined") { return true; } if (formReference && formReference.cognitoAsfData) { formReference.cognitoAsfData.value = asfData }

試したこと

ネット上のjsファイルの中身を全てコピペし、最後に取得コマンドを追加し、実行した
結果

javax.script.ScriptException: <eval>:27:16164 Expected comma but found ident

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問