网络安全之IP伪造

         目前很多网站的涉及存在一些安全漏洞,黑客容易使用ip伪造、session劫持、xss攻击、session注入等手段危害网站安全。在纪录片《互联网之子》(建议搞IT的都要看下)中,亚伦·斯沃茨(真实人物,神一般的存在)涉嫌利用麻省理工的网络,通过ip伪造从JSTOR中下载了150万篇论文。本文通过firefox看下一个简单的ip伪造是如何实现的。

       1、客户端的ip是通过http的头部发送到服务器端的

      比如,在打开网址www.baidu.com的时候,通过firebug可以看到请求头部,头部里包含客户端的信息,比如cookie等。

 

     

 一般后台获取的客户端ip的代码为:

php代码:

private function _get_client_ip() {

$ip = $_SERVER['REMOTE_ADDR'];

if (isset($_SERVER['HTTP_CLIENT_IP']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_CLIENT_IP'])) {

$ip = $_SERVER['HTTP_CLIENT_IP'];


jsp代码:

public String getIpAddr(HttpServletRequest request) {
       String ip = request.getHeader("x-forwarded-for");
       if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
          ip = request.getHeader("Proxy-Client-IP");
       }
       if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
          ip = request.getHeader("WL-Proxy-Client-IP");
       }
       if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
          ip = request.getRemoteAddr();
       }
       return ip;
}

 

   代码片段即是获取客户端IP,这段程序会尝试检查 HTTP_CLIENT_IP, HTTP_X_FORWARDED_FOR, 根据之前的原理说明,以 HTTP_开头的 header,  均属于客户端发送的内容。那么,如果客户端伪造 Client-Ip, X-Forward-For,不就可以欺骗此程序,达到“伪造 IP”之目的?

      伪造这项值?如果你会写程序,并了解HTTP协议,直接伪造请求 header 即可。或者使用 Firefox的 Moify Headers插件即可。

 

     2、Modify Headers伪造ip

   安装Modify Headers后,添加一个X-Forwarded-For,并填入一个ip,置为可用后,打开相应网页,服务器就会获取到该伪造ip。

  

  

 

3、网站如何防护ip伪造

     既然可以通过ip伪造,网站如何过滤这些伪造的ip? 一般做法是在应用服务器上强制将X-Forwarded-For的值设置为客户端真实ip,具体操作请自行研究。

 

       网络中存在此漏洞的网站很多,尤其是一些投票类的网站,通过限制ip(一个ip只能投一次票,或者一个ip只能在一定的时间段投一次票)来限制反复投票的网站。别人可能会利用此漏洞来伪造ip,突破这种限制。所以网站开发者要重视这类安全。

     本文部分内容参考了博客构造HTTP请求 Header 实现“伪造来源 IP 

 

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 您可以使用伪造 IP 地址的工具来伪造UDP源 IP。攻击者可以使用这些工具来发送伪造的UDP数据包,并将它们的源 IP地址设置为目标系统。这种攻击方式称为“IP 伪造攻击”。 需要注意的是,伪造IP是一种非法行为,而且会对网络连接安全造成巨大威胁,请勿使用在非法目的。 ### 回答2: 伪造UDP源IP是指修改UDP报文中的源IP地址,使接收方误以为这个报文来自于另一个IP地址的发送方。这种欺骗方式主要用于网络攻击,可能导致数据泄露、网络崩溃或其他安全问题。 实际上,伪造UDP源IP是一种比较复杂的技术攻击手段,需要具备一定的网络知识和能力。灵活运用以下方法,可能实现UDP源IP伪造: 1. 欺骗路由表:攻击者通过修改路由表中的条目,将目标IP的流量引导到自己控制的服务器上。然后,通过修改报文的源IP地址,将流量伪装成从另一台服务器发出,迷惑接收方。 2. Spoofing工具:利用一些专门的工具,例如Scapy或Hping等,可以生成伪造的UDP源IP报文,攻击者可以使用这些工具来伪装报文的源IP地址,并发送给目标接收方。 然而,需要强调的是,伪造UDP源IP是一种非法行为,违反了网络安全的基本原则。进行这种攻击可能导致法律风险和严重的后果。此外,网络安全意识的提升和技术的发展,使得防御方对这种欺骗方式越发警惕,相应的安全措施也越来越健全。 因此,我们强烈不建议或支持任何形式的网络攻击,包括伪造UDP源IP。正确的做法是加强网络安全防护,提高自身的安全意识,以保护个人和组织的网络安全

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值