PHPはIPまたはソースアドレスを偽造する

2367 ワード

PHPはIPまたはソースアドレスを偽造する
IP偽造に関するCTFの問題をいくつか作って、他の人の文章を見て、少し自分でまとめてみました.
じっけんかんきょう
サーバオペレーティングシステム:window Client IP:192.168.220.1 Server IP:192.168.220.141
HTTPリクエストメッセージ
//             
GET /test.php HTTP/1.1
Host: 192.168.220.141
X-Forwarded-For: 172.16.10.10
Client-Ip: 100.100.100.100
Referer: www.google.com

test.phpコード
echo $_SERVER["HTTP_CLIENT_IP"].'
'
; // 100.100.100.100 echo $_SERVER["HTTP_X_FORWARDED_FOR"].'
'
; //172.16.10.10 echo $_SERVER["REMOTE_ADDR"].'
'
; // 192.168.220.1 echo $_SERVER["HTTP_REFERER"].'
'
; // www.google.com

結論を出す
$_SERVER["HTTP_X_FOrWARDED_FOR"]で得られた値は、HTTPにおけるX-Forwarded-For$SERVER["HTTP_CLIENT_IP"]で得られた値は、HTTPにおけるClient-Ip(client-ip書き込みテスト結果:サーバがwindow環境である場合、client-ipは大文字小文字混在可能である.サーバ環境がlinuxである場合、client-ipはすべて大文字でなければならない)$SERVER["REMOTE_ADDR"]で得られた値は、プロキシIPまたは他の$SERVER["HTTP_REFERER"]で得られた値がHTTP中のReferである総じてHTTP_*偽造しやすく、HTTPリクエストヘッダを変更すればよい.より具体的には、この質問を参照してください.https://segmentfault.com/q/1010000000686700