用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/CyberStrikeus/CyberStrike --skill wstg-clnt-04命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
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 职业分类
正在显示 SKILL.md
| name | wstg-clnt-04 |
| description | Testing for Client-Side URL Redirect |
| category | client-side |
| owasp_id | WSTG-CLNT-04 |
| version | 1.0.0 |
| author | cyberstrike-official |
| tags | ["client-side","javascript","dom","cors","wstg","clnt"] |
| tech_stack | [] |
| cwe_ids | ["CWE-601"] |
| chains_with | [] |
| prerequisites | [] |
| severity_boost | {} |
WSTG-CLNT-04
Testing for Client-Side URL Redirect
Client-side URL redirect vulnerabilities (open redirects) occur when JavaScript redirects users based on URL parameters without validation. Attackers can craft links that redirect victims to malicious sites, facilitating phishing attacks.
#!/bin/bash
TARGET="https://target.com"
# Common redirect parameters
params=("url" "redirect" "next" "return" "returnUrl" "goto" "destination" "redir" "redirect_uri" "continue")
for param in "${params[@]}"; do
response=$(curl -sI "$TARGET/login?$param=https://evil.com" | grep -i "location")
if echo "$response" | grep -qi "evil.com"; then
echo "[VULN] Open redirect via: $param"
fi
#!/bin/bash
TARGET="https://target.com"
PARAM="redirect"
payloads=(
"https://evil.com"
"//evil.com"
"https://target.com.evil.com"
"https://evil.com/target.com"
"https://target.com@evil.com"
"javascript:alert(1)"
"//evil.com/%2f%2e%2e"
"https:evil.com"
"/\\evil.com"
)
for payload in "${payloads[@]}"; do
echo "Testing: $payload"
curl -sI "$TARGET/auth?$PARAM=$payload" | grep -i "location"
done
// Search for these patterns in JS files:
// location.href =
// location.replace(
// window.location =
// window.open(
// Check if URL parameter is used without validation
const urlParams = new URLSearchParams(window.location.search)
const redirectUrl = urlParams.get("redirect")
// Vulnerable pattern:
window.location.href = redirectUrl // No validation!
// Safe pattern:
const allowedHosts = ["target.com", "sub.target.com"]
try {
const url = new URL(redirectUrl)
if (allowedHosts.includes(url.hostname)) {
window.location.href = redirectUrl
}
} catch (e) {
// Invalid URL
}
function safeRedirect(url) {
const allowedHosts = ["example.com", "sub.example.com"]
try {
const parsed = new URL(url, window.location.origin)
// Only allow same-origin or whitelisted hosts
if (parsed.origin === window.location.origin || allowedHosts.includes(parsed.hostname)) {
window.location.href = parsed.href
} else {
window.location.href = "/" // Default safe redirect
}
} catch (e) {
window.location.href = "/"
}
}
| Finding | CVSS | Severity |
|---|---|---|
| Open redirect | 4.7 | Medium |
| javascript: URI redirect | 6.1 | Medium |
| CWE ID | Title |
|---|---|
| CWE-601 | URL Redirection to Untrusted Site |
[ ] Redirect parameters identified
[ ] Bypass techniques tested
[ ] JavaScript redirect code analyzed
[ ] javascript: URI tested
[ ] Findings documented