異常なXSSの脆弱性

読者の皆さん、こんにちは!

この記事では、XSSとは何か、またXSSがどのように使用されるかについては説明しません。 私たちはすべて大きなおじです(おばさん)。 この記事は、任意のコードの実装が常にどこにでもあるという事実についてです。 ロシアとCISの最も人気のあるソーシャルネットワーク、およびロシア連邦大統領のサイトは、これらのタイプの攻撃に対して脆弱であることを示します。

脆弱性は閉じられており、開始できます。

まだブラウザからフラッシュドライブを実行していますか? それから私たちはあなたに行きます。



VKontakte



ある夜、別のコーヒーを飲んだ後、XSSの脆弱性の検索を開始することにしました。 Googleに似たものをドライブしました:filetype:php inurl: "*。Php?Search = *"そして応答で〜1,500,000,000ページを受け取りました。 3分の1が脆弱でした...悲しいことに。



それについてではなく、私のリクエストを「Great and Mighty」に変更すると、サイトのルートにGETリクエストを送信するswfが見つかりました。

考え直すことなく、リクエストを変更し、次の形式のデータを送信しました:* .swf?[変数] = http://127.0.0.1/。 クロスドメインで404エラーが表示されると私は誓いましたが、GET要求はローカルホストに送信されました。 すぐにクロスドメインを偽造して、私はそのかわいいアラートを見ました()。 そしてもう少し。



crossdomain.xml最も一般的なものを書きました:



<cross-domain-policy> <site-control permitted-cross-domain-policies="master-only"/> <allow-access-from domain="*"/> </cross-domain-policy>
      
      







クロスドメインの問題を解決した後、次の図を見ました。







次に、本文、スクリプトタグを実装しようとしましたが、これは気分の低下以外の何も引き起こさなかったため、リンクがクリック可能であることがわかりました!

その結果、a、imgタグをページに埋め込むことができます。



HREF、あなたの時間!


リンクはクリック可能であるため、href =“ javascript:”またはhref =“ data:、”を使用する必要があります。

ただし、データは役に立たないため、vk.comを制御する必要があります(ただし、window.openerを使用してアクセスすることもできました)。



攻撃を実証するために、偽のVKontakteを作成することにしました。

コンソールに手を伸ばすと、wgetがindex.htmlをアップロードしました。私の中で何かが動きました。

結局、リンクは次のようになります。



 <a href="javascript: (html )">click-click</a>
      
      





そして今、最悪の事態:jsでは、2種類の引用符が使用されます(誰もがどの引用符を使用するかを知っています)。

しかし、テキストデータを変数に入れる方法は?

これがマルウェアだとします:



 var a="<html><h1>Site.com</h1>\n"+ "<!— -- -->\n"+ "<div id='lga' style='height:231px;margin-top:-22px'>\n"+ "<!— - -->\n"+ "</html>";
      
      







jsの観点からは、すべては問題ありませんが、htmlは誓います。



 <a href=" javascript: var a="<html><h1>Site.com</h1> <!— -- --> <div id="lga" style='height:231px;margin-top:-22px'> <!— - --> </html>"; ">FAIL</a>
      
      









ただし、ここではASCIIを覚えておく必要があります。

文字をASCIIでエンコードすると、コードの外観がまったく異なります。ブラウザーは構文を誓わず、コードは機能します(ミニハックなど)。







crossdomain.xmlと偽物をサイトのルートに配置するだけです。



ユーザーをリンクにリダイレクトします。





そして、ユーザー名とパスワードを取得します。





この脆弱性は修正されたようです。.htaccessに2、3行追加することで、脆弱性はまだ残っており、Flashは修正されていませんが、Flashを逆コンパイルしてflaファイルを送信しました。





パベルは私たちを見下している、何かが間違っている...



そして、HTMLページを作成し、そこにswfファイルを埋め込みます。







Kremlinin.ru



Vkontakteと同様、クレムリンは脆弱でした。 しかし、ここでのイベントの展開は少し異なります。



XMLでたらめ


したがって、私たちの場所には、すでに2つの脆弱なフラッシュドライブがありました。

作業のスキームは、VKontakteスキームに似ていました。

SWF-> GET /crossdomain.xml-> GET / file



入り口で、彼らはxmlファイルへのパスを要求し、それを処理し、写真内のxmlでデータをマークしました。







偽のxmlは次のようになりました。







クリックする1秒前...







そして、ここに彼は夢の警戒心があります:







2番目のアラート、フラッシュドライブ番号2:







XML:







クリックの結果を推測できます。



悪性腫瘍



脆弱性は常にどこにでもありましたが、たまに最も予期しない場所に存在することもありました。

この記事がおもしろくて役立つことを願っています。



追伸:曲率のため、今だけビデオを追加しています。



VKontakte:




All Articles