您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Tests Leonardo AI token system for vulnerabilities by attempting to unlock premium token limits
// ==UserScript== // @name Leonardo AI Token Unlocker // @namespace leonardoai.test // @version 1.0.0 // @description Tests Leonardo AI token system for vulnerabilities by attempting to unlock premium token limits // @author EthicalHacker // @match https://app.leonardo.ai/* // @icon https://app.leonardo.ai/favicon.ico // @require https://greasyfork.org/scripts/455943-ajaxhooker/code/ajaxHooker.js?version=1124435 // @run-at document-start // @grant GM_setValue // @grant GM_getValue // @license none // ==/UserScript== /* global ajaxHooker */ (function() { 'use strict'; // Configuration const CONFIG = { debug: true, // Enable for detailed console logging notificationDuration: 5000, // Duration for status notifications (ms) targetTokenCount: 10000, // Token count to test theme: { primary: "#4CAF50", // Green for success text: "#333333", background: "#f9f9f9", shadow: "0 2px 5px rgba(0, 0, 0, 0.1)" }, testedFeatures: [ "Token Balance", "Image Generation", "Model Training", "Premium Features" ] }; // Logger utility const logger = { log: (message) => CONFIG.debug && console.log(`[LeonardoAIUnlocker] ${message}`), success: (message) => CONFIG.debug && console.log(`[LeonardoAIUnlocker] %c${message}`, "color: green"), error: (message, err) => CONFIG.debug && console.error(`[LeonardoAIUnlocker] ${message}`, err) }; // API interceptor module const apiInterceptor = { init: () => { try { ajaxHooker.hook((request) => { // Intercept user info endpoint (token balance) if (request.url.includes("/api/rest/v1/user/self")) { logger.log("Intercepting user info request"); request.response = (response) => { try { const responseData = JSON.parse(response.responseText); const userData = "data" in responseData ? responseData.data : responseData; // Attempt to manipulate token balance if (userData) { userData.subscription_tokens = CONFIG.targetTokenCount; userData.subscription_tokens_used = 0; userData.subscription_plan = "premium_pro"; userData.is_premium = true; } // Update response response.responseText = JSON.stringify( "data" in responseData ? ((responseData.data = userData), responseData) : userData ); logger.success(`Set token balance to ${CONFIG.targetTokenCount}`); uiManager.showStatusNotification("Token balance manipulation attempted!"); } catch (err) { logger.error("Error processing user info response", err); uiManager.showStatusNotification("Error manipulating token balance"); } }; } // Intercept generation endpoint if (request.url.includes("/api/rest/v1/generations")) { logger.log("Intercepting generation request"); request.response = (response) => { try { const responseData = JSON.parse(response.responseText); // Ensure generation proceeds without token deduction if (responseData) { responseData.status = "success"; responseData.token_cost = 0; // Attempt to bypass token cost } response.responseText = JSON.stringify(responseData); logger.success("Generation request processed with zero token cost"); } catch (err) { logger.error("Error processing generation response", err); } }; } // Intercept subscription or billing endpoints if (request.url.includes("/billing/") || request.url.includes("/subscription/")) { logger.log("Intercepting subscription endpoint"); request.response = (response) => { try { response.responseText = JSON.stringify({ success: true, data: { has_premium_access: true, subscription_plan: "premium_pro", token_balance: CONFIG.targetTokenCount, status: "active" } }); logger.success("Premium subscription access granted"); } catch (err) { logger.error("Error processing subscription response", err); } }; } }); logger.success("API interceptors initialized"); } catch (err) { logger.error("Failed to initialize API interceptors", err); uiManager.showStatusNotification("Failed to initialize token unlocker"); } } }; // UI Manager for notifications const uiManager = { showStatusNotification: (message) => { if (document.body) { const notification = document.createElement("div"); notification.style.position = "fixed"; notification.style.bottom = "20px"; notification.style.right = "20px"; notification.style.padding = "10px 15px"; notification.style.backgroundColor = CONFIG.theme.background; notification.style.color = CONFIG.theme.text; notification.style.border = "1px solid #ccc"; notification.style.borderLeft = `4px solid ${CONFIG.theme.primary}`; notification.style.borderRadius = "4px"; notification.style.boxShadow = CONFIG.theme.shadow; notification.style.fontFamily = "Arial, sans-serif"; notification.style.fontSize = "14px"; notification.style.zIndex = "10000"; notification.textContent = message; document.body.appendChild(notification); setTimeout(() => { if (notification.parentNode) { notification.parentNode.removeChild(notification); } }, CONFIG.notificationDuration); } }, showInfoPopup: () => { const popup = document.createElement("div"); popup.style.position = "fixed"; popup.style.bottom = "20px"; popup.style.right = "20px"; popup.style.padding = "15px"; popup.style.backgroundColor = CONFIG.theme.background; popup.style.boxShadow = CONFIG.theme.shadow; popup.style.border = "1px solid #ccc"; popup.style.borderRadius = "8px"; popup.style.zIndex = "10000"; popup.style.fontFamily = "Arial, sans-serif"; popup.style.color = CONFIG.theme.text; popup.style.width = "280px"; const header = document.createElement("h3"); header.textContent = "Leonardo AI Token Unlocker"; header.style.margin = "0 0 10px"; header.style.color = CONFIG.theme.primary; header.style.fontSize = "16px"; const featuresHeader = document.createElement("p"); featuresHeader.textContent = "Tested features:"; featuresHeader.style.margin = "10px 0 5px"; featuresHeader.style.fontWeight = "bold"; const featuresList = document.createElement("ul"); featuresList.style.margin = "0 0 15px"; featuresList.style.paddingLeft = "20px"; CONFIG.testedFeatures.forEach(feature => { const item = document.createElement("li"); item.textContent = feature; item.style.margin = "3px 0"; featuresList.appendChild(item); }); const closeButton = document.createElement("button"); closeButton.textContent = "×"; closeButton.style.position = "absolute"; closeButton.style.top = "5px"; closeButton.style.right = "5px"; closeButton.style.background = "none"; closeButton.style.border = "none"; closeButton.style.cursor = "pointer"; closeButton.style.fontSize = "18px"; closeButton.style.color = "#666"; closeButton.addEventListener("click", () => { if (popup.parentNode) { document.body.removeChild(popup); } }); popup.appendChild(header); popup.appendChild(featuresHeader); popup.appendChild(featuresList); popup.appendChild(closeButton); document.body.appendChild(popup); setTimeout(() => { if (popup.parentNode) { document.body.removeChild(popup); } }, 15000); } }; // Initialize the unlocker (function init() { apiInterceptor.init(); window.addEventListener("load", () => { setTimeout(() => { uiManager.showInfoPopup(); }, 2000); }); logger.log("Leonardo AI Token Unlocker initialized"); })(); })();