锦州市广厦电脑维修|上门维修电脑|上门做系统|0416-3905144热诚服务,锦州广厦维修电脑,公司IT外包服务
topFlag1 设为首页
topFlag3 收藏本站
 
maojin003 首 页 公司介绍 服务项目 服务报价 维修流程 IT外包服务 服务器维护 技术文章 常见故障
锦州市广厦电脑维修|上门维修电脑|上门做系统|0416-3905144热诚服务技术文章
CVE-2018-18820漏洞分析

作者: 佚名  日期:2018-11-08 14:43:58   来源: 本站整理

 研究人员发现xiph.org基金会支持的开源流媒体服务器Icecast的漏洞。攻击者可以伪造HTTP header来覆写服务器的栈内容,导致远程代码执行漏洞。因为Icecast常用于网络电台,所以攻击者利用该漏洞可以完全控制网络电台。该漏洞的CVE编号为CVE-2018-18820。
版本号为2.4.0到2.4.3的Icecast服务器和使用URL认证的Icecast服务器受该漏洞的影响。研究人员建议尽快升级到v 2.4.4。
Snprintf
我们都知道sprintf是不安全的,因为不提供对缓冲区溢出的保护。许多文档中都说Snprintf是更安全版本的sprintf,但如果缓冲区太小,输出就会变短。但我们不清楚的是如果输出缩短,snprintf就不会返回写的字节。事实上,如果输出缓存足够大,那么返回的是已经写入的字节数。如果提供一个大于缓冲区大小的size参数,根本无法应对缓冲区溢出。
下面是来自Icecast的有漏洞的代码:
在来自用户请求的HTTP header之上循环,并复制到缓冲区,构建一个发送到认证服务器的POST请求主体:
post_offset += snprintf(post + post_offset,                        
 sizeof(post) - post_offset,                        
 "&%s%s=%s",
                        
                     url->prefix_headers ? url->prefix_headers : "",
                         cur_header, header_valesc);
下面是代码的简化版:
post_offset += snprintf(post + post_offset,
                        sizeof(post) - post_offset,
                        "%s",
                        cur_header);
如果sizeof(post)的大小是10,那么就写入了8字节。那么如果下一个复制的header是baz会怎么样呢?
输出会变短,但post_offset在缓存的尾部会递增:
下面设想另一个复制的header内容为“AAAAA…”。 到snprintf的size参数是sizeof(post) – post_offset,这会下溢变成一个非常大的数。结果就是之后对snprintf的调用会有效地写入尽可能多的数据。数据会被写入post + post_offset,可能会超出post缓存的范围,那么就会覆盖栈中的其他内容。
也就是说我们可以发送一个随后会被缩短的长HTTP header,但是长度可以让我们定位栈中的任何位置post_offset。然后,可以发送第二个HTTP header,其内容会被写入定位的位置。
对攻击者来说,比较难的一点是header在复制到snprintf之前会进行处理,所以限制在可以写入到栈中的数据。研究人员的POC漏洞利用可以引发服务器进程段错误(segfault),类似DoS攻击。但研究人员认为攻击者可以对该攻击进行升级来获得完全远程代码执行。
修复
Xiph很快对漏洞进行了回应,并发布了补丁。补丁非常简单,检查了snprintf的返回值,如果使post_offset指向缓冲区的尾部,就记录错误并退出循环。



热门文章
  • 机械革命S1 PRO-02 开机不显示 黑...
  • 联想ThinkPad NM-C641上电掉电点不...
  • 三星一体激光打印机SCX-4521F维修...
  • 通过串口命令查看EMMC擦写次数和判...
  • IIS 8 开启 GZIP压缩来减少网络请求...
  • 索尼kd-49x7500e背光一半暗且闪烁 ...
  • 楼宇对讲门禁读卡异常维修,读卡芯...
  • 新款海信电视机始终停留在开机界面...
  • 常见打印机清零步骤
  • 安装驱动时提示不包含数字签名的解...
  • 共享打印机需要密码的解决方法
  • 图解Windows 7系统快速共享打印机的...
  • 锦州广厦电脑上门维修

    报修电话:13840665804  QQ:174984393 (联系人:毛先生)   
    E-Mail:174984393@qq.com
    维修中心地址:锦州广厦电脑城
    ICP备案/许可证号:辽ICP备2023002984号-1
    上门服务区域: 辽宁锦州市区
    主要业务: 修电脑,电脑修理,电脑维护,上门维修电脑,黑屏蓝屏死机故障排除,无线上网设置,IT服务外包,局域网组建,ADSL共享上网,路由器设置,数据恢复,密码破解,光盘刻录制作等服务

    技术支持:微软等