最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP Session_Regenerate_ID函數(shù)雙釋放內(nèi)存破壞漏洞

 更新時(shí)間:2011年01月27日 21:52:48   作者:  
PHP Session_Regenerate_ID函數(shù)存在雙釋放內(nèi)容破壞問(wèn)題,遠(yuǎn)程攻擊者可利用此漏洞對(duì)應(yīng)用程序進(jìn)行拒絕服務(wù)攻擊,可能導(dǎo)致任意指令執(zhí)行。
SEBUG-ID:1491
SEBUG-Appdir:PHP
發(fā)布時(shí)間:2007-03-17
影響版本:
PHP PHP 5.2.1
PHP PHP 5.1.6
PHP PHP 5.1.5
PHP PHP 5.1.4
PHP PHP 5.1.3
PHP PHP 5.1.3
PHP PHP 5.1.2
PHP PHP 5.1.1
PHP PHP 5.1
PHP PHP 5.0.5
PHP PHP 5.0.4
PHP PHP 5.0.3
+ Trustix Secure Linux 2.2
PHP PHP 5.0.2
PHP PHP 5.0.1
PHP PHP 5.0 candidate 3
PHP PHP 5.0 candidate 2
PHP PHP 5.0 candidate 1
PHP PHP 5.0 .0
PHP PHP 5.2
漏洞描述:
PHP是一款廣泛使用的WEB開(kāi)發(fā)腳本語(yǔ)言。
PHP Session_Regenerate_ID函數(shù)存在雙釋放內(nèi)容破壞問(wèn)題,遠(yuǎn)程攻擊者可利用此漏洞對(duì)應(yīng)用程序進(jìn)行拒絕服務(wù)攻擊,可能導(dǎo)致任意指令執(zhí)行。
session_regenerate_id()函數(shù)最先會(huì)釋放舊的會(huì)話識(shí)別器,然后馬上分配由會(huì)話識(shí)別生成器生成的新值:
復(fù)制代碼 代碼如下:

PHP_FUNCTION(session_regenerate_id)
{
...
if (PS(id)) {
...
efree(PS(id));
}
PS(id) = PS(mod)->s_create_sid(&PS(mod_data), NULL TSRMLS_CC);
PS(send_cookie) = 1;
php_session_reset_id(TSRMLS_C);
RETURN_TRUE;
}
RETURN_FALSE;
}

但是此分配操作不是一個(gè)原子操作。因此可被如內(nèi)存限制沖突操作來(lái)中斷,另外,根據(jù)PHP配置,生成器可觸發(fā)PHP錯(cuò)誤也可導(dǎo)致一個(gè)中斷。
復(fù)制代碼 代碼如下:

