首页 > 传媒 > 关键词  > php最新资讯  > 正文

php utf8 decode漏洞 将威胁应用程序安全

2008-10-09 11:14 · 稿源:中国站长站

中国站长站(Chinaz.com)讯:从知名安全组织80sec获悉,php里使用的某些编码函数在处理畸形的utf8序列时会产生不正确的结果,这样在某些情况下可能会引起应用程序的安全漏洞,绕过某些逻辑过滤等等。

漏洞说明: php是一款被广泛使用的编程语言,可以被嵌套在html里用做web程序开发。但是在php里使用的某些编码函数在处理畸形的utf8序列时会产生不正确的结果,这样在某些情况下可能会引起应用程序的安全漏洞,绕过某些逻辑过滤等等。

漏洞成因:php在处理utf8编码时,对畸形的序列处理不当,如


...
0xc0a7
0xe0c0a7
0xf0c0c0a7
...


均会被错误地解码为一个0×27,这样就导致安全漏洞的产生。譬如utf8_decode函数的源代码如下:


PHPAPI char *xml_utf8_decode(const XML_Char *s, int len, int *newlen, const XML_Char *encoding)
{
int pos = len;
char *newbuf = emalloc(len + 1);
unsigned short c;
char (*decoder)(unsigned short) = NULL;
xml_encoding *enc = xml_get_encoding(encoding);
*newlen = 0;
if (enc) {
decoder = enc->decoding_function;
}
if (decoder == NULL) {
/* If the target encoding was unknown, or no decoder function
* was specified, return the UTF-8-encoded data as-is.
*/
memcpy(newbuf, s, len);
*newlen = len;
newbuf[*newlen] = ‘\0′;
return newbuf;
}
while (pos > 0) {
c = (unsigned char)(*s);
if (c >= 0xf0) { /* four bytes encoded, 21 bits */
c = ((s[0]&7)<<18) | ((s[1]&63)<<12) | ((s[2]&63)<<6) | (s[3]&63);
s += 4;
pos -= 4;
} else if (c >= 0xe0) { /* three bytes encoded, 16 bits */
c = ((s[0]&63)<<12) | ((s[1]&63)<<6) | (s[2]&63);
s += 3;
pos -= 3;
} else if (c >= 0xc0) { /* two bytes encoded, 11 bits */
c = ((s[0]&63)<<6) | (s[1]&63);
s += 2;
pos -= 2;
} else {
s++;
pos–;
}
newbuf[*newlen] = decoder ? decoder(c) : c;
++*newlen;
}
if (*newlen < len) {
newbuf = erealloc(newbuf, *newlen + 1);
}
newbuf[*newlen] = ‘\0′;
return newbuf;
}
xml_utf8_decode函数被广泛用于xml和wddx的编码处理中,在处理utf8编码时并没有严格按照utf8的解码规则来校验数据的正确性,导致出现问题。另外在php的htmlspecialchars等函数中处理utf8编码时也存在类似问题。

漏洞测试:

<?php
$ill=chr(0xf0).chr(0xc0).chr(0xc0).chr(0xa7);
$ill=addslashes($ill);
echo utf8_decode("$ill");
echo htmlspecialchars ($ill,ENT_QUOTES,"utf-8" );
?>


漏洞影响:可能影响所有php版本
漏洞状态:已经通知php官方

