Rumah pembangunan bahagian belakang tutorial php PHP5.2下chunk_split()函数整数溢出漏洞 分析_php文摘

PHP5.2下chunk_split()函数整数溢出漏洞 分析_php文摘

May 17, 2016 am 09:39 AM
menganalisis

受影响系统:
PHP PHP 不受影响系统:
PHP PHP 5.2.3
描述:
--------------------------------------------------------------------------------
BUGTRAQ ID: 24261
CVE(CAN) ID: CVE-2007-2872

PHP是一种流行的WEB服务器端编程语言。

PHP中的chunk_split函数在处理畸形参数时存在整数溢出漏洞,本地攻击者可能利用此漏洞提升自己的权限。

PHP中chunk_split函数的1963行试图为函数结果分配充分的内存大小,但没有执行任何检查便使用了srclen和chunklen参数块。如果值的块和endlen大于65534字节的话,就会触发整数溢出,分配错误的内存大小,导致堆溢出。

ext/standard/string.c:

1953 static char *php_chunk_split(char *src, int srclen, char *end,
int endlen, int chunklen, int *destlen)
1954 {
1955 char *dest;
1956 char *p, *q;
1957 int chunks; /* complete chunks! */
1958 int restlen;
1959
1960 chunks = srclen / chunklen;
1961 restlen = srclen - chunks * chunklen; /* srclen % chunklen */
1962
1963 dest = safe_emalloc((srclen + (chunks + 1) * endlen + 1),
sizeof(char), 0);
1964
1965 for (p = src, q = dest; p 1966 memcpy(q, p, chunklen);
1967 q += chunklen;
1968 memcpy(q, end, endlen);
1969 q += endlen;
1970 p += chunklen;
1971 }


链接:http://marc.info/?l=bugtraq&m=118071054000708&w=2
http://www.php.net/releases/5_2_3.php
http://secunia.com/advisories/25456/
*>

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

警 告

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


$a=str_repeat("A", 65535);
$b=1;
$c=str_repeat("A", 65535);
chunk_split($a,$b,$c);
?>

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

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

http://www.php.net/downloads.php#v5

文章来自: 绿盟科技

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara melaksanakan statistik dan analisis data dalam uniapp Cara melaksanakan statistik dan analisis data dalam uniapp Oct 24, 2023 pm 12:37 PM

Cara melaksanakan statistik dan analisis data dalam uniapp 1. Pengenalan latar belakang Statistik dan analisis data merupakan bahagian yang sangat penting dalam proses pembangunan aplikasi mudah alih Melalui statistik dan analisis tingkah laku pengguna, pembangun boleh mempunyai pemahaman yang mendalam tentang pilihan dan penggunaan pengguna. tabiat. Dengan itu mengoptimumkan reka bentuk produk dan pengalaman pengguna. Artikel ini akan memperkenalkan cara melaksanakan statistik data dan fungsi analisis dalam uniapp, dan menyediakan beberapa contoh kod khusus. 2. Pilih statistik data dan alat analisis yang sesuai Langkah pertama untuk melaksanakan statistik dan analisis data dalam uniapp ialah memilih statistik data dan alat analisis.

Bagaimana untuk menggunakan pangkalan data MySQL untuk ramalan dan analitik ramalan? Bagaimana untuk menggunakan pangkalan data MySQL untuk ramalan dan analitik ramalan? Jul 12, 2023 pm 08:43 PM

Bagaimana untuk menggunakan pangkalan data MySQL untuk ramalan dan analitik ramalan? Gambaran Keseluruhan: Peramalan dan analitik ramalan memainkan peranan penting dalam analisis data. MySQL, sistem pengurusan pangkalan data hubungan yang digunakan secara meluas, juga boleh digunakan untuk tugasan ramalan dan analisis ramalan. Artikel ini akan memperkenalkan cara menggunakan MySQL untuk ramalan dan analisis ramalan, serta menyediakan contoh kod yang berkaitan. Penyediaan data: Pertama, kita perlu menyediakan data yang berkaitan. Katakan kita ingin membuat ramalan jualan, kita memerlukan jadual dengan data jualan. Dalam MySQL kita boleh gunakan

Bagaimana untuk menggunakan bahasa Go untuk analisis visualisasi data? Bagaimana untuk menggunakan bahasa Go untuk analisis visualisasi data? Jun 10, 2023 am 10:46 AM

Dengan kemunculan era data besar, analisis visualisasi data memainkan peranan penting dalam semua lapisan masyarakat. Sebagai bahasa pengaturcaraan yang pantas, cekap dan selamat, bahasa Go telah secara beransur-ansur menduduki tempat dalam bidang analisis visualisasi data. Artikel ini akan meneroka cara menggunakan bahasa Go untuk analisis visualisasi data. 1. Plotly, perpustakaan visualisasi data yang biasa digunakan dalam bahasa Go: boleh digunakan untuk mencipta grafik interaktif dalam penyemak imbas dan menyokong pelbagai jenis grafik, seperti graf garis, graf bar, plot serakan, peta haba, dsb. Gonum/plo

Pemantauan dan analisis log masa nyata di bawah Linux Pemantauan dan analisis log masa nyata di bawah Linux Jul 29, 2023 am 08:06 AM

Pemantauan dan analisis log masa nyata di bawah Linux Dalam pengurusan sistem harian dan penyelesaian masalah, log ialah sumber data yang sangat penting. Melalui pemantauan masa nyata dan analisis log sistem, kami boleh mengesan situasi tidak normal dalam masa dan mengendalikannya dengan sewajarnya. Artikel ini akan memperkenalkan cara melaksanakan pemantauan dan analisis log masa nyata di bawah Linux, dan memberikan contoh kod yang sepadan. 1. Pemantauan log masa nyata Di bawah Linux, sistem log yang paling biasa digunakan ialah rsyslog. Dengan mengkonfigurasi rsyslog, kami boleh menggabungkan log aplikasi yang berbeza

Langkah-langkah analisis statistik Langkah-langkah analisis statistik Jun 28, 2023 pm 03:27 PM

Analisis statistik selalunya merujuk kepada proses pengisihan, pengkelasan dan pentafsiran data relevan yang dikumpul. Langkah-langkah asas analisis statistik termasuk: 1. Mengumpul data 2. Menyusun data 3. Menganalisis data;

Analisis sebab mengapa direktori sekunder DreamWeaver CMS tidak boleh dibuka Analisis sebab mengapa direktori sekunder DreamWeaver CMS tidak boleh dibuka Mar 13, 2024 pm 06:24 PM

Tajuk: Analisis sebab dan penyelesaian mengapa direktori sekunder DreamWeaver CMS tidak boleh dibuka Dreamweaver CMS (DedeCMS) ialah sistem pengurusan kandungan sumber terbuka yang berkuasa yang digunakan secara meluas dalam pembinaan pelbagai laman web. Walau bagaimanapun, kadangkala semasa proses membina tapak web, anda mungkin menghadapi situasi di mana direktori sekunder tidak boleh dibuka, yang membawa masalah kepada operasi biasa tapak web. Dalam artikel ini, kami akan menganalisis kemungkinan sebab mengapa direktori sekunder tidak boleh dibuka dan memberikan contoh kod khusus untuk menyelesaikan masalah ini. 1. Analisis sebab yang mungkin: Masalah konfigurasi peraturan pseudo-statik: Semasa penggunaan

Analisis prestasi kod ThinkPHP6: mengesan kesesakan prestasi Analisis prestasi kod ThinkPHP6: mengesan kesesakan prestasi Aug 27, 2023 pm 01:36 PM

Analisis prestasi kod ThinkPHP6: mengesan kesesakan prestasi Pengenalan: Dengan perkembangan pesat Internet, analisis prestasi kod yang lebih cekap telah menjadi semakin penting bagi pembangun. Artikel ini akan memperkenalkan cara menggunakan ThinkPHP6 untuk melaksanakan analisis prestasi kod untuk mencari dan menyelesaikan kesesakan prestasi. Pada masa yang sama, kami juga akan menggunakan contoh kod untuk membantu pembaca memahami dengan lebih baik. Kepentingan Analisis Prestasi Analisis prestasi kod adalah bahagian penting dalam proses pembangunan. Dengan menganalisis prestasi kod, kita boleh memahami di mana banyak sumber digunakan

Analisis sama ada bahasa pengaturcaraan utama Tencent ialah Go Analisis sama ada bahasa pengaturcaraan utama Tencent ialah Go Mar 27, 2024 pm 04:21 PM

Tajuk: Adakah bahasa pengaturcaraan utama Tencent Go: Analisis mendalam Sebagai syarikat teknologi terkemuka di China, Tencent sentiasa menarik banyak perhatian dalam pilihan bahasa pengaturcaraannya. Dalam beberapa tahun kebelakangan ini, sesetengah orang percaya bahawa Tencent menggunakan Go sebagai bahasa pengaturcaraan utamanya. Artikel ini akan menjalankan analisis mendalam sama ada bahasa pengaturcaraan utama Tencent ialah Go dan memberikan contoh kod khusus untuk menyokong pandangan ini. 1. Aplikasi bahasa Go dalam Tencent Go ialah bahasa pengaturcaraan sumber terbuka yang dibangunkan oleh Google Kecekapan, kesesuaian dan kesederhanaannya disukai oleh banyak pembangun.

See all articles