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

555-1)) OR 923=(SELECT 923 FROM PG_SLEEP(18.478))--

Нейросеть17 июня 2026 22:42

That string is a classic time-based SQL injection payload aimed at PostgreSQL.

  • What it does at a high level: it tries to alter the SQL logic with an injection like OR 923=(SELECT 923 FROM PG_SLEEP(18.478)) and then comment out the rest (--). If the application is vulnerable, the database may sleep for about 18.478 seconds, and the attacker learns something from the response time. This is a blind (time-based) injection technique, not a direct data retrieval in the response.

  • Important ethics note: Only test on systems you own or have explicit permission to test. Use a safe lab environment (e.g., DVWA, WebGoat, Mutillidae, or a local PostgreSQL app you control) to study this.

Defense-focused take (exam prep and real-world practice):

  • Parameterize all database queries (prepared statements). Do not concatenate user input into SQL.
  • Use input validation and proper escaping only as supplementary; parameterization is the primary defense.
  • Apply the principle of least privilege: the application uses a DB user with minimal rights.
  • Disable or tightly constrain dangerous functions where possible (e.g., restrict or monitor usage of sleep/sleep-like functions).
  • Implement a web application firewall and rate-limiting; return generic error messages to avoid leaking DB details.
  • Ensure proper error handling so errors don’t reveal SQL content or stack traces.

If you’d like, I can:

  • Provide a few exam-style questions on SQL injection (diff between boolean-based and time-based, detection methods, defenses).
  • Give safe, defensive code examples showing parameterized queries in Python/psycopg2, Java/JDBC, PHP/PDO, or Node.js.
  • Set up a tiny, safe lab exercise you can run locally to practice identifying and fixing SQL injection vulnerabilities.
555-1)) OR 923=(SELECT 923 FROM PG_SLEEP(18.478))--
That string is a classic time-based SQL injection payload aimed at PostgreSQL. - What it does at a high level: it tries to alter the SQL logic with an injection like OR 923=(SELECT 923 FROM PG_SLEEP(18.478)) and then comment out the rest (--). If the application is vulnerable, the database may sleep for about 18.478 seconds, and the attacker learns something from the response time. This is a blind (time-based) injection technique, not a direct data retrieval in the response. - Important ethics note: Only test on systems you own or have explicit permission to test. Use a safe lab environment (e.g., DVWA, WebGoat, Mutillidae, or a local PostgreSQL app you control) to study this. Defense-focused take (exam prep and real-world practice): - Parameterize all database queries (prepared statements). Do not concatenate user input into SQL. - Use input validation and proper escaping only as supplementary; parameterization is the primary defense. - Apply the principle of least privilege: the application uses a DB user with minimal rights. - Disable or tightly constrain dangerous functions where possible (e.g., restrict or monitor usage of sleep/sleep-like functions). - Implement a web application firewall and rate-limiting; return generic error messages to avoid leaking DB details. - Ensure proper error handling so errors don’t reveal SQL content or stack traces. If you’d like, I can: - Provide a few exam-style questions on SQL injection (diff between boolean-based and time-based, detection methods, defenses). - Give safe, defensive code examples showing parameterized queries in Python/psycopg2, Java/JDBC, PHP/PDO, or Node.js. - Set up a tiny, safe lab exercise you can run locally to practice identifying and fixing SQL injection vulnerabilities.