网站大量收购闲置独家精品文档,联系QQ:2885784924

postgresql注常见问题入小结.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
postgresql注常见问题入小结

日本是一个多么让人联想翩翩浮想连连的词语,为啥我们要搞日本的大学捏?原因很简单,我们都爱日本妹子 国外的网站也不是坚不可摧,看完本系列文章你会发现,什么高深黑客技术,什么日本名牌大学的网站,也不过如此。都是五分钟从前台到服务器的货。 日本大学入侵系列篇章: 1) 《系列1之日本京都同志社大学 - php注入点写webshell,linux最简单提权》 2) 《系列2之日本共立女子大学 - 解决PostgreSQL连接问题完成脱众女子内裤》 3) 《系列3之日本东京大学 - PostgreSQL注入常见问题总结》 作者:YoCo Smart 来自:Silic Group Hacker Army 本文基于《PostgreSQL注入语法指南》而写,首先我们先来总结常见问题,常见问题有这样几个 如何判断数据库使用了PostgreSQL数据库,字段数和字段间编码问题,GPC为on时的字符型字段问题,注释符问题。我们一个一个讲 1) 如何判断php搭配数据库为PostgreSQL 我们假设一个php+PostgreSQL并且开启了错误回显的网站有一个注入点,我们在xx.php?id=n后面加单引号,它的回显将会是这样的: Warning: pg_query() [function.pg-query]: Query failed: ERROR: unterminated quoted string at or near LINE 1: select * from now where no = 111 ^ in /home/sites/web/school/detail.php on line 307 有这样几个关键字可以判断数据库为PostgreSQL: 操作PostgreSQL的函数pg_query() 关键字function.pg-query中的pg 看熟了MySQL的错误回显,有没有发现这个unterminated quoted string at or near不是MySQL的?MySQL的错误回显和这个区别太大了 2) 字段数和字段间编码问题 我们首先将上面的注入点order by 2可以确认now数据表的字段数大于2,当我们order by 2000的时候,显然不可能有那个表段中有2000条数据,当然会出错 Warning:pg_query() [function.pg-query]: Query failed: ERROR: ORDER BY position 2000 is not in select list in /home/sites/web/school/detail.php on line 307 这样大致可以确认可以猜出正确的字段数了。假设字段数为14,那么我们按照MySQL的步骤 xx.php?id=0+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14 复制代码 这句没问题吧?但是它99%概率会出问题了: Warning: pg_query() [function.pg-query]: Query failed: ERROR: UNION types character varying and integer cannot be matched in /home/sites/web/school/detail.php on line 307 这个回显是什么意思呢?问题很简单,union前后的字段数相同了,但是类型不同了。 这就像大家来找茬: Union前(程序原来的):SELECT 数字,文本,日期,数字,数字,时间,文本,数字,文,数,文,数,文,数 Union后(我们注入的):SELECT 数字,数字,数字,数字,数字,数字,数字,数字,数,数,数,数,数,数 复制代码 和我们要来找茬游戏差不多,我们要做的就是矫正字段与字段间的区别。 错误提示中没有提示这14个中,哪一个字段出问题了,我们要一次性让字段数对工整了恐怕有n的14次方种可能,怎么办呢? 很简单,先吧1,2,3,4.....13,14这些字段统统换成NULL,例如: xx.php?id=正确的id数字+and+1=1+union+select+null,null,null,null,null,null,null,null,null,null,null,null,null,null 复制代码 这样就会正确显示原来的新闻页面了 然后我们试着把null依次换成数字,依次替换一个,如果依然返回正确的新闻页面则保留数字并替换下一个,如果返回错误信息就重新换回null并继续替换下一个 这样我们就得到: Union前(程序原来的):SELECT 数字,文本,日期,数字,数字,时间,文本,数字,文,数,

文档评论(0)

shaoye348 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档