服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

黑客攻击? 如何附加一个文件名允许访问网站上的数据…看到例子

访问以下所有内容会将您转到login屏幕: http://mysite.com/admin/configuration.php http://mysite.com/admin/login.php 但是,如果您访问(请注意URLstring的最后两部分都是.php): http://mysite.com/admin/configuration.php/login.php 您可以看到configuration屏幕及其所有数据! 此外,如果你附加一些GETvariables,你甚至可以得到可编辑的字段: http://mysite.com/admin/configuration.php/login.php?cID=1&action=edit 这里发生了什么? 我应该注意,这是在网站上使用一个绝对可怕的购物车叫做oscommerce。 代码是一个噩梦来处理,但我现在坚持下去。 编辑 基于下面的vstm的出色和准确的评论的修复: 这将会在检查前看到$current_page != FILENAME_LOGIN (在/admin/includes/application_top.php的第141-143行左右)。 请注意,这只是一个紧急补丁,因为真正的解决scheme是永远不要使用oscommerce,因为它和妓女的腰带一样安全。 //$current_page = basename($PHP_SELF); //this is the default $current_page = basename($_SERVER['SCRIPT_NAME']); //change that default to this if ( ($current_page == FILENAME_LOGIN) && !tep_session_is_registered('redirect_origin') ) { $current_page = FILENAME_DEFAULT; $HTTP_GET_VARS = array(); } 如果有人试图这样做,不要忘记, redirect_origin会话var可能已经被设置,所以这似乎不起作用。 只需取消设置,然后重试。