phpMyadmin(CVE-2018-12613)后台任意文件包含漏洞分析

前言

  影响版本:4.8.0——4.8.1

  本次复现使用4.8.1     点击下载

  复现平台为vulhub。此漏洞复现平台如何安装使用不在赘述。请自行百度。

漏洞复现

  

  漏洞环境启动成功。

  访问该漏洞地址:

    

  使用payload:

1
http://your-ip:8080/index.php?target=db_sql.php%253f/../../../../../../../../etc/passwd

  

  包含成功

漏洞分析

  漏洞产生点位于:index.php文件54—67行

  

  可以看到如果要包含文件成功,必需条件有5个:1、不为空  2、字符串  3、不以index开头  4、不在$target_blacklist这个黑名单中  5、Core::checkPageValidity()函数为TRUE

  首先查看$target_blacklist变量的值:

  然后进入条件5所述函数中。此函数位于:libraries\classes\Core.php文件443—476行:

  

  可以看到在第一次$_page出现时即可绕过。其含义为截取$page  第一个'?'之前的部分,如果在白名单中,即返回TRUE。接下来查看白名单的值:

  

  随便选中其中之一即可。此处选中 "tbl_sql.php" 。构造payload:/index.php?target=tbl_sql.php%3f/../../../../../../../../etc/passwd

  

  

  此段代码表示将 "?"经过二次编码也可。

 

 

  

 

posted @   Spec·  阅读(1789)  评论(1编辑  收藏  举报
编辑推荐:
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
· SQL Server如何跟踪自动统计信息更新?
· AI与.NET技术实操系列:使用Catalyst进行自然语言处理
阅读排行:
· dotnet 源代码生成器分析器入门
· 官方的 MCP C# SDK:csharp-sdk
· 一款 .NET 开源、功能强大的远程连接管理工具,支持 RDP、VNC、SSH 等多种主流协议!
· 一文搞懂MCP协议与Function Call的区别
· 一次Java后端服务间歇性响应慢的问题排查记录
点击右上角即可分享
微信分享提示