Heim php教程 php手册 phpcms图片上传漏洞解析

phpcms图片上传漏洞解析

Jun 06, 2016 pm 08:08 PM
phpcms 上传 图片 漏洞 程序 解析 veranschaulichen

?针对下法程序说明: Fileext函数是对文件后缀名的提

?针对下法程序说明:

Fileext函数是对文件后缀名的提取。
根据此函数我们如果上传文件名为ddd.Php.jpg%20%20%20%20%20%20%20Php
经过此函数提取到的后缀还是jpg,因此正在is_image()函数中后缀检测被绕过了。我们回到public function crop_upload() 函数中if(is_image($_GET['file'])== false || strpos($_GET['file'],’.php’)!==false) exit();
在经过了is_image的判断之后又来了个.php的判断,在此程序员使用的是strpos函数
这个函数是对大小写敏感的函数我们使用.Php就可以直接绕过了。
过上边的两层的过滤我们的ddd.Php.jpg%20%20%20%20%20%20%20Php后缀依然有效。
最后$basename变量的值就为ddd.Php.jpg%20%20%20%20%20%20%20Php 然后使用file_put_contents函数写入到了指定目录。
看见ddd.Php.jpg%20%20%20%20%20%20%20Php这个后缀,大家应该明白了,它用在apache搭建的服务器上可以被解析。

漏洞文件:phpcms\modules\attachment\attachments.php

public function crop_upload() {
		if (isset($GLOBALS["HTTP_RAW_POST_DATA"])) {
  			$pic = $GLOBALS["HTTP_RAW_POST_DATA"];
  			if (isset($_GET['width']) && !empty($_GET['width'])) {
  				$width = intval($_GET['width']);
  			}
  			if (isset($_GET['height']) && !empty($_GET['height'])) {
  				$height = intval($_GET['height']);
  			}
  			if (isset($_GET['file']) && !empty($_GET['file'])) {
  				$_GET['file'] = str_replace(';','',$_GET['file']);//过滤了分号
  				if(is_image($_GET['file'])== false || strpos($_GET['file'],'.php')!==false) exit();//is_image()检测是个关键
  				if (strpos($_GET['file'], pc_base::load_config('system', 'upload_url'))!==false) {
  					$file = $_GET['file'];
  					$basename = basename($file);//获取带有后缀的文件名
  					if (strpos($basename, 'thumb_')!==false) {
  						$file_arr = explode('_', $basename);
  						$basename = array_pop($file_arr);
  					}
  					$new_file = 'thumb_'.$width.'_'.$height.'_'.$basename;
  				} else {
  					pc_base::load_sys_class('attachment','',0);
  					$module = trim($_GET['module']);
  					$catid = intval($_GET['catid']);
  					$siteid = $this->get_siteid();
  					$attachment = new attachment($module, $catid, $siteid);
  					$uploadedfile['filename'] = basename($_GET['file']);
  					$uploadedfile['fileext'] = fileext($_GET['file']);
  					if (in_array($uploadedfile['fileext'], array('jpg', 'gif', 'jpeg', 'png', 'bmp'))) {
  						$uploadedfile['isimage'] = 1;
  					}
  					$file_path = $this->upload_path.date('Y/md/');
  					pc_base::load_sys_func('dir');
  					dir_create($file_path);
  					$new_file = date('Ymdhis').rand(100, 999).'.'.$uploadedfile['fileext'];
  					$uploadedfile['filepath'] = date('Y/md/').$new_file;
  					$aid = $attachment->add($uploadedfile);
  				}
  				$filepath = date('Y/md/');
  				file_put_contents($this->upload_path.$filepath.$new_file, $pic);//文件名可控、$pic可控
  			} else {
  				return false;
  			}
  			echo pc_base::load_config('system', 'upload_url').$filepath.$new_file;
  			exit;
  		}
  	}
Nach dem Login kopieren

后缀检测:phpcms\modules\attachment\functions\global.func.php

