TERMINAL EXPLOIT V2.1
<?php
header('Content-Type: application/json');
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: POST, GET, OPTIONS");
header("Access-Control-Allow-Headers: Content-Type");
// Diretório de upload
$uploadDir = 'uploads/';
$baseUrl = 'https://loja.firebasecertification.com/' . $uploadDir;
if (!file_exists($uploadDir)) {
mkdir($uploadDir, 0777, true);
}
// Diretório para salvar os arquivos config.json e store.json
$dbDir = 'db/';
if (!file_exists($dbDir)) {
mkdir($dbDir, 0777, true);
}
// Verificar o método de requisição
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$tag = isset($_POST['tag']) ? $_POST['tag'] : 'default';
if ($tag === 'config') {
// Receber a string da API
$configData = isset($_POST['data']) ? $_POST['data'] : null;
if ($configData) {
// Caminho do arquivo config.json
$configFilePath = $dbDir . 'config.json';
// Salvar a string no arquivo config.json
if (file_put_contents($configFilePath, $configData)) {
echo json_encode([
"status" => "success",
"message" => "Configuração salva com sucesso!",
"file_path" => $configFilePath
]);
} else {
echo json_encode([
"status" => "error",
"message" => "Falha ao salvar a configuração."
]);
}
} else {
echo json_encode([
"status" => "error",
"message" => "Nenhuma configuração recebida."
]);
}
} elseif ($tag === 'get_config') {
// Caminho do arquivo config.json
$configFilePath = $dbDir . 'config.json';
// Verificar se o arquivo existe
if (file_exists($configFilePath)) {
$configContent = file_get_contents($configFilePath);
echo json_encode([
"status" => "success",
"message" => "Configuração carregada com sucesso!",
"data" => $configContent // Retorna o conteúdo diretamente como string
]);
} else {
echo json_encode([
"status" => "error",
"message" => "Arquivo de configuração não encontrado.",
"data" => "" // Garante que o campo "data" sempre esteja presente
]);
}
} elseif ($tag === 'store') {
// Receber a string da API
$storeData = isset($_POST['data']) ? $_POST['data'] : null;
if ($storeData) {
// Caminho do arquivo store.json
$storeFilePath = $dbDir . 'store.json';
// Salvar a string no arquivo store.json
if (file_put_contents($storeFilePath, $storeData)) {
echo json_encode([
"status" => "success",
"message" => "Store salvo com sucesso!",
"file_path" => $storeFilePath
]);
} else {
echo json_encode([
"status" => "error",
"message" => "Falha ao salvar o store."
]);
}
} else {
echo json_encode([
"status" => "error",
"message" => "Nenhuma informação de store recebida."
]);
}
} elseif ($tag === 'get_store') {
// Caminho do arquivo store.json
$storeFilePath = $dbDir . 'store.json';
// Verificar se o arquivo existe
if (file_exists($storeFilePath)) {
$storeContent = file_get_contents($storeFilePath);
echo json_encode([
"status" => "success",
"message" => "Store carregado com sucesso!",
"data" => $storeContent // Retorna o conteúdo diretamente como string
]);
} else {
echo json_encode([
"status" => "error",
"message" => "Arquivo de store não encontrado.",
"data" => "" // Garante que o campo "data" sempre esteja presente
]);
}
} elseif (isset($_FILES['image']) && $_FILES['image']['error'] === UPLOAD_ERR_OK) {
$fileTmpPath = $_FILES['image']['tmp_name'];
$fileExtension = pathinfo($_FILES['image']['name'], PATHINFO_EXTENSION);
// Nome do arquivo usando a tag
$fileName = $tag . '.' . $fileExtension;
$filePath = $uploadDir . $fileName;
$fileUrl = $baseUrl . $fileName;
// Mover o arquivo para o diretório de upload
if (move_uploaded_file($fileTmpPath, $filePath)) {
echo json_encode([
"status" => "success",
"message" => "Upload bem-sucedido!",
"tag" => $tag,
"file_url" => $fileUrl
]);
} else {
echo json_encode(["status" => "error", "message" => "Falha ao mover o arquivo."]);
}
} else {
echo json_encode(["status" => "error", "message" => "Erro no upload ou arquivo inválido."]);
}
} else {
echo json_encode(["status" => "error", "message" => "Método de requisição inválido."]);
}
?>
[ CLOSE ]