0

私はウェブサイト (mysite1.com) を使用していましたが、ログイン画面から 3 画面奥にあるのが、 bash と curlを使用して到達したい画面であり、ブラウザーを通過するのとまったく同じ要求をシミュレートしています。シミュレートとは、まったく同じヘッダー (リファラーとオリジンを含む) を送信することを意味します。

何が起こっているかは次のとおりです。

  1. ブラウザの挙動をシミュレートしてログイン画面&画面2を跨ぐことができました
  2. 今、私は画面 3 で立ち往生しています。mysite1 サーバーに送られる POST 呼び出しは、ブラウザーが送信するものとまったく同じです。
  3. 3rd Screen の POST 呼び出しを行うために、action="URLOf3rdScreenOnMysite1"および method=postを使用して、localhostにフォームを作成します。送信する前に、ブラウザー拡張機能を使用してリファラーのオリジンとその他のヘッダーを変更します。
  4. これにより、ポイント 2 で述べた要求が生成されます。ただし、screen1 と 2 の最初の 2 つの呼び出しは bash で行われました。

mysite1 で使用されているCookieはありません。Session_id は、GET クエリ文字列パラメーターとして存在します。おそらくサーバーはリクエストされた URL の流れを追跡していると思いましたが、bash を使用してその流れをたどってもエラー応答が返されました。

3 番目の画面の POST 呼び出しは、シミュレートしようとすると、異なる応答 (エラー応答) を返し、両方のケースで要求された URL の流れが同じであっても、 を返します。これはどのように可能ですか?サーバーは、ブラウザからのリクエストと bash + last-screen-from-browser からのリクエストが異なることをどのように認識していますか? Headers + POST Data + URLs requested以外に関連するパラメータはありますか? ブラウザから3番目の画面を呼び出したときに別の接続が確立されたのでしょうか?

4

0 に答える 0