sql >> Databáze >  >> RDS >> Oracle

Oracle SQL Injection Block s DBMS_ASSERT

query_string := 'SELECT '||dbms_assert.qualified_sql_name(trim(from_schema||'.'||from_table||'.'||return_field))|| 
                   ' FROM '||dbms_assert.schema_name(trim(from_schema))||
                        '.'||dbms_assert.sql_object_name(trim(from_table))||  
                  ' WHERE '||dbms_assert.qualified_sql_name(from_schema||'.'||from_table||'.'||key_field) || ' = '||key_value;



 EXECUTE IMMEDIATE query_string into return_result;

Z Dokumentů..

  • ENQUOTE_LITERAL – Encituje řetězcový literál
  • ENQUOTE_NAME – Uzavře jméno do dvojitých uvozovek
  • NEOP – Vrátí hodnotu bez jakékoli kontroly
  • QUALIFIED_SQL_NAME – Ověřuje, že vstupní řetězec je kvalifikovaný název SQL
  • SCHEMA_NAME – Funkce Ověřuje, že vstupní řetězec je existující název schématu
  • SIMPLE_SQL_NAME – Ověřuje, že vstupní řetězec je jednoduchý název SQL
  • SQL_OBJECT_NAME – Ověřuje, že řetězec vstupního parametru je kvalifikovaným identifikátorem SQL existujícího objektu SQL



  1. Funkce BIN_TO_NUM() v Oracle

  2. Funkce STRING_AGG() v PostgreSQL

  3. Jak mohu načíst seznam parametrů z uložené procedury na serveru SQL Server

  4. Nové standardní velikosti vrstev Azure SQL Database