前提
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/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
あなたの回答
tips
プレビュー