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, (^^ゞ