IP地址伪造
2020-04-23 本文已影响0人
migrate_
- IP伪造有什么用?
1:当后台限制IP访问,可以通过伪造IP访问该后台。
2:如果基于访问IP来记录访问者的次数,而这个值又可以修改,就可以利用伪造ip进行批量刷赞
3:爆破某cms后台,如果服务器是通过X-Forwarded-For来判断访问IP的时候,我们就可以伪造ip进行爆破管理员账户
4:有可能会导致xss漏洞的产生 - X-Forwarded-For 伪造IP不只有这个字段
x-forwarded-for: 127.0.0.1
x-remote-IP: 127.0.0.1
x-remote-ip: 127.0.0.1
x-client-ip: 127.0.0.1
x-client-IP: 127.0.0.1
X-Real-IP: 127.0.0.1
client-IP:127.0.0.1
x-originating-IP:127.0.0.1
x-remote-addr:127.0.0.1

- 防御策略(网上找的)
- 对于直接使用的 Web 应用,必须使用从TCP连接中得到的 Remote Address,才是用户真实的IP;
- 对于使用 nginx 反向代理服务器的Web应用,nginx必须使用Remote Address正确配置set Headers,后端服务器则使用nginx传过来的相应IP地址作为用户真实IP;同时,后端服务器应使用X-Real-IP 或 X-Forwarded-For最后1段IP作为限制,允许自己的nginx服务器访问,禁止其它IP访问,禁止对外提供服务。
- 构造 HTTP请求 Header 实现“伪造来源 IP ”一般情况下确实是取$_SERVER['REMOTE_ADDR']就行了