function is_image($file) {
  	$ext_arr = array('jpg','gif','png','bmp','jpeg','tiff');
  	$ext = fileext($file);关键地方
  	return in_array($ext,$ext_arr) ? $ext_arr :false;
  }
Nach dem Login kopieren

?关键函数:

function fileext($filename) {
  	return strtolower(trim(substr(strrchr($filename, '.'), 1, 10)));
  }
Nach dem Login kopieren

此漏洞官方已修复.信息来源wooyun.

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

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

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 machen Sie Google Maps zur Standardkarte im iPhone So machen Sie Google Maps zur Standardkarte im iPhone Apr 17, 2024 pm 07:34 PM

Die Standardkarte auf dem iPhone ist Maps, Apples proprietärer Geolokalisierungsanbieter. Obwohl die Karte immer besser wird, funktioniert sie außerhalb der Vereinigten Staaten nicht gut. Im Vergleich zu Google Maps hat es nichts zu bieten. In diesem Artikel besprechen wir die möglichen Schritte, um Google Maps als Standardkarte auf Ihrem iPhone zu nutzen. So machen Sie Google Maps zur Standardkarte auf dem iPhone. Das Festlegen von Google Maps als Standardkarten-App auf Ihrem Telefon ist einfacher als Sie denken. Befolgen Sie die nachstehenden Schritte – Erforderliche Schritte – Sie müssen Gmail auf Ihrem Telefon installiert haben. Schritt 1 – Öffnen Sie den AppStore. Schritt 2 – Suchen Sie nach „Gmail“. Schritt 3 – Klicken Sie auf neben der Gmail-App

Wie kann das Problem des automatischen Speicherns von Bildern beim Veröffentlichen auf Xiaohongshu gelöst werden? Wo ist das beim Posten automatisch gespeicherte Bild? Wie kann das Problem des automatischen Speicherns von Bildern beim Veröffentlichen auf Xiaohongshu gelöst werden? Wo ist das beim Posten automatisch gespeicherte Bild? Mar 22, 2024 am 08:06 AM

Durch die kontinuierliche Entwicklung der sozialen Medien ist Xiaohongshu zu einer Plattform für immer mehr junge Menschen geworden, auf der sie ihr Leben teilen und schöne Dinge entdecken können. Viele Benutzer haben beim Posten von Bildern Probleme mit der automatischen Speicherung. Wie kann man dieses Problem lösen? 1. Wie kann das Problem des automatischen Speicherns von Bildern beim Veröffentlichen auf Xiaohongshu gelöst werden? 1. Cache leeren Zuerst können wir versuchen, die Cache-Daten von Xiaohongshu zu löschen. Die Schritte sind wie folgt: (1) Öffnen Sie Xiaohongshu und klicken Sie auf die Schaltfläche „Mein“ in der unteren rechten Ecke. (2) Suchen Sie auf der persönlichen Center-Seite nach „Einstellungen“ und klicken Sie darauf. (3) Scrollen Sie nach unten und suchen Sie nach „; Option „Cache löschen“. Klicken Sie auf „OK“. Nachdem Sie den Cache geleert haben, geben Sie Xiaohongshu erneut ein und versuchen Sie, Bilder zu posten, um zu sehen, ob das Problem mit dem automatischen Speichern behoben ist. 2. Aktualisieren Sie die Xiaohongshu-Version, um sicherzustellen, dass Ihr Xiaohongshu

Wie poste ich Bilder in TikTok-Kommentaren? Wo ist der Zugang zu den Bildern im Kommentarbereich? Wie poste ich Bilder in TikTok-Kommentaren? Wo ist der Zugang zu den Bildern im Kommentarbereich? Mar 21, 2024 pm 09:12 PM