PHPAPI char *php_session_create_id(PS_CREATE_SID_ARGS)
{
...
switch (PS(hash_func)) {
...
default:
php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid session hash function");
efree(buf);
return NULL;
}
...
if (PS(hash_bits_per_character) < 4
|| PS(hash_bits_per_character) > 6) {
PS(hash_bits_per_character) = 4;
php_error_docref(NULL TSRMLS_CC, E_WARNING, "The ini setting hash_bits_per_character...");
}
...

通過(guò)注冊(cè)一個(gè)惡意用戶空間錯(cuò)誤處理器可比較容易的利用此問(wèn)題。當(dāng)此處理器調(diào)用一個(gè)HASH表分配到前會(huì)話識(shí)別器相同的地方,然后惡意錯(cuò)誤處理器可以通過(guò)調(diào)用session_id()函數(shù)和分配包含偽造HASH表到HASH表相同地方,這樣來(lái)觸發(fā)另一個(gè)之前的會(huì)話識(shí)別器的釋放操作。當(dāng)用戶錯(cuò)誤處理器完成后會(huì)解構(gòu)覆蓋的HASH表而調(diào)用攻擊者提供的代碼。
http://www.php-security.org/MOPB/MOPB-22-2007.html
測(cè)試方法:
[www.sebug.net]
本站提供程序(方法)可能帶有攻擊性,僅供安全研究與教學(xué)之用,風(fēng)險(xiǎn)自負(fù)!
http://www.php-security.org/MOPB/code/MOPB-22-2007.php
SEBUG安全建議:
目前沒(méi)有解決方案提供:

相關(guān)文章

  • php-cli簡(jiǎn)介(不會(huì)Shell語(yǔ)言一樣用Shell)

    php-cli簡(jiǎn)介(不會(huì)Shell語(yǔ)言一樣用Shell)

    剛才說(shuō)到,我們可以用php來(lái)開(kāi)發(fā)Shell程序。有的同學(xué)可能會(huì)問(wèn)啦:php不是用來(lái)做網(wǎng)頁(yè)的么?。是的,php可以用來(lái)做動(dòng)態(tài)網(wǎng)頁(yè),并且當(dāng)初php就是為做動(dòng)態(tài)網(wǎng)頁(yè)而開(kāi)發(fā)的語(yǔ)言,但是理論上php可以用來(lái)做任何的程序,甚至是桌面程序
    2013-06-06
  • PHP is_numeric()函數(shù)用法詳解

    PHP is_numeric()函數(shù)用法詳解

    is_numeric()函數(shù)是PHP中的內(nèi)置函數(shù),用于檢查傳入函數(shù)中作為參數(shù)的變量是數(shù)字還是數(shù)字字符串,該函數(shù)返回一個(gè)布爾值,本文就給大家講講PHP is_numeric()函數(shù)使用方法,需要的朋友可以參考下
    2023-07-07
  • php頁(yè)面跳轉(zhuǎn)代碼 輸入網(wǎng)址跳轉(zhuǎn)到你定義的頁(yè)面

    php頁(yè)面跳轉(zhuǎn)代碼 輸入網(wǎng)址跳轉(zhuǎn)到你定義的頁(yè)面

    我先判斷一下你是否開(kāi)啟了https,如果是就正常的https頁(yè)面,如果沒(méi)有開(kāi)始則跳轉(zhuǎn)到項(xiàng)目的目錄下面,感興趣的朋友可以參考下哈,希望對(duì)你有所幫助
    2013-03-03
  • PHP中explode函數(shù)和split函數(shù)的區(qū)別小結(jié)

    PHP中explode函數(shù)和split函數(shù)的區(qū)別小結(jié)

    相信大家都知道,explode和split在php中都是可以通過(guò)特定字符把字符串轉(zhuǎn)換成數(shù)組的,那么explode和split既然是一樣的為什么會(huì)有兩個(gè)函數(shù)呢,那么explode和split的區(qū)別在哪里呢,下面跟著小編我們一起來(lái)看看。
    2016-08-08
  • PHP單例模式簡(jiǎn)單用法示例

    PHP單例模式簡(jiǎn)單用法示例

    這篇文章主要介紹了PHP單例模式簡(jiǎn)單用法,結(jié)合數(shù)據(jù)庫(kù)操作類(lèi)實(shí)例形式分析了php單例模式的具體實(shí)現(xiàn)方法與使用技巧,需要的朋友可以參考下
    2017-06-06
  • php 函數(shù)中使用static的說(shuō)明

    php 函數(shù)中使用static的說(shuō)明

    看PW源碼的時(shí)候發(fā)現(xiàn)setHeader()函數(shù)中使用static關(guān)鍵字,很奇怪,以前也沒(méi)這樣用過(guò)。static用在函數(shù)里面,聲明一次變量后,如果再次調(diào)用這個(gè)函數(shù)將會(huì)在初始值延續(xù),如$sapi這里將累加
    2012-06-06
  • PHP實(shí)現(xiàn)查詢兩個(gè)數(shù)組中不同元素的方法

    PHP實(shí)現(xiàn)查詢兩個(gè)數(shù)組中不同元素的方法

    這篇文章主要介紹了PHP實(shí)現(xiàn)查詢兩個(gè)數(shù)組中不同元素的方法,涉及PHP數(shù)組差集運(yùn)算與數(shù)組合并的相關(guān)技巧,需要的朋友可以參考下
    2016-02-02
  • PHP stripos()函數(shù)及注意事項(xiàng)的分析

    PHP stripos()函數(shù)及注意事項(xiàng)的分析

    本篇文章是對(duì)PHP中的stripos()函數(shù)及注意事項(xiàng)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • php通過(guò)rmdir刪除目錄的簡(jiǎn)單用法

    php通過(guò)rmdir刪除目錄的簡(jiǎn)單用法

    這篇文章主要介紹了php通過(guò)rmdir刪除目錄的簡(jiǎn)單用法,實(shí)例分析了rmdir與mkdir函數(shù)的功能及使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-03-03

最新評(píng)論

苍梧县| 灵宝市| 景谷| 吴江市| 高唐县| 南溪县| 马公市| 揭西县| 苍山县| 海兴县| 绥滨县| 大宁县| 潞西市| 崇明县| 永和县| 松江区| 巩留县| 郓城县| 奎屯市| 阿克苏市| 麟游县| 佛山市| 莱芜市| 蕉岭县| 忻城县| 古田县| 绥江县| 华池县| 满城县| 涪陵区| 忻城县| 肇源县| 陕西省| 青岛市| 盱眙县| 宜川县| 江城| 民丰县| 锦州市| 黄大仙区| 桂阳县|