Web


Nmap discovered a Web server on the target port 80 The running service is Apache httpd 2.4.41 ((Ubuntu))

┌──(kali㉿kali)-[~/PEN-200/PG_PRACTICE/zipper]
└─$ curl -I -X OPTIONS http://$IP/
HTTP/1.1 200 OK
Date: Sun, 06 Apr 2025 12:56:49 GMT
Server: Apache/2.4.41 (Ubuntu)
Vary: Accept-Encoding
Content-Length: 3151
Content-Type: text/html; charset=UTF-8
 
 
┌──(kali㉿kali)-[~/PEN-200/PG_PRACTICE/zipper]
└─$ curl -I http://$IP/        
HTTP/1.1 200 OK
Date: Sun, 06 Apr 2025 12:56:51 GMT
Server: Apache/2.4.41 (Ubuntu)
Content-Type: text/html; charset=UTF-8

Webroot It claims that the web application performs an archiving operation of uploaded files with an encryption

File Upload


Uploading a testing JPG file sends a POST request to the index.php file

Upload was successful and a link is provided for download

Hovering over the link shows the location of the archive file; /uploads The uploaded file is renamed following a structure; upload_ prefix with Unix timestamp

┌──(kali㉿kali)-[~/PEN-200/PG_PRACTICE/zipper]
└─$ wget -q http://192.168.201.229/uploads/upload_1743944677.zip

Downloaded the archive file for further analysis

┌──(kali㉿kali)-[~/PEN-200/PG_PRACTICE/zipper]
└─$ exiftool upload_1743944677.zip             
ExifTool Version Number         : 13.10
File Name                       : upload_1743944677.zip
Directory                       : .
File Size                       : 24 kB
File Modification Date/Time     : 2025:04:06 15:04:38+02:00
File Access Date/Time           : 2025:04:06 15:08:09+02:00
File Inode Change Date/Time     : 2025:04:06 15:08:09+02:00
File Permissions                : -rw-rw-r--
File Type                       : ZIP
File Type Extension             : zip
MIME Type                       : application/zip
Zip Required Version            : 20
Zip Bit Flag                    : 0x0002
Zip Compression                 : Deflated
Zip Modify Date                 : 2025:04:06 13:04:38
Zip CRC                         : 0xb2ad71f2
Zip Compressed Size             : 24009
Zip Uncompressed Size           : 24969
Zip File Name                   : test.jpg
 
┌──(kali㉿kali)-[~/PEN-200/PG_PRACTICE/zipper]
└─$ unzip upload_1743944677.zip 
Archive:  upload_1743944677.zip
  inflating: test.jpg                

It would appear that there is no sign of encryption. Additionally, what software is being used for the archiving itself cannot be identified at this time.

Inclusion


Checking the source code of the index.php file reveals something interesting. The Home button invokes index.php?file=home The file parameter might be using the PHP include function, which could lead to LFI Additionally, the extension is omitted, so it might be appended in the source code

Fuzzing


┌──(kali㉿kali)-[~/PEN-200/PG_PRACTICE/zipper]
└─$ ffuf -c -w /usr/share/wordlists/seclists/Discovery/Web-Content/big.txt -u http://$IP/FUZZ -ic -e .html,.txt,.php -fc 403
________________________________________________
 :: Method           : GET
 :: URL              : http://192.168.201.229/FUZZ
 :: Wordlist         : FUZZ: /usr/share/wordlists/seclists/Discovery/Web-Content/big.txt
 :: Extensions       : .html .txt .php 
 :: Follow redirects : false
 :: Calibration      : false
 :: Timeout          : 10
 :: Threads          : 40
 :: Matcher          : Response status: 200-299,301,302,307,401,403,405,500
 :: Filter           : Response status: 403
________________________________________________
home.php                [Status: 200, Size: 3151, Words: 338, Lines: 77, Duration: 33ms]
index.php               [Status: 200, Size: 3151, Words: 338, Lines: 77, Duration: 32ms]
style                   [Status: 200, Size: 155, Words: 24, Lines: 8, Duration: 20ms]
upload.php              [Status: 200, Size: 0, Words: 1, Lines: 1, Duration: 33ms]
uploads                 [Status: 301, Size: 320, Words: 20, Lines: 10, Duration: 23ms]
:: Progress: [81912/81912] :: Job [1/1] :: 1769 req/sec :: Duration: [0:00:57] :: Errors: 0 ::

ffuf found several endpoints. Notably, home.php and index.php files appear identical

/upload.php


This file might be used in the backend for the archiving operation

/uploads


Directly accessing the /uploads directory is forbidden