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

555H7Cirxux'; waitfor delay '0:0:15' --

Ответ нейросети
18 июня 2026 11:08

That string is a classic time-based SQL injection payload intended for Microsoft SQL Server.

What it does (high level):

  • It tries to terminate a string input with a single quote.
  • It injects a command like WAITFOR DELAY '0:0:15' to pause the database for 15 seconds.
  • The trailing -- comments out the rest of the original query.
  • If the application concatenates user input into SQL without proper controls, this can create a delay (and potentially expose data via timing or errors).

Key defenses (exam-ready talking points):

  • Use parameterized queries / prepared statements everywhere (avoid string concatenation to build SQL).
  • Do not rely on manual escaping; prefer proper binding of inputs.
  • Use least-privilege database accounts (no rights to run dynamic SQL or waitfor delays unless necessary).
  • Prefer stored procedures with parameters and avoid dynamic SQL.
  • Validate inputs (blacklist/whitelist where appropriate) and normalize data.
  • Use an ORM or query builder to reduce unsafe string assembly.
  • Implement proper error handling and avoid leaking database errors to users.
  • Deploy a Web Application Firewall (WAF) and run regular security testing (DAST/SAST); monitor for anomalous delays.
  • Set application-level timeouts to prevent long queries from hanging the application.

Examples of safe code (parameterized queries):

  • Python (sqlite3 example; adapt to your DB driver): import sqlite3 conn = sqlite3.connect('example.db') cur = conn.cursor() cur.execute("SELECT * FROM users WHERE id = ?", (user_input_id,)) rows = cur.fetchall()

  • C# (SQL Server, using parameters): using (var cmd = new SqlCommand("SELECT * FROM users WHERE username = @username", conn)) { cmd.Parameters.AddWithValue("@username", userInput); using (var reader = cmd.ExecuteReader()) { /* ... */ } }

If you want, tell me your target language or the exam topic (e.g., SQL injection, secure coding practices, or defense-in-depth), and I’ll tailor examples and explanations accordingly.