展会信息港展会大全

Asp.net获取客户端IP常见代码存在的伪造IP问题探讨
来源:互联网   发布日期:2016-01-27 15:23:20   浏览:971次  

导读:如果某个网站是通过下面的代码获取IP,那么我们只要在 Header里随意设置HTTP_VIA和X_FORWARDED_FOR,就可以达到伪造IP的目的在网卡随便一搜: Asp net 客户端IP可以搜索到很多页面,提供的代码基本都类似于:复 ...

如果某个网站是通过下面的代码获取IP,那么我们只要在 Header里随意设置HTTP_VIA和X_FORWARDED_FOR,就可以达到伪造IP的目的

在网卡随便一搜: Asp.net 客户端IP

可以搜索到很多页面,提供的代码基本都类似于:

复制代码 代码如下:

if (Request.ServerVariables["HTTP_VIA"] != null)

return Request.ServerVariables["HTTP_X_FORWARDED_FOR"].Split(new char[] { ',' })[0];

else

return Request.ServerVariables["REMOTE_ADDR"];

上述代码里的HTTP_VIA和HTTP_X_FORWARDED_FOR,都是从客户端提交的Header里获取的,而在正常的HTTP交互中,REMOTE_ADDR是无法伪造的(注),

所以如果某个网站是通过上面的代码获取IP,那么我们只要在Header里随意设置HTTP_VIA和X_FORWARDED_FOR,就可以达到伪造 IP的目的,可以使用FireFox的插件 Modify Headers 来测试,用它添加Header

注:实际上,REMOTE_ADDR也是可以伪造的,但是会造成无法正常接收数据,好比写信时,发件人写假地址,那当然不可能收到对方的回复了

赞助本站

人工智能实验室

相关热词: 客户端 IP net

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港