成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

PHP函數restore()重置PHP配置環境

開發 后端
我們可以運用PHP函數restore()重置PHP配置環境時PG()類中的變量會顯示任意部分的內存。我們給出了詳細的使用方法,希望對大家有所幫助。

PHP作為一種功能強大的HTML嵌入式語言受到廣泛的運用,尤其適合于WEB開發中。下面我們將為大家詳細介紹有關PHP函數restore()的相關用法。#t#

影響版本:
PHP PHP 5.3.0
PHP PHP 5.2.10漏洞描述:
BUGTRAQ ID: 36009
CVE ID: CVE-2009-2626

在使用PHP函數restore()重置PHP配置環境時PG()類中的變量會顯示任意部分的內存。如果要利用這個漏洞,攻擊者必須要通過ini_set()函數聲明變量。

- ---zend_ini.c---

  1. static int zend_restore_ini_entry_cb
    (zend_ini_entry *ini_entry, int stage  
  2. TSRMLS_DC) /* {{{ */  
  3. {  
  4. if (ini_entry->modified) {  
  5. if (ini_entry->on_modify) {  
  6. zend_try {  
  7. /* even if on_modify bails out, we 
    have to continue on with restoring,  
  8. since there can be allocated variables 
    that would be freed on MM  
  9. shutdown  
  10. and would lead to memory corruption 
    later ini entry is modified again  
  11. */  
  12. ini_entry->on_modify(ini_entry, 
    ini_entry-
    >orig_value,  
  13. ini_entry->orig_value_length, 
    ini_entry-
    >mh_arg1, ini_entry->mh_arg2,  
  14. ini_entry->mh_arg3, stage TSRMLS_CC);  
  15. } zend_end_try();  
  16. }  
  17. if (ini_entry->value != ini_entry
    -
    >orig_value) {  
  18. efree(ini_entry->value);  
  19. }  
  20. ini_entry->value = ini_entry->
    orig_value;  
  21. ini_entry->value_length = 
    ini_entry->orig_value_length;  
  22. ini_entry->modified = 0;  
  23. ini_entry->orig_value = NULL;  
  24. ini_entry->orig_value_length = 0;  
  25. if (ini_entry->modifiable >= (1 << 3)) {  
  26. ini_entry->modifiable >>= 3;  
  27. }  
  28. }  
  29. return 0;  

- ---zend_ini.c---

PHP函數restore()所修改的標記會被重置。由于沒有檢查ini_entry->on_modify()的值,PG()會超出內存范圍。

PHP函數restore()測試方法:

本站提供程序(方法)可能帶有攻擊性,僅供安全研究與教學之用,風險自負!

  1. < ?php  
  2. ini_set("session.save_path", 
    "0123456789ABCDEF");  
  3. ini_restore("session.save_path");  
  4. session_start();  
  5. ?> 
  1. < ?php  
  2. ini_set("open_basedir", "A");  
  3. ini_restore("open_basedir");  
  4. ini_get("open_basedir");  
  5. include("B");  
  6. ?> 

以上就是PHP函數restore()的相關使用方法。

責任編輯:曹凱 來源: 百度博客
相關推薦

2009-12-03 13:10:06

2011-03-21 11:43:45

LAMPPHP

2010-01-07 16:50:54

Linux配置PHP環

2009-11-17 09:32:32

PHP數值函數

2009-12-07 14:44:27

PHP文件函數

2009-12-09 17:14:06

PHP unset()

2009-12-09 16:28:32

PHP路徑函數

2009-11-25 09:56:06

PHP數組處理函數

2009-12-08 11:10:20

PHP GD庫函數

2009-12-11 17:45:09

PHP Math函數

2013-07-26 14:59:13

2009-11-18 10:22:14

PHP substr

2009-12-11 17:39:47

PHP String函

2009-12-08 19:24:09

PHP函數索引

2011-09-02 10:20:00

PHP

2015-01-04 09:49:37

PHPDocker開發環境

2011-05-11 17:40:30

PHP正則表達式

2009-11-17 14:13:34

PHP配置

2009-11-30 15:58:13

PHP數學函數

2009-12-08 18:33:22

PHP函數printa
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91社区在线观看高清 | 午夜国产精品视频 | 国产成人99久久亚洲综合精品 | 亚州成人| 国产一区二区毛片 | 日韩在线不卡 | 久久专区 | 成人在线视频一区 | 在线伊人 | 日本不卡一区二区三区 | 91视频正在播放 | 色网站入口 | 91免费在线看 | 久久国产精品亚洲 | 国产精品一区二区三区四区五区 | 国产一区二区高清在线 | 日韩av成人 | 狠狠视频 | 色综合视频 | 视频在线观看一区二区 | 欧美亚洲一区二区三区 | 97碰碰碰 | jlzzjlzz国产精品久久 | 日韩欧美在线观看视频 | 91精品国产91久久久久久最新 | 亚洲日产精品 | 精品国产乱码久久久久久图片 | 国产一区二区久久久 | 91av亚洲 | 国产精品久久久久久福利一牛影视 | 国产精品久久国产精品 | 精品一区电影 | 国产精品久久久久无码av | 黄色成人免费在线观看 | 成人免费观看网站 | 天堂一区二区三区 | 一级欧美一级日韩片 | 中文字幕国产视频 | 欧美激情区| 国产中文区二幕区2012 | 久久婷婷麻豆国产91天堂 |