Je suppose que vous voulez dire faire semblant à distance. La réponse courte est oui, vous le pouvez. La réponse longue, à savoir si c'est facile, dépend de la façon dont vous voulez le simuler.
Si vous ne vous souciez pas de recevoir une réponse, il suffit d'ouvrir un socket brut vers la destination et de falsifier l'adresse IP source. Je ne suis pas sûr que ce soit vraiment facile à faire en PHP puisque toutes les implémentations de socket de PHP sont au niveau ou au-dessus du niveau TCP. Mais je suis sûr que c'est possible. Maintenant, puisque vous ne contrôlez pas le réseau, la réponse ne vous sera pas renvoyée. Cela signifie donc que vous ne pouvez pas (de manière fiable) créer une connexion TCP via un faux en-tête TCP trivial (puisque le syn-ack empêche cela en exigeant une communication bidirectionnelle).
Cependant, si vous pouvez compromettre la passerelle d'où provient l'IP, vous pouvez faire ce que vous voulez. Ainsi, si vous compromettez le routeur wifi auquel un ordinateur est connecté, vous pouvez vous faire passer pour cet ordinateur et le serveur ne fera pas la différence. Si vous compromettez le routeur de sortie du FAI, vous pouvez (en théorie du moins) vous faire passer pour l'ordinateur et le serveur ne fera pas la différence.
Pour plus d'informations, consultez les liens suivants :
Cependant, vous ne pourrez forger que le 127.0.0.1
adresse de bouclage sous TCP si vous compromettez réellement la machine/serveur local. Et à ce moment-là, est-ce vraiment important ?
Important
Si vous utilisez un cadre pour accéder à ces informations, soyez absolument sûr qu'il ne vérifie pas le X-HTTP-FORWARDED-FOR
en-tête ! Sinon, il est trivial de falsifier l'adresse IP. Par exemple, si vous utilisez L'interface de Zend Framework Zend_Controller_Request_Http::getClientIp
soyez absolument sûr que vous passez false
comme paramètre ! Sinon, il suffit d'envoyer un en-tête HTTP : X-Http-Forwarded-For: 127.0.0.1
et ils semblent maintenant être locaux ! C'est un cas où utiliser un framework sans comprendre comment il fonctionne en arrière-plan peut vraiment être mauvais...
Edit : Relevant
J'ai récemment écrit un article de blog sur la façon dont j'ai découvert par hasard une vulnérabilité dans l'application de StackOverflow. Elle est très pertinente ici, car elle exploite un mécanisme très similaire à celui que recherche cette question (bien que les circonstances qui l'entourent soient un peu plus restreintes) :
Comment j'ai piraté StackOverflow