【悪用厳禁】curlでreferer、UAなどを偽装する

curlで普通にURLをリクエストすると、対象サーバのログを見るとこんなふうに記録されています。

サーバーspaceからhogehoge.comにリクエスト

[dacelo@space ~]$ curl -Ik https://hogehoge.com/

hogehoge.com側では…

"-" space- - [09/May/2019:11:17:00 +0900] "HEAD / HTTP/1.1" 403 - "-" "curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.27.1 zlib/1.2.3 libidn/1.18 libssh2/1.4.2"

これを、一般的なブラウザのUAで、ある特定のページからのリンクでのアクセスのように偽装してみましょう。あ、アクセス制限のテストのためにね。

https://fugafuga.com/ からのリンクで、FireFox66でアクセスしたことにします。

spaceサーバーから…

広告

[dacelo@space ~]$ curl -e https://fugafuga.com/ -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:66.0) Gecko/20100101 Firefox/66.0" https://hogehoge.com/

hogehoge.com側では?

"-" space - - [09/May/2019:11:21:37 +0900] "GET / HTTP/1.1" 403 202 "https://fugafuga.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:66.0) Gecko/20100101 Firefox/66.0"

成功しました。悪用厳禁ですよ。自分のサイトのアクセス操作のテストなどに使ってくださいね。それでは。

今日使ったcurl のオプションまとめ

  • -k … 証明書にエラーがあっても無視する
  • -e … リファラ(referer)を設定する
  • -A … UA(UserAgent)を設定する
  • -I … HTTPレスポンスヘッダだけ取得する

About: dacelo


Comments are closed.