脆弱性の調査をしていて学んだのでメモ。
[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
本番環境でコンソールにあまり余計なものは出したくないが、トラブル時のデバッグに利用したり、テストコードの簡易的な時間計測に利用したりするのが良さそう。