はい、こんにちは、今日は自分のサイトのハッキングを発見しました。
ユーザー ウォール (私のコミュニティ サイト) にメッセージを書き込むと、ajax 呼び出しが実行され、メッセージがデータベースに挿入され、成功するとスライドして表示されます。
問題なく正常に動作します。
だから私は少し考え直していました.これにはPOSTメソッドを使用しています.GETメソッドなら?msg=haxmsg&usr=12345679を簡単に実行できます. しかし、POST メソッドを回避するにはどうすればよいでしょうか?
私は新しいhtmlドキュメントを作成し、フォームを作成し、アクションで「site.com/insertwall.php」(通常はajaxで使用されているファイル)を設定し、私が行っているのとまったく同じ名前の入力フィールドをいくつか作成しましたajaxcall (msg, uID (userid), BuID (by userid) ) で送信ボタンを作りました。
ログインが必要な page_protect() 関数があることは知っています。そうでない場合は、index.php のヘッダーになります。だから私はログインし(私のsite.comでセッションを開始しました)、次にこの送信ボタンを押しました。そして、それが新しいメッセージを作成したことを私のサイトで見ました。
POSTメソッドをハイジャックするのはとても簡単だったので、もう少し安全か何かだと思いました。
このハイジャックを防ぐために何ができるか知りたいですか? 本当のハッカーがこの「穴」で何ができるか知りたくないからです。page_protect は、セッションが同じ http ユーザー エージェントからのものであることを保証します。これは正常に機能します (ログインせずにフォームを実行しようとすると、ヘッダーが startpage に表示されるだけです)。最初にそれを実行します。
どんなアドバイスも大歓迎です。私は ajax 呼び出しを可能な限り安全に保ちたいと思っており、それらはすべて POST メソッドで実行されています。サーバーまたは何かからのものであることを確認するために、insertwall.phpに何ができますか..
ありがとうございました