Shikata Ga Nai

Private? There is no such things.

Server Side Template Injection-Something Distinct!を訳してみた

Hello there, ('ω')ノ

 

サーバサイドテンプレートインジェクション - 何か違う!を。

 

脆弱性:

 SSTI

 

記事:

 https://sagarsajeev.medium.com/server-side-template-injection-something-distinct-f0ac234e379

 

これは、SSTI (サーバー サイド テンプレート インジェクション) に関する最近の

発見の 1 つについての記事で。

 

Portswiggerによると、サーバサイド テンプレート インジェクションとは、

攻撃者がネイティブ テンプレート構文を使用して悪意のあるペイロードを

テンプレートに挿入し、サーバサイドで実行できることを指し。

テンプレート エンジンを使用すると、アプリケーションで

静的テンプレート ファイルを使用できて。

 

つまり、基本的には、テンプレート エンジンに何か (ペイロード) を挿入し、

それがサーバ側で実行される方法で。

これは場合によっては RCE につながる可能性があり。

 

SSTI のバグはどうやって見つけたか?

1.target.com には簡単なサインアップ/登録アカウント ページがあり。

2. [名前]フィールドに「{{7*7}}」と入力し。

3.ページの残りの部分を適宜埋めていき。

 ペイロードは「名前」フィールドにのみ入力する必要があることに注意して。

4.新しいユーザにメールで挨拶し、メールの確認を求めるのは、

 Web アプリケーションの通常の意図された動作で。

5.主な内容は次のとおりです。メールの件名は次のとおりで。

 

参考サンプル画像

 

では、どうやって49 という名前になったのか?

・これは、ペイロード {{7*7}} がテンプレート エンジンによって実行され、

 バックエンド サーバに渡されたためで。

・ほとんどの場合、成功した SSTI は RCE にエスカレーションでき。

 ただし、各ペイロードはそのケースに固有であるため、

 特定のペイロードを一般化することはできず。

・{{system(‘whoami’)}} ⇨ これは RCE を証明できるペイロードの 1 つで。

 ただし、このペイロードが実行される可能性は非常に低くて。

 

試してみたいペイロードをさらにいくつか紹介を。

1.{{7*'7'}}

2.#{ 5* 8 }

3. ,@(5+5)

4.さらに多くの SSTI ペイロードをオンラインで見つけることができ。

 ただし、そのペイロードを自分で変更して調整してみて。

 そうすることで実行される可能性が高まるはずで。

 

Best regards, (^^ゞ