注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

溪亭残月的博客

I want bring you into my heart !!

 
 
 

日志

 
 

php+mysql注入点滴(安检西安XX大学)   

2009-02-20 23:05:25|  分类: 入侵检测 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

作者:樱花浪子[I.S.T]

来源:http://www.hacklu.net

申明:转载请注名版权,此文版权归1st和樱花浪子所有. !

最近看见不少高手们对各个大学做安全检测,我也来凑下热闹,对西安xx大学做了一次测试。首先打开主站看了一下,网站地址为:http://www.xxx.xxx.cn,发现主站用的是php还有HTML的面页,主站上还连着几个分站,正好最近在学php注入,正好可以研究一下啦。一般php构建的系统,后台数据库对应的是Mysql。这个我们一会可以测试。由于php默认将传递的参数中的“ ’”等字符做了转换,所以对于字符类型的变量默认情况下是很难注入的。那么怎么能快速找到数字类型的变量呢?把GOOGLE请出来,在上面打上php?id= site:xxx.edu.cn这样我们会从分站获得很多php?id=xx 这样的连接,如图1;

   我们随便找个php?id=xx这样的连接进行测试一下,我这里选择的是:http://xxx.xxxx.edu.cn/show.php?id=22。在后面分别加上 and 1=1和and 1=2分别返加了正常页面和错误提示,还暴出路径,如图2和图3所示:

  这说明我们提交的and 1=1和and 1=2都被当作SQL语句执行啦,既然这个可以执行,那么其他的语句也应该可以执行的。先确认一下是不是MYSQL数据库,在URL后面提交/*樱花浪子、返回正常。如图4;

   可以确认是MYSQL的,因为基本上支持/*注释都是MYSQL数据库。下面我们看看可不可以union查询。提交and ord(mid(version(),1,1))>51/* 这句的意思是查看数据库是不是大于3.0的。ASCIl码51对应的是3,那么大于3的话当然就是4.0以上的。4.0以上支持union查询的,结果返回正常。如图5;

    既然支持union查询那么就好办啦,下面我们看有没有ROOT权限。提交and (select count(*) from mysql.user)>0/*结果返回错误,如图6所示,

     看来不是ROOT权限,对方MYSQL数据库没有读取权限。既然不是ROOT也没有关系。既然支持union查询我们来暴字段数,提交order by 10/*,结果返回正常。看来是大于10个字段的,继续提交order by 20/* 返回错误,小于20个字段,提交提交order by 15/* 正常。大于15个字段,提交提交order by 16/*、正常。order by 17/*正常。当提交order by 18/*的时候返回错误。看来是17个字段。继续提交and 1=2 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17/*,在页面暴出了数字,如图7:

    呵呵,在暴出的数字上加上user()和version()。继续提交and 1=2 union select 1,user(),version(),4,5,6,7,8,9,10,11,12,13,14,15,16,17/*,暴出用户名和版本号,下面开始找后台吧,很多时候暴出用户名和密码却连后台也找不到,这里还是用GOOGLE找后台,有的时候工具找不到后台用GOOGLE就可以找到。在GOOGLE打上“后台登录 site:xxxx.edu.cn”出来很多,但好象都是其他分站的,我回到站点根目录加个admin,没想到后台就出来啦,看来不用麻烦GOOGLE啦。在后台查看源文件发现登录表单是:username和password,如图8;这样我们可以推断一下对方管理员表中的表名有可能是user或admin之类的。

         继续提交and 1=2 union select 1,user(),version(),4,5,6,7,8,9,10,11,12,13,14,15,16,17 from user/*返回错误,说明不存在user这个表,接着提交:and 1=2 union select 1,user(),version(),4,5,6,7,8,9,10,11,12,13,14,15,16,17 from admin/*,看看有没有admin这个表,结果返回正常,看来存在这个表。很可能这个就是管理员的表呀,呵呵,下面猜列名。先看看有没有username和password这两个,提交:and 1=2 union select 1,password,username,4,5,6,7,8,9,10,11,12,13,14,15,16,17 from admin/*,分别在页面2和3的地方显示出用户名和密码,看来运气挺不错的。呵呵!拿着用户名和密码激动的登录后台,后台挺简单的。在发布信息里发现有个上传文件,找了个小鱼的PHP木马试一下,提示文件格式不对。在上传路径后面加个空格没想到居然成功啦。如图9;

        回到前台找个有图片的地方,查一下属性地址为http://xq.xxx.xxx.cn/uppic/20060427145859.jpg,那们推想一下我们的木马路径应该为http://xq.xxx.xxx.cn/uppic/20060515114910.php。访问一下,进去啦,如图10;

进去之后发现目录没有做任何限制,c.d.e盘都可以访问。而且在config里找到连接数据库的密码。但不可以执行命令,做为脚本测试,我也没有继续渗透下去,只是和管理员联系一下。也希望大家在入侵后能即时通知管理员,就不要改什么首页啦!本次测试也到此结束。

   总结:本文总的来说没有什么技术含量,希望能给刚接触php注入的菜菜们带来帮助。也希望菜菜们遇到困难能先自己解决一下,黑客界有句名言,GOOGLE是最好的老师。不会用GOOGLE的菜鸟不是合格的菜鸟。欢迎大家到非安全的论坛或I.S.T的论坛和我交流,我的ID是樱花浪子。

注:因本人是个菜鸟,技术水平有限,所以写出来的文章也比较菜。文章中有许多不足之处,还望高手指正。本文已发表于黑客手册第七期,任何人转载请标明作者和出处.

  评论这张
 
阅读(24)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017