私はXSS攻撃に取り組んでおり、何時間も試行しても脆弱ではないと思います。しかし、セカンドオピニオンは素晴らしいでしょう。
<script language='javascript'>
var redirecturl = 'mailto:[email protected]?mkt_tok=mailtokenhere%3D%3D';
function redirect() {
var anchor = window.location.hash;
window.self.location = redirecturl + anchor;
}
</script>
これに対する私の最初の魅力は、anchor
の値をwindow.self.location = redirecturl + anchor;
に渡すことでした。ただし、ここでmailto
を使用するとXSSが不可能になると思います。
これはXSSよりも多くのインジェクションですが、 Mailtoリンクにはいくつかの機能があります 乱用可能です。たとえば、TOのみが入力された状態でポップアップする電子メールプログラムの代わりに、CC、BCC、件名、本文を事前に入力できます。これは、クエリ文字列を編集することで行われます。 ?subject=xyz&[email protected]
。
私の最初の考えは、window.location.hash
が原因で、#
がクエリ文字列に何も追加しないようにすることでした。しかし、私はそれをChromeでテストしました、そしてそれは可能であるようです。
したがって、これを使用すると、悪意のある誰かがいくつかのことを電子メールにこっそり追加して、それが気付かれずに済むことを期待できます。たとえば、悪意のある俳優は、彼らが制御するアカウントにブラインドカーボンコピーを送信できます。
https://example.com/contact#&[email protected]
mailto:[email protected]?mkt_tok=mailtokenhere%3D%3D#&[email protected]
または、広告を挿入することもできます。
https://example.com/contact#&body=%0A%0A%0A%0A%0A%0A%0A%0A%0A%0A%0ABuy%20your%20foobar%20cheap%20at%20example.com%2Ffoobar
mailto:[email protected]?mkt_tok=mailtokenhere%3D%3D#&body=%0A%0A%0A%0A%0A%0A%0A%0A%0A%0A%0ABuy%20your%20foobar%20cheap%20at%20example.com%2Ffoobar
これは、これらの他のヘッダーを含めるかどうか、電子メールクライアントに依存します。 RFC6068 は、件名、キーワード、本文など、安全であると見なされるヘッダーの「限定されたセット」以外のものをクライアントが追加しないようにします。