質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

3455閲覧

ブックマークレットについて

shin59

総合スコア12

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2015/11/25 05:33

こちらのサイトでメールアドレスやパスワードが自動入力できるブックマークレットを作っています。
https://biz.moneyforward.com/session/new

とりあえずこのサイトへ移動して、ブックマークレットに記述した以下のjavascriptを作動させると、
ログインまで上手くいきました。
javascript: document.getElementsByName('sign_in_session_service[email]')[0].value = 'メールアドレス';
document.getElementsByName('sign_in_session_service[password]')[0].value = 'パスワード';
document.getElementsByName('commit')[0].click(); void(0);

ただこれに加えて、そもそもこのサイトへ移動してくる機能も欲しかったため、以下の一文もjavascript:の次に付け加えました。
document.location = "https://biz.moneyforward.com/session/new";

よって、
javascript: document.location = "https://biz.moneyforward.com/session/new";
document.getElementsByName('sign_in_session_service[email]')[0].value = 'メールアドレス';
document.getElementsByName('sign_in_session_service[password]')[0].value = 'パスワード';
document.getElementsByName('commit')[0].click(); void(0);

としましたが、この一文を加えたことにより、サイトへ移動はしてくれますが、そこで止まってしまいました。
メールアドレスとパスワードの自動入力、自動ログインは実行されませんでした。
どうすれば全てのプログラムが動くようになるのでしょうか。

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

基本的はできません。
もしできるのであれば、そのサイトはXSS脆弱性を抱えていることになります。

典型的には、攻撃者が攻略対象となるウェブサイトとは異なるサイトからスクリプトを送り込み、訪問者に実行させるので、「クロスサイト(サイトを横断した)スクリプティング(スクリプト処理)」と呼ばれる。

クロスサイトスクリプティング - Wikipedia

ログイン処理をさせるだけなら、javascriptからPOSTリクエストをすることによって可能かもしれません。
が、これができるようだと今度はCSRF脆弱性を抱えているということになります。

具体的な被害としては、掲示板に意図しない書き込みをさせられたり、オンラインショップで買い物をさせられたりするなどが挙げられる。また、ルーターや無線LAN等の情報機器のWebインタフェースが攻撃対象となれば、それらの機器の設定を勝手に変更される懸念もある。

クロスサイトリクエストフォージェリ - Wikipedia

このサイトをちょっと触ってみたところ、authenticity_tokenというパラメータでCSRF対策をしているようです。Railsですかね。なので、ログインページを飛ばしてのログインはなかなか難しいかと。

投稿2015/11/25 06:36

Lhankor_Mhy

総合スコア36104

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shin59

2015/11/25 07:20

わかりました。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問