[CVE-2014-2324] [5.0]Lighttpd mod_evhost与mod_simple_vhost 路径回溯漏洞

本文详细介绍了CVE-2014-2324,这是一个针对lighttpd 1.4.34及其更早版本的安全漏洞。攻击者可以通过构造特殊的HTTP Host头部利用mod_evhost或mod_simple_vhost模块导致路径回溯,访问不应公开的文件。漏洞关键在于lighttpd对IPv6格式主机名的不严格检查。通过设置'Host': '[]/../../www2'这样的请求,可以尝试回溯到lighttpd的根目录,尽管回溯有限。测试代码和相关参考资料提供了一种理解并复现此漏洞的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

漏洞描述:

request.c中request_check_hostname函数处理HTTP请求头中的主机名时,对IPV6格式的主机名检查不够严格,可能导致路径回溯访问的漏洞。

  41     /* IPv6 adress */
  42     if (host->ptr[0] == '[') { //使用‘[’激活IPV6地址检查
  43         char *c = host->ptr + 1;
  44         int colon_cnt = 0;
  45 
  46         /* check portnumber */
  47         for (; *c && *c != ']'; c++) {//检查IPV6地址中是否包含非法字符
  48             if (*c == ':') {
  49                 if (++colon_cnt > 7) {
  50                     return -1;
  51                 }
  52             } else if (!light_isxdigit(*c) && '.' != *c) {
  53                 return -1;
  54             }
  55         }
  56 
  57         /* missing ] */
  58         if (!*c) {
  59             return -1;
  60         }
  61 
  62         /* check port */
  63         if (*(c+1) == ':') {//如果‘]’后不为':8080'这种标示访问端口的写法,直接返回0,表示主机名检查无误。
  64             for (c += 2; *c; c++) {
  65                 if (!light_isdigit(*c)) {
  66                     return -1;
  67                 }
  68             }
  69         }
  70      return 0;
  71     }


漏洞重现:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值