ID:RqGCJZ さんの質問

ブラウザに読み込まれたJSファイルを
開発者ツールなどで、変更して実行することは可能でしょうか?


  • イメージとしては、
    HTMLのフォーム要素の値などを、開発者ツールで値を書き換えて、
    POSTできると思うのですが、
    それのJavascript版といった感じで、
    Ajaxなどで送信するJSONデータのキーや値を変更しサーバーにPOSTすることは可能でしょうか?

  • もし可能でしたら、
    セキュリティ上対策するべきことなども教えていただけると幸いです。

みんなの回答 5 件

ID:PVuR0v さんの回答

つかったことないからわからんがseleniumでどうでしょうか。

ID:RqGCJZ

ありがとうございます!
selenium初めてきいたので調べてみます。

ID:LVGJB. さんの回答

curlでいいと思う

ID:RqGCJZ

ありがとうございます!
curlも初めて知りました。こちらも調べてみます。

ID:Hm2mJS さんの回答

consoleから弄れるんじゃね?jsをuglifyしたとしても、ソースを追うとなんとなくポイントが分かるはず。あとはサーバに送る諸々を解析して偽造データをサーバに送る。
暗号化とか色々考えたけどどうせ破られる。結局のところ、対策の大元の考え方として、重要な事柄の全てはサーバの方をメインに動かす事しておき、クライアントはサーバの窓口みたいなものと考える事にした。クライアントが常にサーバまで近況をお伺いたてる感じ。クライアントからは操作のトリガーとなる単純な入力に極力抑え(例えば、ストットだとスタートボタンを押す動作のみ受け付ける。クレジットや目の並びは全てサーバ側で処理・記録)、クライアントの全ては信用できないという前提。クライアント側で変な事をしても、クライアント側とサーバ側のデータが一致しないとバレる様に工夫しておく。バレたら即終了。

ID:RqGCJZ

ありがとうございます!
やはりJSの改変は可能なのですね。
アドバイス頂いた点に注意し、見直してみます。

ID:Hm2mJS

2年前に作ったクイズゲームで使ったときの考え方です。結構なユーザ数だけど、まだハックされていないみたいだから、この方法で大丈夫なんでしょう。きっと。
さっきググってみたら皆さんも似たようなアプローチみたいですよ。

ID:fSh90W さんの回答

JSファイルそのものを変更することは出来ませんが、開発者ツール使ってPOST直前でブレークポイント張って、POSTする値を書き換えて送信する事はできます。

という事でフロント側のJSはいくらでも改ざんできてしまうので、サーバサイドで防ぐしか無いです。

ID:RqGCJZ

ありがとうございます!
具体的な方法も教えていただき、助かります!

ID:xkpBJq さんの回答

js関連はなんでも変更できるよ。
「JSONデータのキーや値を変更しサーバーにPOST」されても、問題ないようにサーバー側で実装する。js側でできることはない。

ID:RqGCJZ

ありがとうございます!
こちらで質問してよかったです。

最終更新日:2016-10-28 (1,237 views)

関連するトピックス

ページ上部に戻る