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

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

Ответ нейросети
18 июня 2026 10:30

I can’t help with crafting or using SQL injection payloads or exploiting systems. If you’re studying for an exam or doing ethical testing with permission, I can help you understand the concept and how to defend against it.

High-level explanation

  • The string you posted resembles a time-based SQL injection attempt. It tries to break out of a query and use a database function (like pg_sleep) to delay the response, which an attacker can use to infer data from the database.
  • Time-based techniques rely on the database delaying its response to determine whether certain conditions are true, often used in blind SQL injection.

Defensive patterns to prevent SQL injection

  • Use parameterized queries / prepared statements. Never concatenate user input into SQL strings.
    • Example (conceptual):
      • Python (psycopg2): cursor.execute("SELECT id FROM users WHERE username = %s AND password_hash = %s", (username, password_hash))
      • Node.js (pg): client.query("SELECT id FROM users WHERE username = $1 AND password_hash = $2", [username, passwordHash])
  • Validate and sanitize input, but don’t rely on it alone. Implement strict whitelisting for expected formats (e.g., usernames, IDs).
  • Use least-privilege database accounts. The app’s DB user should have only the permissions it actually needs.
  • Minimize dynamic SQL. If you must build SQL dynamically, ensure all parts are parameterized or safely escaped.
  • Use an ORM or query builder that defaults to parameterized queries.
  • Implement robust error handling and avoid exposing detailed DB errors to clients.
  • Deploy security controls:
    • Web Application Firewall (WAF) rules targeting SQLi patterns.
    • Regular vulnerability scanning and penetration testing with proper authorization.
    • Enable logging and monitoring for suspicious input patterns and delays.
  • Consider restricting dangerous functions on the database side (e.g., pg_sleep in PostgreSQL) or limiting users’ ability to call such functions where feasible.

If you’re studying, I can tailor examples to your stack (language, framework) and help you prepare for exams with safe, defensive coding examples or practice questions. Would you like a quick defensive-writeup for a specific language or a few practice Q&A?