Linux vps-61133.fhnet.fr 4.9.0-19-amd64 #1 SMP Debian 4.9.320-2 (2022-06-30) x86_64
Apache/2.4.25 (Debian)
Server IP : 93.113.207.21 & Your IP : 216.73.216.112
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
src /
php-7.4.33 /
ext /
standard /
tests /
image /
Delete
Unzip
Name
Size
Permission
Date
Action
200x100.bmp
58.65
KB
-rw-rw-r--
2022-10-31 11:36
200x100.gif
1.01
KB
-rw-rw-r--
2022-10-31 11:36
200x100.jpg
991
B
-rw-rw-r--
2022-10-31 11:36
200x100.png
683
B
-rw-rw-r--
2022-10-31 11:36
200x100.swf
71
B
-rw-rw-r--
2022-10-31 11:36
200x100.tiff
1.12
KB
-rw-rw-r--
2022-10-31 11:36
200x100_unknown.unknown
53.53
KB
-rw-rw-r--
2022-10-31 11:36
246x247.png
360
B
-rw-rw-r--
2022-10-31 11:36
2x2mm.tiff
118
B
-rw-rw-r--
2022-10-31 11:36
32x256.ico
10.06
KB
-rw-rw-r--
2022-10-31 11:36
384x385.png
267
B
-rw-rw-r--
2022-10-31 11:36
75x50.wbmp
504
B
-rw-rw-r--
2022-10-31 11:36
75x50.xbm
3.57
KB
-rw-rw-r--
2022-10-31 11:36
blank_file.bmp
0
B
-rw-rw-r--
2022-10-31 11:36
bug13213.jpg
596
B
-rw-rw-r--
2022-10-31 11:36
bug13213.phpt
441
B
-rw-rw-r--
2022-10-31 11:36
bug67250.phpt
133
B
-rw-rw-r--
2022-10-31 11:36
bug70052.phpt
383
B
-rw-rw-r--
2022-10-31 11:36
bug70052_1.wbmp
12
B
-rw-rw-r--
2022-10-31 11:36
bug70052_2.wbmp
7
B
-rw-rw-r--
2022-10-31 11:36
bug70096.phpt
819
B
-rw-rw-r--
2022-10-31 11:36
bug71848.jpg
699
B
-rw-rw-r--
2022-10-31 11:36
bug71848.phpt
465
B
-rw-rw-r--
2022-10-31 11:36
bug72278.jpg
11.89
KB
-rw-rw-r--
2022-10-31 11:36
bug72278.phpt
530
B
-rw-rw-r--
2022-10-31 11:36
bug79877.phpt
213
B
-rw-rw-r--
2022-10-31 11:36
getimagesize.phpt
4.04
KB
-rw-rw-r--
2022-10-31 11:36
getimagesize_246x247.phpt
753
B
-rw-rw-r--
2022-10-31 11:36
getimagesize_256_ico.phpt
444
B
-rw-rw-r--
2022-10-31 11:36
getimagesize_384x385.phpt
753
B
-rw-rw-r--
2022-10-31 11:36
getimagesize_basic.phpt
3.31
KB
-rw-rw-r--
2022-10-31 11:36
getimagesize_jpgapp.phpt
793
B
-rw-rw-r--
2022-10-31 11:36
getimagesize_swc.phpt
439
B
-rw-rw-r--
2022-10-31 11:36
getimagesize_tif_mm.phpt
676
B
-rw-rw-r--
2022-10-31 11:36
getimagesize_variation2.phpt
3.68
KB
-rw-rw-r--
2022-10-31 11:36
getimagesize_variation3.phpt
1.64
KB
-rw-rw-r--
2022-10-31 11:36
getimagesize_variation4.phpt
796
B
-rw-rw-r--
2022-10-31 11:36
getimagesize_variation_005.phpt
838
B
-rw-rw-r--
2022-10-31 11:36
getimagesize_wbmp.phpt
635
B
-rw-rw-r--
2022-10-31 11:36
getimagesize_xbm.phpt
621
B
-rw-rw-r--
2022-10-31 11:36
getimagesizefromstring1.phpt
644
B
-rw-rw-r--
2022-10-31 11:36
image_type_to_extension.phpt
2.87
KB
-rw-rw-r--
2022-10-31 11:36
image_type_to_mime_type.phpt
1.36
KB
-rw-rw-r--
2022-10-31 11:36
image_type_to_mime_type_basic.phpt
1.35
KB
-rw-rw-r--
2022-10-31 11:36
image_type_to_mime_type_variation2.phpt
1.56
KB
-rw-rw-r--
2022-10-31 11:36
image_type_to_mime_type_variation3.phpt
1.73
KB
-rw-rw-r--
2022-10-31 11:36
image_type_to_mime_type_variation4.phpt
904
B
-rw-rw-r--
2022-10-31 11:36
iptcembed_001.phpt
250
B
-rw-rw-r--
2022-10-31 11:36
iptcembed_002.phpt
4.78
KB
-rw-rw-r--
2022-10-31 11:36
iptcembed_003.phpt
291
B
-rw-rw-r--
2022-10-31 11:36
skipif_imagetype.inc
1.05
KB
-rw-rw-r--
2022-10-31 11:36
test-1pix.bmp
58
B
-rw-rw-r--
2022-10-31 11:36
test.gif
2.46
KB
-rw-rw-r--
2022-10-31 11:36
test.txt
20
B
-rw-rw-r--
2022-10-31 11:36
test12pix.webp
2.44
KB
-rw-rw-r--
2022-10-31 11:36
test13pix.swf
589
B
-rw-rw-r--
2022-10-31 11:36
test1bpix.bmp
142
B
-rw-rw-r--
2022-10-31 11:36
test1pix.bmp
58
B
-rw-rw-r--
2022-10-31 11:36
test1pix.jp2
243
B
-rw-rw-r--
2022-10-31 11:36
test1pix.jpc
127
B
-rw-rw-r--
2022-10-31 11:36
test1pix.jpg
523
B
-rw-rw-r--
2022-10-31 11:36
test2pix.gif
35
B
-rw-rw-r--
2022-10-31 11:36
test3llpix.webp
38
B
-rw-rw-r--
2022-10-31 11:36
test3pix.webp
44
B
-rw-rw-r--
2022-10-31 11:36
test4pix.gif
42
B
-rw-rw-r--
2022-10-31 11:36
test4pix.iff
114
B
-rw-rw-r--
2022-10-31 11:36
test4pix.png
148
B
-rw-rw-r--
2022-10-31 11:36
test4pix.psd
1.22
KB
-rw-rw-r--
2022-10-31 11:36
test4pix.swf
609
B
-rw-rw-r--
2022-10-31 11:36
test4pix.tiff
312
B
-rw-rw-r--
2022-10-31 11:36
testAPP.jpg
11.89
KB
-rw-rw-r--
2022-10-31 11:36
Save
Rename
--TEST-- iptcembed() valid jpg stream --FILE-- <?php /* # source code to generate base64 use behind as $base64_1x1_jpeg # we don't want to be gd library dependant for this test $file="1x1.jpg"; $ret=imagejpeg(imagecreatetruecolor(1, 1), $file, 100); echo md5(file_get_contents($file)).PHP_EOL; echo base64_encode(file_get_contents($file)).PHP_EOL; unlink($file); */ /* test description : 1) create local file 1x1 jpeg (without iptc) (use base64 content to create file) 2) generate iptcdata string with function iptc_make_tag describe behind 3) use iptcembed php function with our 1x1 jpeg file and our iptcdata string 4) write local file2 with iptcembed return content 5) various check on file2 to verify that's a valid jpeg file with our tags */ #iptc_make_tag function from http://php.net/iptcembed function iptc_make_tag($rec, $data, $value) { $length = strlen($value); $retval = chr(0x1C) . chr($rec) . chr($data); if($length < 0x8000) { $retval .= chr($length >> 8) . chr($length & 0xFF); } else { $retval .= chr(0x80) . chr(0x04) . chr(($length >> 24) & 0xFF) . chr(($length >> 16) & 0xFF) . chr(($length >> 8) & 0xFF) . chr($length & 0xFF); } return $retval . $value; } $file="1x1.jpg"; $file2="1x1_with_iptc_tags.jpg"; $base64_1x1_jpeg="/9j/4AAQSkZJRgABAQEAYABgAAD//gA8Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcgSlBFRyB2ODApLCBxdWFsaXR5ID0gMTAwCv/bAEMAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/bAEMBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAAEAAQMBEQACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/AP8AP/oA/9k="; #write file $fd=fopen($file,"wb"); if ($fd) { fputs($fd,base64_decode($base64_1x1_jpeg)); fclose($fd); } else { echo "error cant write $file".PHP_EOL;exit(1); } #check file md5 $md5=md5_file($file); if ($md5!="07dd8594450e8c18ab8a79d7cb4573c7") { echo "md5 error".PHP_EOL;exit(1); } #check jpeg properties list($width, $height, $type, $attr) = getimagesize($file,$info); if ($width!=1) { echo "width error".PHP_EOL;exit(1); } if ($height!=1) { echo "height error".PHP_EOL;exit(1); } if ($type!=2) { echo "type error".PHP_EOL;exit(1); } if (!isset($info["APP0"])) { echo "APP0 error".PHP_EOL;exit(1); } #our iptc tags $tags=array(); $tags["2#105"]= "Tauren"; $tags["2#120"]= "Tauren with Trunk"; $tags["2#110"]= "Copyright 2004-2016, Blizzard"; $tags["2#025"]= "Tauren, Chaman, Blizzard"; $tags["2#090"]= "Thunder Bluffs"; #feed iptc string for iptcembed $iptc=''; foreach ($tags as $tag => $string) { $rec=$tag[0]; $tag = substr($tag, 2); $iptc .= iptc_make_tag($rec, $tag, $string); } #check iptc string md5 if (md5(base64_encode($iptc))!="7056c4b3060f92a4f9e5b7d0caa61859") { echo "iptc md5 error".PHP_EOL;exit(1); } #use iptcembed to get jpeg stream content with iptc tags $content = iptcembed($iptc, $file,0); #write new image with iptc tags if ($content === false) {echo "iptcembed error".PHP_EOL;exit(1); } $fd=fopen($file2,"wb"); if ($fd) { fputs($fd,$content); fclose($fd); } else { echo "error cant write $file2".PHP_EOL;exit(1); } #check jpeg properties for new image with iptc tags echo "new generated image with itpc tags : $file2".PHP_EOL; $ret = getimagesize($file2,$info); if ($ret===false) { echo "getimagesize error".PHP_EOL;exit(1); } list($width, $height, $type, $attr) = $ret; if ($width!=1) { echo "width error".PHP_EOL;exit(1); } if ($height!=1) { echo "height error".PHP_EOL;exit(1); } if ($type!=2) { echo "type error".PHP_EOL;exit(1); } if (!isset($info["APP0"])) { echo "APP0 error".PHP_EOL;exit(1); } if (!isset($info["APP13"])) { echo "APP13 error".PHP_EOL;exit(1); } $error=0; $iptc_data_from_created_image = iptcparse($info['APP13']); foreach ($tags as $tag => $string) { #check if tag exists if (!isset($iptc_data_from_created_image[$tag])) { echo "error iptc tag $tag not found".PHP_EOL; $error++; } else { #check value if ($iptc_data_from_created_image[$tag][0]!=$string) { echo "error tag $tag : bad value ($string != ".$iptc_data_from_created_image[$tag][0].")".PHP_EOL; $error++; } } } #clean before exit @unlink($file); @unlink($file2); if ($error==0) { echo "OK".PHP_EOL;exit(0);} echo "something wrong: $error errors".PHP_EOL; ?> --EXPECT-- new generated image with itpc tags : 1x1_with_iptc_tags.jpg OK