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

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

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

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

Amazon Cognito

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

JavaScript

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

受付中

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

halu_1113
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評価

0クリップ

340閲覧

投稿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/ツールのバージョンなど)

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

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

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

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

JMeter

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

Amazon Cognito

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

JavaScript

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