ブラウザのアドレスバーにJavaScriptを入力して実行する


Blogger:ページビュー設定(5)iOS SafariはJavaScriptでCookie編集の記事を書いたときに調べたときのメモを元に書き起こしました。

アドレスバーでのJavaScript実行はセキュリティの観点から阻止されているブラウザが多い


まずは試してみます。

アドレスバーに「javascript:alert(document.cookie);」をコピペしてEnterキーを押します。

これは保存されているクッキーを表示させるJavaScriptです。

Sleipnir4  成功

IE8          成功

iOS Safari 成功

IE9、IE10 「javascript:alert(document.cookie);」が検索ワードとして認識されてしまいます

Chrome   「javascript:alert(document.cookie);」が検索ワードとして認識されてしまいます

Firefox 反応なし

アドレスバーにJavaScriptをコピペで実行できたのはSleipnir4とIE8とiOS Safariでした。

セキュリティの観点からアドレスバーからのJavaScriptの実行は阻止されているようです。

アドレスバーからjavascript:を実行できなくするブラウザ側の対策について | MemeTodo

これによるとChromeとIE9はコピペせずにキーボードから入力すると実行できるようです。

キーボードからアドレスバーに「javascript:alert(document.cookie);」とキーボードから入力して実行した結果

IE9       フリーズ。私のこのときのIE9はおかしかったのかもしれません。「javascript:alert(1);」とするとちゃんと「1」がダイアログに表示されました。

IE10       成功

Chrome 成功

Firefox  反応なし

Firefoxが一番壁が厚いですね。

ブックマークレットにすればいずれのブラウザでも実行可能


お気に入りやブックマークのURL欄にJavaScriptを登録してそのブックマークを開けば実行可能とのことです。

これをブックマークレットといいます。

各ブラウザのブックマークレット登録方法をまとめました。

これは設置する人側からの観点で書いています。


IE共通、FireFox
<a href="javascript:alert(document.cookie);">Cookieを見る</a>
このようにJavaScriptのリンクを作りそれを右クリックしてブックマークやお気に入りに登録してもらう。

例 Cookieを見る

IE10

FireFox


iOS Safariは結構面倒です。javascriptで始まるアドレスでブックマークを作成できないので一旦ダミーのブックマークを作ってからあとでURL部分を書き換えます。
iOS SafariでHTMLソースをみる方法で解説しています。

Chrome


まずはどのページでもよいのでアドレスバーの右端にある星マークをクリックしてブックマークに追加します。

編集をクリック。



あとはここでブックマークレットの名前とJavaScriptを入力して登録すればよいです。

Sleipnir4

Chromeと違ってブックマーク登録時に編集画面がでてきません。

iOS Safariと同じようにまずダミーのブックマークを登録してから編集しないといけません。


まずはどのページでもよいのでアドレスバーの右端にある星マークをクリックしてブックマークに追加します。


登録した後ブックマークメニューからブックマークを右クリックしてプロパティでブックマークの名前を変更し、URLにJavaScriptを入れて再登録します。

ページにリンクを置いてクリックしてもらうだけでも実行可能


どのブラウザでもリンクをクリックすると実行できてしまいました。

<a href="javascript:alert(document.cookie);">Cookieを見る</a>

リンクを置いているページだけで実行すればよいのであればこれが一番簡単ですね。

参考にしたサイト


クッキーを表示する - くれすの開発日記〔JavaScript編〕 - g:javascript
最初に教えてくれたページです。

アドレスバーからjavascript:を実行できなくするブラウザ側の対策について | MemeTodo
セキュリティの観点からJavaScriptの実行をできなくする対策がとられているそうでう。

PR

0 件のコメント:

コメントを投稿