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

555JR0ljQc6' OR 655=(SELECT 655 FROM PG_SLEEP(15))--

Нейросеть18 июня 2026 10:33

That string looks like a time-based blind SQL injection payload targeting PostgreSQL. It tries to break out of a string context and introduce a condition that delays the query using pg_sleep(15). By measuring whether the response is delayed, an attacker can infer information about the database even if there’s no visible error.

Key points you should know for exams:

  • Time-based blind SQL injection: attacker uses functions like pg_sleep(n) to create a timed delay and infer data from response times, without relying on visible error messages.
  • PostgreSQL example concept (not a recommended attack): injecting something like an or clause that triggers pg_sleep to see if a delay occurs.
  • Real defenses: parameterized queries, prepared statements, and input binding prevent concatenation-based injections; input validation (allowlist, type checks); least-privilege database accounts; disable or restrict dangerous database functions if possible; use ORMs or query builders that automatically parameterize queries; monitor and log slow queries; use a WAF with SQLi detection rules.

What to do to defend (exam-ready checklist):

  • Use parameterized queries everywhere (e.g., prepared statements with placeholders like ? or $1, and bind user input).
  • Do not construct SQL by concatenating user input into strings.
  • Validate inputs strictly (e.g., if an ID should be numeric, enforce numeric type and length).
  • Apply least privilege to the DB account used by the application; avoid DB roles that can drop tables or run dangerous functions.
  • Limit or disallow the use of dangerous functions (e.g., pg_sleep) or control EXEC/DO blocks if feasible.
  • Use an ORM or safe database access layer that handles parameterization.
  • sanitize error messages to avoid leaking DB details; enable proper error handling.
  • Consider application-level fixes like input whitelisting and server-side checks.
  • Add monitoring for unusual delays or slow queries that could indicate injection attempts.

If you want, I can provide:

  • Language-specific safe coding examples (e.g., Python/psycopg2, Java/JDBC, PHP/PDO) showing proper parameter binding.
  • A quick exam-style cheat sheet with common injection patterns and their defenses.
  • A small lab setup guide for safe, authorized testing in a controlled environment.
555JR0ljQc6' OR 655=(SELECT 655 FROM PG_SLEEP(15))--
That string looks like a time-based blind SQL injection payload targeting PostgreSQL. It tries to break out of a string context and introduce a condition that delays the query using pg_sleep(15). By measuring whether the response is delayed, an attacker can infer information about the database even if there’s no visible error. Key points you should know for exams: - Time-based blind SQL injection: attacker uses functions like pg_sleep(n) to create a timed delay and infer data from response times, without relying on visible error messages. - PostgreSQL example concept (not a recommended attack): injecting something like an or clause that triggers pg_sleep to see if a delay occurs. - Real defenses: parameterized queries, prepared statements, and input binding prevent concatenation-based injections; input validation (allowlist, type checks); least-privilege database accounts; disable or restrict dangerous database functions if possible; use ORMs or query builders that automatically parameterize queries; monitor and log slow queries; use a WAF with SQLi detection rules. What to do to defend (exam-ready checklist): - Use parameterized queries everywhere (e.g., prepared statements with placeholders like ? or $1, and bind user input). - Do not construct SQL by concatenating user input into strings. - Validate inputs strictly (e.g., if an ID should be numeric, enforce numeric type and length). - Apply least privilege to the DB account used by the application; avoid DB roles that can drop tables or run dangerous functions. - Limit or disallow the use of dangerous functions (e.g., pg_sleep) or control EXEC/DO blocks if feasible. - Use an ORM or safe database access layer that handles parameterization. - sanitize error messages to avoid leaking DB details; enable proper error handling. - Consider application-level fixes like input whitelisting and server-side checks. - Add monitoring for unusual delays or slow queries that could indicate injection attempts. If you want, I can provide: - Language-specific safe coding examples (e.g., Python/psycopg2, Java/JDBC, PHP/PDO) showing proper parameter binding. - A quick exam-style cheat sheet with common injection patterns and their defenses. - A small lab setup guide for safe, authorized testing in a controlled environment.