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

555-1 OR 841=(SELECT 841 FROM PG_SLEEP(19.786))--

Ответ нейросети
18 июня 2026 05:03

That looks like a time-based blind SQL injection payload for PostgreSQL. It’s designed to cause the database to sleep for a short time (19.786 seconds in this case) if a certain condition is true, letting an attacker infer information by measuring response time.

What the parts imply (in general terms)

  • 555-1: Likely part of an input being injected into a query.
  • OR: Logical operator to extend the condition.
  • (SELECT 841 FROM PG_SLEEP(19.786)): Uses PostgreSQL’s pg_sleep function to delay the query. If the surrounding condition is evaluated as true, the sleep occurs.
  • 841=...: A boolean comparison used to trigger the sleep.
  • --: Comment marker to ignore the rest of the original query, helping the attacker shape a valid syntax.

What this means in practice

  • It’s a form of time-based blind SQL injection. The attacker doesn’t need to read data directly from the database; they infer information from whether the query time increases.
  • If executed on a vulnerable application, it could reveal whether certain conditions about the data are true (e.g., whether a value exists, whether a digit matches, etc.) based on the delay.

Defenses (important for exams and real-world safety)

  • Use parameterized queries / prepared statements everywhere.
  • Validate and sanitize inputs, or better, avoid interpolating user input into SQL at all.
  • Use ORM query builders with proper binding.
  • Apply least privilege: the app user should have minimal permissions (e.g., no unnecessary function execution rights).
  • Disable or restrict dangerous functions where appropriate, or use a database firewall/WAF that detects SQL injection patterns.
  • Implement robust logging and anomaly detection to spot unusual delays and patterns.
  • Regular security testing in a controlled, consented environment (e.g., use DVWA/WebGoat or a local lab with PostgreSQL).

If you’re prepping for an exam, I can help with a safe, classroom-friendly example showing how a vulnerable pattern can be mitigated with parameterized queries, or walk through a high-level explanation of time-based blind SQL injection concepts. Would you like a short safe demonstration (pseudo-code) of how to defend against this kind of payload?