以下の記事でBasic認証突破用のJSを登録して実行したところ、エラーが発生。
MacでOWASP ZAPを使ってBasic認証かけたサイトを簡易脆弱性診断
エラーメッセージ
jdk.nashorn.internal.runtime.ParserException: <eval>:9:9 Expected an operand but found error
“Authorization”, 'Basic ZHJwaGxxxxxxBob3Rv'
^jdk.nashorn.internal.runtime.ParserException: <eval>:9:9 Expected an operand but found error
“Authorization”, 'Basic ZHJwaGxxxxxxBob3Rv'
^
以下JSの “Authorization”, “Basic ZHJwaGxxxxxxBob3Rv”
の箇所でエラーが出ていたため、ダブルクォーテーションをシングルクォーテーションに変更したところ、直った。
org.parosproxy.paros.network.HttpSender.addListener(
new org.zaproxy.zap.network.HttpSenderListener {
getListenerOrder: function() {
return 1;
},
onHttpRequestSend: function(msg, initiator) {
msg.getRequestHeader().setHeader(
// 第一引数は「Authorization」で、第二引数は「Basic 」と「ユーザー名:パスワード」をBase64でエンコードした文字列
“Authorization”, “Basic ZHJwaGxxxxxxBob3Rv”
);
},
onHttpResponseReceive: function(msg, initiator) {
}
});
修正後は 'Authorization', 'Basic ZHJwaGxxxxxxBob3Rv'
といった形にした。
ただし、ダブルクォーテーションでもエラーが出る場合と出ない場合があり、原因不明。