Project

General

Profile

Actions

SQA #3237

open

[SQA] Security Testing on Production Site

Added by Aman Bhuiyan 7 months ago. Updated 6 months ago.

Status:
Pending
Priority:
High
Assignee:
Target version:
Start date:
09/15/2025
Due date:
% Done:

50%

Estimated time:
Spent time:

Description

2025-09-01 — Day 1

Coverage: Reset Password, Sign Up, Verify Email, Verify Tool, Comment Box
Activities: Manual happy-path + negative checks; header/URL review; safe replay testing (prod-safe)

Findings summary:

  • ST-001 (Medium): Reset Password & Sign Up — Verification emails originate from third-party sender ().PoC
  • ST-002 (High): Reset Password — OTP appears in URL during verification flow.PoC
  • ST-003 (Medium): Verify Email Address endpoint — No rate limit observed.PoC
  • ST-004 (High): Verify Tool — Email validation/ownership bypass risk by stripping domain in request. PoC
  • ST-005 (Medium): Comment Box — No rate limit / anti-automation controls. PoC

2025-09-02 — Day 2

Coverage: Verify My Tool, Staging API exposure, Network services/ports, Reset Password rate limiting, Main site endpoints
Activities: Manual verification flows (intercept-only, prod-safe), staging endpoint review, basic service/port checks, rate-limit header behavior review

Findings summary:

  • ST-006 (High): Verify My Tool — OTP returned in API response instead of only emailing to domain mailbox.
  • ST-007 (High, Staging): Staging API endpoint publicly lists users (/api/user-management/users/) — information disclosure.
  • ST-008 (Info/Suggestion): HTTP/1.1 DoS CVE reference noted — review DDoS protections and relevance (no exploit executed).
  • ST-009 (Medium): Port 8000 open on aiaxio.com serving another site — unexpected service exposure.
  • ST-010 (Medium): Multiple unnecessary open ports discovered (5432, 8002, 3005, 8080) — reduce attack surface.
  • ST-011 (High/Critical): Reset Password — rate-limit bypass via spoofed X-Forwarded-For/Host header.
  • ST-012 (Medium, To verify): Possible client-side desync exposure on main site / some endpoints (needs controlled validation).

2025-09-03 — Day 3

Coverage: Sign Up with Google (OAuth), Profile avatar sync, Profile Picture upload sanitation, Account deletion/session invalidation
Activities: UX/consent review for Google OAuth; cross-browser state/asset refresh checks; safe negative tests for upload validation; account lifecycle tests across concurrent sessions

Findings summary:

  • ST-013 (Medium): Sign Up with Google — No Terms & Conditions / data-collection consent shown before completing Google sign-up.
  • ST-014 (Medium): Profile icon sync — Updating profile picture in one browser does not reflect in a second logged-in browser after refresh.
  • ST-015 (High/Critical): Profile picture upload sanitation — Upload validation appears insufficient when non-image payloads are renamed with .jpg/.png. Expected: Reject non-image content even if the extension looks like an image.
  • ST-016 (High): Delete Account — After deleting the account in one browser, another pre-authenticated browser can still edit the profile.

2025-09-04 — Day 4

Coverage: Username policy/uniqueness, password reuse policy, user-management API exposure, clickjacking headers
Activities: Account creation & rename tests (case + Unicode), password reset/reuse checks, public API probe (read-only), header/iframe checks with local HTML (prod-safe)

Findings summary:

  • ST-017 (Medium): Username case-insensitivity not enforced — “Admin” and “admin” accepted as distinct usernames.
  • ST-018 (High): Username homoglyph bypass — Confusable Unicode variants bypass existing-username checks.
  • ST-019 (Medium, Suggestion): Password reuse allowed on reset — Prior passwords can be reused during reset.
  • ST-020 (High): Public user data via APIhttps://api.aiaxio.com/api/user-management/users?limit=20&offset=0&sort=asc returns user data without proper restriction.
  • ST-021 (Medium): Clickjacking risk — Missing X-Frame-Options and CSP frame-ancestors; site can be framed (tested with local clickjack.html).

2025-09-08 — Day 5

Coverage: Forgot Password (JWT handling), Sign-in redirect parameters, Origin IP exposure
Activities: JWT payload review (decode-only), callback URL redirect behavior check, passive OSINT for infrastructure exposure

Findings summary:

  • ST-022 (High): OTP exposed in JWT — Forgot Password flow returns a JWT whose decoded payload contains the OTP.
  • ST-023 (High): Open redirect on sign-incallbackUrl on /signin allows redirection to external domains (e.g., https://evil.com).
  • ST-024 (Medium/High): Origin IP exposure — Public search reveals origin IP for aiaxio.com, enabling potential WAF bypass attempts.

##Ref 01 Screenshots Drive Link
##Ref 02 Issues Sheet

Actions #1

Updated by Aman Bhuiyan 7 months ago

  • Description updated (diff)

2025-09-15 — Day 6

Coverage: Auth rate-limiting UX/handling, Tool name uniqueness (server-side)
Activities: Repeated sign-in/sign-up attempts to observe throttling behavior; Submit Tool flow with backend request tampering (homoglyph payload)

Findings summary:

  • ST-025 (Medium): Sign In/Sign Up — Multiple rapid attempts result in a generic Network error instead of a controlled throttle response (e.g., “Too many attempts” message or IP block notice). (Fail)
  • ST-026 (High): Tools Name — Duplicate tool name accepted by backend when the request is modified with a homoglyph variant; API responds 201 Created despite existing logical duplicate. (Fail)

##Ref-01 Screenshots Drive Link
##Ref-02 Issues Sheet

Actions #2

Updated by Aman Bhuiyan 7 months ago

2025-09-15 — Day 6

Coverage: Auth rate-limiting UX/handling, Tool name uniqueness (server-side)
Activities: Repeated sign-in/sign-up attempts to observe throttling behavior; Submit Tool flow with backend request tampering (homoglyph payload)

Findings summary:

  • ST-025 (Medium): Sign In/Sign Up — Multiple rapid attempts result in a generic Network error instead of a controlled throttle response (e.g., “Too many attempts” message or IP block notice).
  • ST-026 (High): Tools Name — Duplicate tool name accepted by backend when the request is modified with a homoglyph variant; API responds 201 Created despite existing logical duplicate.

##Ref-01 Screenshots Drive Link
##Ref-02 Issues Sheet

Actions #3

Updated by Aman Bhuiyan 7 months ago · Edited

2025-09-16

Coverage: JavaScript static files

Analyze the static JavaScript files of the aiaixo website to find any potential leaks of API keys or other sensitive secrets. This involves techniques like subdomain enumeration, resolving the discovered subdomains, and inspecting the JavaScript files for any exposed credentials or sensitive information.

Folder of Javascript files

Actions #4

Updated by Aman Bhuiyan 6 months ago

  • % Done changed from 0 to 50

Summary

  • Understand the Dependency Confusion Bug
  • How to find these types of bugs
  • How to Understand Developers' Perspectives
  • How to reconnaissance GitHub repositories
  • How to read a JavaScript file for finding bugs
  • Understand the source code review

Reference

Notes

Actions

Also available in: Atom PDF