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

555'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15.758)||'

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

That looks like an Oracle SQL injection payload that targets the DBMS_PIPE package.

What it does (high level)

  • The string starts with 555' which is likely closing an existing string literal in a vulnerable query (e.g., ... WHERE something = '... 555').
  • It then concatenates (||) the result of a call to DBMS_PIPE.RECEIVE_MESSAGE with CHR(98)||CHR(98)||CHR(98) as the pipe name. CHR(98) is the character 'b', so that builds the string 'bbb' — a pipe named "bbb".
  • The second argument 15.758 is a timeout in seconds for the pipe receive operation.
  • After that, it concatenates another literal to close the injected expression.

Putting it together, the payload tries to inject a call to DBMS_PIPE.RECEIVE_MESSAGE('bbb', 15.758) into the SQL. If the application is vulnerable and the injection is evaluated as part of the query, the database will try to read a message from the pipe named "bbb" (with a 15.758-second wait) and return that content as part of the query result due to the string concatenation.

Why this matters

  • DBMS_PIPE is a feature for inter-process communication in Oracle. If an attacker can cause your app to call DBMS_PIPE.RECEIVE_MESSAGE, they can potentially:
    • Read data that the attacker has placed on that pipe, or
    • Introduce delays (timing aspects) to infer information (a form of blind exfiltration or timing attack) or to cause the application to leak data through the output.

How to defend (high-level)

  • Use parameterized queries and bind variables; avoid building SQL with string concatenation from user input.
  • Do not expose dynamic SQL paths that incorporate raw input into SQL strings.
  • Restrict or remove unnecessary privileges:
    • Limit EXECUTE privilege on DBMS_PIPE for non-database-administrator roles.
    • Disable or drop the package if it isn’t needed, or implement strict access controls.
  • Enable robust input validation and output encoding in your application.
  • Monitor and audit for suspicious DBMS_PIPE activity and unusual concatenations in queries.
  • Consider web/app firewalls or database activity monitoring that detects attempts to invoke DBMS_PIPE from user input.

If you’d like, I can:

  • Break down the exact Oracle syntax pieces more precisely.
  • Show a safe, sanitized example of how such an injection might appear in a vulnerable query (without enabling misuse).
  • Discuss other common Oracle SQL injection techniques and their defenses.