kapieciiのブログ

日々学んだことを残しておくためのブログです。このブログはGoogle Analyticsを利用しています。

「Retire.js」を使って、Webサイトで使われているJavaScriptライブラリの脆弱性を確認してみよう

よしたくさんのブログで「Wrappalyzer」を紹介していました。

yoshitaku-jp.hatenablog.com

私が「Wrappalyzer」と合わせて使っている「Retire.js」も便利なので、ご紹介したいと思い記事にしてみました。

目次

Retire.jsって?

Webサイトで利用しているJavaScriptライブラリに存在する、既知の脆弱性を教えてくれます。

retirejs.github.io

形式で提供されています。
今回はChrome Extensionについてご紹介します。

※ローカルプロキシツールと呼ばれるツールです。ブラウザとWebサーバの通信間でプロキシとして動作します。Webサーバとの通信内容を確認したり、書き換えてテストする目的で利用します。

OWASP ZAP

www.owasp.org

Burp Suite

portswigger.net

インストール方法

Chromeウェブストアで「retire.js」と検索し、「Chromeに追加」します。

f:id:kapiecii:20190520172312p:plain

使い方

Webサイトにアクセスするだけで、アクセスしたWebサイトで利用されているJavaScriptライブラリに既知の脆弱性が存在するか確認してくれます。

動作例

わざと脆弱性が作りこまれている「juice-shop」というWebアプリで確認してみます。 「juice-shop」は、Webアプリケーションの脆弱性を学ぶためのコンテンツです。
Dockerイメージが公開されているので、pullして実行します。

$ docker pull bkimminich/juice-shop
$ docker run --rm -p 3000:3000 bkimminich/juice-shop

ブラウザから「 http://localhost:3000 」にアクセスします。 アクセスすると、画面右上にあるRetire.jsのアイコン上に赤い通知バッジが表示されます。

f:id:kapiecii:20190520172522p:plain

Retire.jsのアイコンをクリックすると詳細を確認できます。
利用しているjquery 2.2.4に脆弱性があることが検出されました。

f:id:kapiecii:20190520172553p:plain

詳細ウインドウに記載されているリンクにアクセスすると、githubのIssuesや、jQuery公式のアナウンスなど、当該脆弱性に関する情報を確認することができます。

f:id:kapiecii:20190520172635p:plain

できること / できないこと

Retire.jsができることは、「ライブラリに存在する既知の脆弱性の検知」です。 まだ公表されていない脆弱性は見つけることができません。

注意点

脆弱性が存在している機能をWebサイトで利用していない場合もあります。
脆弱性があるライブラリを利用しているから、このサイトは危険だ!」というわけではありません。

まとめ

Retire.jsを利用することで、対象Webサイトで利用しているライブラリの脆弱性を簡単に確認することができます。

一度ご自身の関係するWebサイトを確認してみてはいかがでしょうか。

本記事が役立って、インターネットの世界が少しでも安全になれば幸いです。

kapieciiのブログについてお問い合わせがある場合、下記のフォームからご連絡をお願い致します。
お問い合わせはこちら