著者:czy <[email protected]>
出典:http://www.nsfocus.net
日付:2003-09-03
(フォーラムは記事の一部のキャラクターを処理するため、
http://www.chinansl.com/czy/xmlhttp.txt記事を読んでください
http://www.chinansl.com/czy/aspsky5.htmテストコード)
あなたはすでにクロスサイトのスクリプト攻撃に精通していると思いますが、クッキーを手に入れたときは常に1つあります。
質問:常にwindow.openを使用してフォームをポップアップしてからクッキーを送信するので、これは秘密です
それは大きな割引です。以前は、WebページにHTMLステートメントを挿入するためのIntersADJACENTHTMLメソッドを考えていました
この方法は、IEウィンドウなしでCookieを送信するためにかろうじて使用できますが、実際に使用すると、IEエラーが発生する可能性があります。
良い方法はありませんか?過去には、VBSウイルスの自動アップグレードを研究するとき、Microsoft.xmlhttpを使用しました。
コントロール(このコントロールはWin98/2Kのデフォルトに伴うものであり、それはコントロール、つまり安全だと考えている!)、それを通して私たちは
投稿または取得のいずれかで、WebページのWebサイトにHTTPリクエストを送信できます。
わかりました、アイデアはここに来ました。 aspsky5.00320を例として取り上げましょう。
<imgsrc = "xxxxxx">は、vbscriptを使用してsrcで記述できることがわかっています。 。例えば
<imgsrc = "vbscript:a =(msgbox(now))">、しかし、たとえば、1つのステートメントのみを実行できます。
<imgsrc = "vbscript:a =(msgbox(now)):b =(msgbox(now))">これは間違っています!
どうすればいいですか? VBSでは、executeステートメントを使用できます。JSでは、Evalを使用できます。
たとえば、<IMGSRC = "vbscript:execute(" a =(msgbox(now)):b =(msgbox( "czy" "))") ">
または<imgsrc = "javascript:eval( 'alert(/' nsfocus/'); alert(/' czy/')')">
まだめまいではありませんよね?上記のように、VBSの実行ステートメントを使用する場合、二重引用符を「これは次のとおりに変更する必要があることに気付くかもしれません。
VBSでは、単一の引用を文字列で囲む必要があり、2つの単一の引用が1つと別の引用を表し、二重引用符の中にあります!
したがって、executeステートメントでは、単一の引用を使用することはできませんが、HTMLが引用符と一致しているときに直接使用することはできません。
src = "の後の引用符と一致するため、代わりに"のみ使用できます。
引用マークの問題は解決されました。実際のアプリケーションでは、Aspskyはコードも処理します。
1:スクリプト文字列が見つかった場合、その前にスペースを追加します。
2:HTTP文字列を見つけた場合、それはURLと見なされ、両側に<a>要素を追加します
3:スペースが見つかった場合、代わりにそれらを使用します
問題を解決します:
1:VBScriptはVBScriptに置き換えられます
2: "" ht "" + "" tp ...を使用する代わりに(VBSの引用符と引用符に複数のアプリケーションがあり、 +はコネクタを表します)
3:代わりにスペースを使用します(注意しないでください)
最後に、それはクッキーを送信する問題です。
1:コントロールは、すべてのWebサイトをローカルに取得または投稿できますが、Webページでのみ使用できます。
取得、現在のサーバーを投稿してください。 。 。 。そうでなければ、彼は質問を拒否するだろうと言うでしょう!
2:CookieはURLに特別な相互作用のある文字を持つことができません
問題を解決します: