PGSql注入tips

1 篇文章 0 订阅

1、

postgresql支持堆叠查询,所以可以加入分号之后执行下一条语句,所以在注入的时候可以用 

select * from a where b='注入点';select pg_sleep(10);-- 

这样会有10秒的延迟,可以利用这点去盲注PostgreSQL

2、

php pdo 支持exec()、query()、execute()执行函数。

其中exec可执行多条语句并返回影响行数;

query只能执行一条语句并返回结果集,使用遍历读取结果集内容;

$res=$dbo->query($sql);
foreach($res as $a){
var_dump($a);
}

如果插入多条语句,在general-log日志中会出现如下报错:

<2018-09-19 14:06:33 CST><[未知]>错误:  无法插入多条命令到一个准备好的语句中
<2018-09-19 14:06:33 CST><[未知]>语句:  select * from tb;select version();

3、

数据库general-log日志:

数据库日志

general-log是记录所有的操作日志,不过他会耗费数据库5%-10%的性能,所以一般没什么特别需要,大多数情况是不开的,当sql审计和代码审计等,就可以打开来使用了 ,方便查看日志,寻找注入点和出错信息。
Mysql通过命令行的方式打开general log:

set global general_log_file='';
set global general_log=on;

Postgresql 通过编辑配置文件打开general log:

编辑:postgresql.conf

log_directory = 'pg_log'                    
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_statement = 'all'
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值