おそらく皆さんは、情報セキュリティ研究者がGoogleのウェブリソースの弱点に関する情報を提供することを奨励するGoogleのプログラムについてご存知でしょう。 また、このプログラムに参加することができました。 ここに私とレシャ・シンツォワd00kieからの短い話があります。
小規模な調査を行う必要が本当にあったため、アンケートのプラットフォームとしてGoogleドキュメントを使用することが決定されました。
Googleドキュメントには、Googleフォームなどのオブジェクトがあり、名前が示すように、あらゆる種類のフォーム、調査、アンケートを作成するために使用されます。
原則として、フォームを作成した後、フォームへのリンクはインターネット上で公開されるか、調査を行う必要がある人に配布されます。
これは、フォームが塗りつぶしを探す方法です。
したがって、フォームの作成者には、質問に対する回答が表示されます。
フォームを見ると、ウェブ受信者は本能的に「」、「、>、その他の興味深い文字を挿入するように思えます:)
試しましたが、予想どおり、すべてがエンコードされ、フィルタリングされました。
うーん...しかし、すべてのユーザー入力はExcelスプレッドシートに挿入されるので、数式を入力してみてはどうでしょうか?
Excelの数式は、記号「=」で始まります。
OK
失敗。 トリッキーなGoogleは、「=」記号の前にスペースを挿入します。これにより、数式がセル内にプレーンテキストとして表示されます。
ギャップを取り除く方法は? 非常に簡単:バックスペースを使用:)
%08-バックスペースキーの16進コード
したがって、フォームフィールドに次のように記述します。
%08 = 1 + 2 + C3
そして出来上がり!
数式はテーブルに完全に挿入されました。
そのような特異な注入のための興味深く実用的なベクトルを思い付くことが残っただけです。 ここでGoogle Functionsが助けになりました。
Google Functionsの助けを借りて、あらゆるドメインのリクエストを処理し、クエリの結果を指定したセルに貼り付けることが可能になりました。
したがって、次の攻撃ベクトルが開発されました。
1)重要なユーザーデータをセルA1に配置します(またはそれらは既にそこにあります)
2)セルZ31337に、chipik_site.com / secret_data_in_base64_from_A1にGETリクエストを行う式を挿入します
3)Webサーバーのログを読み取り、セルからデータを取得します
...
4)利益!
Googleセキュリティチームからのバグと攻撃ベクトルについて説明した後、すぐに次の手紙を受け取りました。
そして少し後に、彼らはGoogleの殿堂で名前を見ました :
そして最後に-小さなGoogle Hack;)