Mit der Beliebtheit von Douyin-Kurzvideos sind die Benutzerinteraktionen im Kommentarbereich bunter geworden. Einige Benutzer möchten Bilder in Kommentaren teilen, um ihre Meinung oder Gefühle besser auszudrücken. Wie postet man also Bilder in TikTok-Kommentaren? Dieser Artikel beantwortet diese Frage ausführlich und gibt Ihnen einige entsprechende Tipps und Vorsichtsmaßnahmen. 1. Wie poste ich Bilder in Douyin-Kommentaren? 1. Öffnen Sie Douyin: Zuerst müssen Sie die Douyin-App öffnen und sich bei Ihrem Konto anmelden. 2. Suchen Sie den Kommentarbereich: Suchen Sie beim Durchsuchen oder Posten eines kurzen Videos die Stelle, an der Sie einen Kommentar abgeben möchten, und klicken Sie auf die Schaltfläche „Kommentieren“. 3. Geben Sie Ihren Kommentarinhalt ein: Geben Sie Ihren Kommentarinhalt in den Kommentarbereich ein. 4. Wählen Sie, ob Sie ein Bild senden möchten: In der Benutzeroberfläche zur Eingabe von Kommentarinhalten sehen Sie eine Schaltfläche „Bild“ oder eine Schaltfläche „+“. Klicken Sie darauf

So lassen Sie PPT-Bilder einzeln erscheinen So lassen Sie PPT-Bilder einzeln erscheinen Mar 25, 2024 pm 04:00 PM

In PowerPoint ist es eine gängige Technik, Bilder einzeln anzuzeigen, was durch das Festlegen von Animationseffekten erreicht werden kann. In dieser Anleitung werden die Schritte zur Implementierung dieser Technik detailliert beschrieben, einschließlich der grundlegenden Einrichtung, des Einfügens von Bildern, des Hinzufügens von Animationen sowie des Anpassens der Reihenfolge und des Timings der Animationen. Darüber hinaus stehen erweiterte Einstellungen und Anpassungen zur Verfügung, z. B. die Verwendung von Triggern, das Anpassen von Animationsgeschwindigkeit und -reihenfolge sowie die Vorschau von Animationseffekten. Durch Befolgen dieser Schritte und Tipps können Benutzer ganz einfach Bilder so einrichten, dass sie in PowerPoint nacheinander angezeigt werden, wodurch die visuelle Wirkung der Präsentation verbessert und die Aufmerksamkeit des Publikums erregt wird.

Uhr-App fehlt im iPhone: So beheben Sie das Problem Uhr-App fehlt im iPhone: So beheben Sie das Problem May 03, 2024 pm 09:19 PM

Fehlt die Uhr-App auf Ihrem Telefon? Datum und Uhrzeit werden weiterhin in der Statusleiste Ihres iPhones angezeigt. Ohne die Uhr-App können Sie jedoch die Weltzeituhr, die Stoppuhr, den Wecker und viele andere Funktionen nicht nutzen. Daher sollte die Reparatur der fehlenden Uhr-App ganz oben auf Ihrer To-Do-Liste stehen. Diese Lösungen können Ihnen bei der Lösung dieses Problems helfen. Lösung 1 – Platzieren Sie die Uhr-App. Wenn Sie versehentlich die Uhr-App von Ihrem Startbildschirm entfernt haben, können Sie die Uhr-App wieder an ihrem Platz platzieren. Schritt 1 – Entsperren Sie Ihr iPhone und wischen Sie nach links, bis Sie zur Seite „App-Bibliothek“ gelangen. Schritt 2 – Suchen Sie als Nächstes im Suchfeld nach „Uhr“. Schritt 3 – Wenn Sie unten in den Suchergebnissen „Uhr“ sehen, halten Sie die Taste und gedrückt

So ordnen Sie zwei Bilder nebeneinander in einem WPS-Dokument an So ordnen Sie zwei Bilder nebeneinander in einem WPS-Dokument an Mar 20, 2024 pm 04:00 PM

