漏洞原理
有些应用程序有记录用户IP的功能或者限制IP白名单的功能,如果应用程序从请求头字段获取用户IP,可能会被攻击者伪造,来达到欺骗服务器的目的。
案例一
发现操作日志页面有个记录用户IP功能
插入常见的获取请求IP的请求头X-Forwarded-For、Proxy-Client-IP、WL- Proxy-Client-IP、HTTP_CLIENT_IP、X-Real-IP
效果如下
案例二
开发说有个接口有白名单限制
然后在请求头中添加了X-Forwarded-For,成功绕过限制。
测试方法
将下列常见的获取IP的请求头添加到请求头中即可- X-Forwarded-For: 127.0.0.1
- X-Originating-IP: 127.0.0.1
- X-Remote-IP: 127.0.0.1
- X-Remote-Addr: 127.0.0.1
- X-Client-IP: 127.0.0.1
- Proxy-Client-IP: 127.0.0.1
- WL-Proxy-Client-IP: 127.0.0.1
- HTTP_CLIENT_IP: 127.0.0.1
- X-Real-IP: 127.0.0.1
复制代码 修复方法
使用$remote_addr获取用户的真实IP
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |