脆弱性の調査をしていて学んだのでメモ。
[CVE-2022-24999のPoC]
qsというライブラリのプロトタイプ汚染問題(CVE-2022-24999)が少し前に話題になった。
再現方法を調べていたら、GitHub上でPoCが公開されていた。
PoCのJavaScriptコードを読んでいて、console.time()とconsole.timeEnd()というメソッドが使われているのに気がついた。
[consoleのタイマー]
調べてみるとライブラリを入れなくともJavaScript標準で使えるらしい。
こちらのページに使い方がまとまっていた。
// タイマー登録
console.time("answer time");
alert("Click to continue");
// タイマー経過出力
console.timeLog("answer time");
// answer time: 5669.81103515625 ms
alert("Do a bunch of other stuff…");
// タイマー利用終了
console.timeEnd("answer time");
// answer time: 7343.092041015625 ms
本番環境でコンソールにあまり余計なものは出したくないが、トラブル時のデバッグに利用したり、テストコードの簡易的な時間計測に利用したりするのが良さそう。