Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №3621750
А
Аноним
18 июня 2026 04:53 · публичный вопрос
А
Аноним

555-1)) OR 294=(SELECT 294 FROM PG_SLEEP(15))--

Ответ нейросети
18 июня 2026 04:53

That looks like a time-based blind SQL injection payload aimed at PostgreSQL. It’s designed to cause a delay (sleep) if the injection is successful, which helps an attacker infer information even when data isn’t directly returned.

What the pieces imply (high level, not step-by-step):

  • pg_sleep(15) (or similar) is used to pause the database for 15 seconds.
  • The OR and the comparison (e.g., 294 = (SELECT 294 FROM PG_SLEEP(15))) are attempts to alter the SQL logic so that the delay happens when the injection succeeds.
  • The -- at the end comments out the rest of the SQL statement, so the attacker can control the rest of the query.

Why this matters for exams and defense:

  • It demonstrates time-based blind SQL injection, a common vulnerability when user input is unsafely concatenated into SQL.
  • The goal in defense is to ensure user input never affects SQL syntax or logic, so attackers cannot trigger such delays or infer data.

Defensive best practices:

  • Use parameterized queries / prepared statements (do not concatenate user input into SQL).
    • Example (conceptual, language-agnostic): query("SELECT * FROM users WHERE username = ? AND password = ?", [username, password])
  • Validate and sanitize inputs, preferably with allow-lists (whitelisting) for fields like usernames, IDs, etc.
  • Use least privilege for the database user (no rights to run dangerous functions like pg_sleep, if possible) and separate read/write roles.
  • Disable or restrict dangerous functions and features that can be misused (e.g., pg_sleep) if not needed.
  • Enable good logging and monitoring to detect unusual delays or modified queries.
  • Use a web application firewall (WAF) and regular security testing in a safe, authorized environment (pen-testing in scope, with permission).

If you’re studying for an exam and want to practice safely, I can:

  • Explain how to recognize a vulnerability in a code snippet.
  • Show safe coding patterns that prevent SQL injection.
  • Provide a small, safe lab setup plan to test defenses (without real exploitation) in a controlled environment.