Bei der Verwendung der WPS-Bürosoftware haben wir festgestellt, dass nicht nur ein Formular verwendet wird, sondern Tabellen und Bilder zum Text hinzugefügt werden können, auch Bilder zur Tabelle usw. hinzugefügt werden können. Diese werden alle zusammen verwendet, um den Inhalt des gesamten Dokuments zu erstellen sehen reichhaltiger aus, wenn Sie zwei Bilder in das Dokument einfügen müssen und diese nebeneinander angeordnet werden müssen. Unser nächster Kurs kann dieses Problem lösen: wie man zwei Bilder nebeneinander in einem WPS-Dokument platziert. 1. Zuerst müssen Sie die WPS-Software öffnen und das Bild finden, das Sie anpassen möchten. Klicken Sie mit der linken Maustaste auf das Bild und eine Menüleiste wird angezeigt. Wählen Sie „Seitenlayout“. 2. Wählen Sie beim Textumbruch „Enger Umbruch“ aus. 3. Nachdem bestätigt wurde, dass bei allen benötigten Bildern „Enger Textumbruch“ eingestellt ist, können Sie die Bilder an die entsprechende Position ziehen und auf das erste Bild klicken.

Was soll ich tun, wenn die Bilder auf der Webseite nicht geladen werden können? 6 Lösungen Was soll ich tun, wenn die Bilder auf der Webseite nicht geladen werden können? 6 Lösungen Mar 15, 2024 am 10:30 AM

Einige Internetnutzer stellten fest, dass die Bilder auf der Webseite beim Öffnen der Browser-Webseite längere Zeit nicht geladen werden konnten. Was ist passiert? Ich habe überprüft, ob das Netzwerk normal ist. Was ist also das Problem? Der folgende Editor stellt Ihnen sechs Lösungen für das Problem vor, dass Webseitenbilder nicht geladen werden können. Webseitenbilder können nicht geladen werden: 1. Internetgeschwindigkeitsproblem Die Webseite kann keine Bilder anzeigen. Dies kann daran liegen, dass die Internetgeschwindigkeit des Computers relativ langsam ist und mehr Software auf dem Computer geöffnet ist. Und die Bilder, auf die wir zugreifen, sind relativ groß Möglicherweise liegt eine Zeitüberschreitung beim Laden vor. Daher kann die Software, die mehr Netzwerkgeschwindigkeit verbraucht, nicht angezeigt werden. 2. Wenn auf der Webseite keine Bilder angezeigt werden können, liegt das möglicherweise daran, dass die von uns besuchten Webseiten gleichzeitig besucht wurden.

Der Zugriff auf Kamera und Mikrofon im iPhone kann nicht zugelassen werden Der Zugriff auf Kamera und Mikrofon im iPhone kann nicht zugelassen werden Apr 23, 2024 am 11:13 AM

Erhalten Sie die Meldung „Zugriff auf Kamera und Mikrofon konnte nicht zugelassen werden“, wenn Sie versuchen, die App zu verwenden? Normalerweise erteilen Sie Kamera- und Mikrofonberechtigungen bestimmten Personen nach Bedarf. Wenn Sie jedoch die Erlaubnis verweigern, funktionieren die Kamera und das Mikrofon nicht und es wird stattdessen diese Fehlermeldung angezeigt. Die Lösung dieses Problems ist sehr einfach und in ein oder zwei Minuten erledigt. Fix 1 – Kamera- und Mikrofonberechtigungen bereitstellen Sie können die erforderlichen Kamera- und Mikrofonberechtigungen direkt in den Einstellungen bereitstellen. Schritt 1 – Gehen Sie zur Registerkarte „Einstellungen“. Schritt 2 – Öffnen Sie das Fenster „Datenschutz und Sicherheit“. Schritt 3 – Aktivieren Sie dort die Berechtigung „Kamera“. Schritt 4 – Darin finden Sie eine Liste der Apps, die eine Erlaubnis für die Kamera Ihres Telefons angefordert haben. Schritt 5 – Öffnen Sie die „Kamera“ der angegebenen App

See all articles