Skip to content

fix: detect TikTok SlardarWAF to prevent false positives#2958

Open
guhyun9454 wants to merge 1 commit into
sherlock-project:masterfrom
guhyun9454:fix/tiktok-slardarwaf-false-positive
Open

fix: detect TikTok SlardarWAF to prevent false positives#2958
guhyun9454 wants to merge 1 commit into
sherlock-project:masterfrom
guhyun9454:fix/tiktok-slardarwaf-false-positive

Conversation

@guhyun9454
Copy link
Copy Markdown

Summary

  • TikTok now responds to Python requests (HTTP/1.1) with a SlardarWAF bot-challenge page for all profile requests, regardless of whether the account actually exists
  • The challenge page returns HTTP 200 with ~1428 bytes but contains no statusCode:10221, so Sherlock incorrectly marks every TikTok query as CLAIMED (false positive)
  • Adding SlardarWAF to WAFHitMsgs correctly classifies these responses as QueryStatus.WAF instead

Root cause

TikTok performs TLS/HTTP fingerprinting and serves a ByteDance SlardarWAF challenge to non-browser clients. curl (HTTP/2) bypasses it and returns the correct statusCode in the JSON payload; Python requests (HTTP/1.1) does not.

Verified with:

# curl → statusCode:0 (exists) / statusCode:10221 (not found) ✓
# Python requests → SlardarWAF challenge page (HTTP 200, no statusCode) for both ✗

Test plan

  • Run sherlock <nonexistent_tiktok_username> --site TikTok → should show WAF (not CLAIMED)
  • Run sherlock <existing_tiktok_username> --site TikTok → should show WAF (bot detection active for all requests)

TikTok responds to Python requests (HTTP/1.1) with a SlardarWAF
challenge page for all requests regardless of account existence.
Without this fingerprint, Sherlock incorrectly marks all TikTok
queries as CLAIMED.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant