**环境:**http://62.234.56.138:8080/server_databases.php

官网下载phpmyadmin 4.8.1

源码:index.php文件中

函数含义:

  • targer非空
  • targer是否位字符串
  • 不能以index为开头,即过滤了index
  • 值不能出现在blacklist内,即黑名单
  • Core类的checkPageValidity方法判断(菜鸡扣jio)

前两个不重要,第三个条件:
全局搜索:

说明过滤了 ‘import.php’, ‘export.php’ 两个字符串

第四个条件:
代码在libraries\classes\Core.php 443-476行

含义:
checkPageValidity函数里又是五个判断:

1、$ whitelist为空则引用静态声明的$goto_whitelist

2、如果$ page没有被定义过或者$page不为字符串则return false

3、$ page存在$whitelist中的某个值则返回true

4、$ _page存在$whitelist中的某个值则返回true

5、经过urldecode函数解码后的$ _page存在$whitelist中的某个值则返回true

绕过:
所以传入二次编码后的内容,会让checkPageValidity()这个函数返回true,但index中实际包含的内容却不是白名单中的文件
例如传入
?target=db_datadict.php%253f
由于服务器会自动解码一次,所以在checkPageValidity()中,$ page的值一开始会是db_datadict.php%3f,又一次url解码后变成了db_datadict.php?,这次便符合了?前内容在白名单的要求,函数返回true
但在index.php中$_REQUEST[‘target’]仍然是db_datadict.php%3f,而且会被include,通过目录穿越,就可造成任意文件包含

即:缺陷在urldecode() 我们可以利用这个函数绕过白名单检测,只要把 ? 两次url编码为 %253f 即可绕过验证

漏洞复现:
执行:SELECT ‘<?php phpinfo()?>’;

查看cookie:
查看自己的sessionid(cookie中phpMyAdmin的值)

访问:http://192.168.20.128:8080/?target=db_sql.php%253f/…/…/…/…/…/…/…/…/tmp/sess_7350253b89aa88dbbfda47e4307c64a2

就可以看到session文件啦

找到安装目录

【CVE-2018-12613】phpmyadmin 4.8.1 远程文件包含漏洞复现相关推荐

  1. 18.phpmyadmin 4.8.1 远程文件包含漏洞(CVE-2018-12613)

    phpmyadmin 4.8.1 远程文件包含漏洞(CVE-2018-12613) phpMyAdmin是一套开源的.基于Web的MySQL数据库管理工具.其index.php中存在一处文件包含逻辑, ...

  2. test.php.bak,记一次phpmyadmin 4.8.1 远程文件包含漏洞(BUUCTF web)

    题目很简单,一个滑稽 打开源码,发现存在source.php文件 于是访问文件,发现出现一串php源码 提示存在hint.php,于是访问发现一句话 flag not here, and flag i ...

  3. index.php.bak 颓废_18.phpmyadmin 4.8.1 远程文件包含漏洞(CVE-2018-12613)

    phpmyadmin 4.8.1 远程文件包含漏洞(CVE-2018-12613) phpMyAdmin是一套开源的.基于Web的MySQL数据库管理工具.其index.php中存在一处文件包含逻辑, ...

  4. index.php.bak 颓废_CVE-2018-12613-phpmyadmin4.8.1远程文件包含漏洞复现

    CVE-2018-12613-phpmyadmin4.8.1远程文件包含漏洞复现 By:Mirror王宇阳 漏洞原理 攻击者利用发现在服务器上包含(查看和潜在执行)文件的漏洞.该漏洞来自一部分代码,其 ...

  5. phpmyadmin 4.8.1 Remote File Inclusion(CVE-2018-12613)远程文件包含漏洞复现

    漏洞描述 ​ 攻击者利用发现在服务器上包含(查看和潜在执行)文件的漏洞.该漏洞来自一部分代码,其中页面在phpMyAdmin中被重定向和加载,以及对白名单页面进行不正确的测试. 攻击者必须经过身份验证 ...

  6. 远程文件包含 php,php本地及远程文件包含漏洞

    在php程序中包含有file inclusion的时候,php要开启一下两个功能: allow_url_fopen on allow_url_include on 但是开启这两个功能之后伴随的是url ...

  7. phpMyAdmin 4.8.1 远程文件包含 CVE-2018-12613 漏洞复现

    phpMyAdmin 4.8.1 远程文件包含 CVE-2018-12613 漏洞复现 一.漏洞描述 二.漏洞影响 三.漏洞复现 1.环境搭建 2.漏洞复现 方法一:命令执行 方法二:phpMyAdm ...

  8. mysql 多字节编码漏洞_phpmyadmin 4.8.1 远程文件包含漏洞(CVE-2018-12613)

    漏洞详情 范围 phpMyAdmin 4.8.0和4.8.1 原理 首先在index.php 50-63行代码 $target_blacklist = array ( 'import.php', 'e ...

  9. 文件上传漏洞之——远程文件包含漏洞(RFI)

    定义 如果php.ini的配置选项allow_url_include为On的话,文件包含函数是可以加载远程文件的,这种漏洞被称为远程文件包含漏洞.利用远程文件包含漏洞,可以直接执行任意命令 原理 同本 ...

最新文章

  1. 不用GPU,稀疏化也能加速你的YOLOv3深度学习模型
  2. mysql 5.7.16默认密码_(转)Ubuntu16安装mysql5.7未提示输入密码,安装后修改mysql默认密码...
  3. OpenCV学习(19) 细化算法(7)
  4. python local global_python global与nonlocal关键字
  5. linux(centos)下mysql忘记root密码
  6. app 隔几秒记录当前经纬度位置_uni-app获取位置经纬度并定位到当前位置
  7. 机场精细化管理_宇视科技智慧机坪解决方案助力机场实现精细化管理
  8. C++学习之路 | PTA乙级—— 1047 编程团体赛 (20 分)(精简)
  9. 汇编语言的简答入门--斐波那契数列(递归)
  10. ym—— Android网络框架Volley(终极篇)
  11. 程序员问答网站:StackOverflow
  12. uitextfield长按显示英文select all,copy,paste?
  13. ceres-solver库编译说明
  14. cnm的下载频道,再c一次。
  15. html5 移动端上传图片插件,H5文件上传插件easyUpload.js
  16. Lucas-Kanade稀疏光流法
  17. wyh2000 and pupil
  18. Springboot中使用freemarker动态生成word文档
  19. HIOKI日置RM3545电阻计/电阻表
  20. 好用速度又快,多御安全浏览器下载安装教程

热门文章

  1. 企业实战_02_MyCat基本元素
  2. ETL异构数据源Datax_使用querySql_08
  3. c 最大子序列和_最大连续子序列
  4. ios安装python的步骤_如何利用 Python 爬虫实现给微信群发新闻早报?(详细)
  5. qt样式表中背景图片的使用
  6. 档案盒正面标签制作_错题本科学制作方法、正确使用方式及窍门
  7. python数据算法有哪些_python算法与数据结构-常用查找算法一(37)
  8. 2019计算机组成原理及答案,2019计算机组成原理复习题(一)
  9. linux开发板 pc 通讯_从51单片机到Linux 开发板运行hello world(教程4)
  10. 遥感原理与应用孙家炳_2.2遥感应用模型