特别声明:以上内容(如有图片或视频亦包括在内)均为站长传媒平台用户上传并发布,本平台仅提供信息存储服务,对本页面内容所引致的错误、不确或遗漏,概不负任何法律责任,相关信息仅供参考。站长之家将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。任何单位或个人认为本页面内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向站长之家提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明(点击查看反馈地址)。本网站在收到上述法律文件后,将会依法依规核实信息,沟通删除相关内容或断开相关链接。

  • 相关推荐
  • 大家在看
  • WhatsApp正在开发适用于Windows和macOS的新应用程序

    WhatsApp已经在电脑上使用了一段时间,但它本质上是一款移动应用程序,适用于桌面。据一位来自意大利的消息人士透露,随着该公司正在为Windows和macOS开发一款全新的应用程序,这种情况在未来将发生变化Aggiornamenti Lumia发布了截图和GIF,展示了新软件的外观和主要功能WhatsApp UWP(通用Windows平台,允许在Xbox上使用该应用程序)将按照Windows 11设计,带有半透明面板。即使在关闭时,它也会工作,通知会像往常一样到达,启?

  • JetBrains 等多个社区成员宣布成立 PHP 基金会

    包括JetBrains在内的多个PHP社区成员今天宣布成立PHP基金会,以继续开发该语言。成员名单还包括Automattic、Laravel、Acquia、Zend、Craft CMS、Private Packagist、Tideways和PrestaShop。

  • 携手社区成员:JetBrains宣布成立PHP基金会

    Laravel News 报道称,包括 JetBrains 在内的多位社区成员,刚刚宣布了 PHP 基金会的正式成立。作为一家非盈利组织,这项 Open Collective 倡议旨在持续推进这款语言的未来发展。通过资助为 PHP 语言做出贡献的全职和兼职开发者们,PHP 基金会希望能够确保该语言的长期繁荣。(来自:Open Collective)除了 JetBrains,PHP 基金会的成员名单中还包括 Automattic、Laravel、Acquia、Zend、Craft CMS、Private Packagist、Tideways ?

  • 用于LG智能电视的Apple Music应用程序现已推出

    适用于LG智能电视的AppleMusic应用程序今天向用户推出,LG现在已经开始在社交媒体上推广该应用程序。它允许用户流传输超过9000万首歌曲,以及播放列表、广播电台和音乐视频,而不需要任何外部硬件,如AppleTV机顶盒。该应用还支持Apple Music的实时歌词。电视版Apple Music用户界面在视觉上似乎与Apple TV的Apple Music应用非常相似。该应用现在正逐步向LG智能电视机用户推广,Twitter上已经出现了大量展示新应用运行情况的报告。?

  • Craig Federighi:应用程序侧载会掀起网络犯罪分子的淘金热

    苹果公司软件工程主管CraigFederighi在2021年网络峰会会议上发表主题演讲,重点阐述了强迫苹果公司允许在iPhone上进行侧载安装应用的危险性。在葡萄牙里斯本举行的网络峰会第二天的主题演讲中,费德里吉吹捧了苹果的iOS系统和应用商店的内置保护措施的好处。他还对欧盟《数字市场法》(DMA)中允许侧载的条款提出了反对意见。"DMA有一个令人钦佩的使命:促进竞争,确保消费者有选择,"费德里吉说。"我是这两个目标的忠实粉丝。但是

  • 苹果 Apple Music 音乐应用程序正式上线 LG 智能电视

    适用于LG智能电视的Apple Music应用程序允许用户在不需要任何外部硬件(如Apple TV)的情况下,在线播放超过9000万首歌曲,以及播放列表、广播电台和音乐视频等,同时还支持实时歌词功能。

  • Winamp挑逗一款经过彻底检修的应用程序,邀请测试人员

    看起来,昔日最流行的音乐播放器之一又回来了。新的Winamp承诺将带来全新的体验,不仅仅是一个音乐播放器。因为毕竟,谁还在只听离线音乐该网站欢迎您使用新的Winamp徽标,该徽标看起来更符合现代平面设计语言,并讨论了粉丝与艺术家联系的机会。该应用程序还可以让用户在线收听广播和播客听起来Winamp正试图打造一个以音乐为中心的社交网络。如果你觉得这个概念很有趣,你可以注册成为beta测试人员,它只需要你的名字和电子邮件地

  • 亚马逊推出MacPrime Video

    据MacRumors报道,亚马逊周一为其Amazon Prime Video服务推出了一个原生macOS应用,该应用现在可以从Mac App Store获得。Prime Video的用户可以使用新的应用程序流式传输内容,或在Mac上下载内容进行离线观看。所有Amazon Prime内容都可以通过Mac应用获得。画中画和AirPlay都是亚马逊新应用支持的功能,它支持电视租赁和点播内容的应用内购买,以及用已经存档的亚马逊信用卡付款。用户还可以利用亚马逊的周四晚间足球和英超联赛(?

  • [图]微软正开发“Microsoft Defender”:将成Windows 11的安枢纽

    微软正计划为 Windows 11 系统开发名为“Microsoft Defender”的安全中心。目前,这款 Windows 11 新安全应用的信息并不多,但似乎 Microsoft Defender 将成为所有连接设备/产品的安全枢纽/仪表板。Windows 11/10 系统中已经内置了 Windows Security 应用程序,允许任意用户查看安全服务的状态,并打开/关闭安全功能,如防火墙设置和保护免受不需要的程序。根据目前掌握的信息,全新的 Microsoft Defender 将会基于 WinUI 和 Fluen

  • 手机没电也不慌:WhatsApp推出Link a Device第二设备登录功能

    过去几个月,WhatsApp 一直在测试一项新功能,以允许用户将他们的账户链接到辅助设备。如此一来,用户就能够在主设备(智能机)不在身边的情况下,继续收发消息。现在,这项功能已经登陆 WhatsApp 移动客户端(Android / iOS)。此前,用户必须确保主智能机处于联网状态,才能在 Web 浏览器上同时启用登录。感兴趣的朋友,可在智能机 App 上启用目前仍处于测试阶段的“设备链接”(Link a Device)功能。你将在重新链接到新设备之?

这篇文章对你有价值吗?

  • 热门标签

热文

  • 3 天
  • 7天