首页
关于
Search
1
BT宝塔面板免费使用专业版网站监控报表插件
223 阅读
2
Python批量校验两个文件夹里面的文件MD5
158 阅读
3
更改宝塔nginx默认的日志格式
88 阅读
4
MySQL创建索引
85 阅读
5
欢迎使用 Typecho
82 阅读
默认分类
Java
SpringBoot
MySQL
Linux
登录
/
注册
Search
标签搜索
MySQL
Linux
JAVA
Docker
JavaScript
JDK
Redis
CentOS
SQL
SpringBoot
HTTP
Python
CDN
IP
前端
Micky
累计撰写
51
篇文章
累计收到
1
条评论
今日撰写
0
篇文章
首页
栏目
默认分类
Java
SpringBoot
MySQL
Linux
页面
关于
用户登录
登录
注册
搜索到
1
篇与
HTTP
的结果
2021-11-05
伪造HTTP请求IP地址
注意:伪造Http请求IP地址一般为非推荐使用手段一般使用:简单投票网站重复投票,黑别人网站在项目开发中(web项目),需要调其它系统接口,并且该系统需要获取客户端(浏览器访问端)的IP地址正常流程:浏览器---访问PC系统----PC系统需要调第三方系统,此时默认情况下,PC发起的request请求IP地址是PC所在服务器的IP地址,而不是请求浏览器端的IP地址所以,就想着是否能把request里的IP地址给修改了,因为在PC系统里是能获取到请求IP地址的,结果是修改不了最后了解到:可以在http请求头里,追加一个头信息(名称:x-forwarded-for),它会位于原始IP地址之前,所以当第三方系统获取地址时,就获取到了真实的浏览器访问地址IP了X-Forwarded-For:简称XFF头,它代表客户端,也就是HTTP的请求端真实的IP,只有在通过了HTTP 代理或者负载均衡服务器时才会添加该项。httpPost.addHeader("x-forwarded-for",ip);概念X-Forwarded-For X-Forwarded-For 是一个扩展头。HTTP/1.1(RFC 2616)协议并没有对它的定义,它最开始是由 Squid 这个缓存代理软件引入,用来表示 HTTP 请求端真实 IP,现在已经成为事实上的标准,被各大 HTTP 代理、负载均衡等转发服务广泛使用,并被写入 RFC 7239(Forwarded HTTP Extension)标准之中.$remote_addr是nginx与客户端进行TCP连接过程中,获得的客户端真实地址. Remote Address 无法伪造,因为建立 TCP 连接需要三次握手,如果伪造了源 IP,无法建立 TCP 连接,更不会有后面的 HTTP 请求$X-Real-IP是一个自定义头。X-Real-Ip 通常被 HTTP 代理用来表示与它产生 TCP 连接的设备 IP,这个设备可能是其他代理,也可能是真正的请求端。需要注意的是,X-Real-Ip 目前并不属于任何标准,代理和 Web 应用之间可以约定用任何自定义头来传递这个信息分析网络请求通常是浏览器(或其他客户端)发出请求,通过层层网络设备的转发,最终到达服务端。那么每一个环节收到请求中的remote_addr必定是上游环节的真实IP,这个无法伪造。那从全链路来看,如果需要最终请求的来源,则通过X-Forwarded-For来进行追踪,每一环节的ip(remote_addr)都添加到X-Forwarded-For字段之后,这样X-Forwarded-For就能串联全链路了。X-Forwarded-For: client_ip, proxy1_ip, proxy2_ip以Nginx为例,添加X-Forwarded-For的配置方式为:proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;如果用户在请求时候伪造的话,那么会出现上面案例的client1前面,出现伪造的ip:X-Forwarded-For: 伪造ip1, 伪造ip2, client_ip, proxy1_ip, proxy2_ip这样的话,需要取真实的client_ip,则需要取proxy1_ip前一个ip值;如果想要过滤掉或覆盖伪造的ip的话,则需要第一层代理(proxy1)用remote_addr来覆盖X-Forwarded-For:proxy_set_header X-Forwarded-For $remote_addr;各个请求头x-forwarded-for client_ip remote-addr X-Real-IP HTTP_CLIENT_IP HTTP_X_FORWARDED_FOR X-Remote-IP X-Remote-Addr X-Client-IP HTTP_VIA X-Originating-IP Proxy-Client-IP WL-Proxy-Client-IP X-Forwarded-For X-Originating-IP X-Remote-IP X-Remote-Addr参考https://zhuanlan.zhihu.com/p/134618410https://zhuanlan.zhihu.com/p/64821617https://www.jianshu.com/p/15f3498a7fadhttps://www.cnblogs.com/luxiaojun/p/10451860.html
2021年11月05日
13 阅读
0 评论
1 点赞