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.zipDownloaded 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