【CVE-2018-12613】phpmyadmin 4.8.1 远程文件包含漏洞复现
**环境:**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 远程文件包含漏洞复现相关推荐
- 18.phpmyadmin 4.8.1 远程文件包含漏洞(CVE-2018-12613)
phpmyadmin 4.8.1 远程文件包含漏洞(CVE-2018-12613) phpMyAdmin是一套开源的.基于Web的MySQL数据库管理工具.其index.php中存在一处文件包含逻辑, ...
- test.php.bak,记一次phpmyadmin 4.8.1 远程文件包含漏洞(BUUCTF web)
题目很简单,一个滑稽 打开源码,发现存在source.php文件 于是访问文件,发现出现一串php源码 提示存在hint.php,于是访问发现一句话 flag not here, and flag i ...
- index.php.bak 颓废_18.phpmyadmin 4.8.1 远程文件包含漏洞(CVE-2018-12613)
phpmyadmin 4.8.1 远程文件包含漏洞(CVE-2018-12613) phpMyAdmin是一套开源的.基于Web的MySQL数据库管理工具.其index.php中存在一处文件包含逻辑, ...
- index.php.bak 颓废_CVE-2018-12613-phpmyadmin4.8.1远程文件包含漏洞复现
CVE-2018-12613-phpmyadmin4.8.1远程文件包含漏洞复现 By:Mirror王宇阳 漏洞原理 攻击者利用发现在服务器上包含(查看和潜在执行)文件的漏洞.该漏洞来自一部分代码,其 ...
- phpmyadmin 4.8.1 Remote File Inclusion(CVE-2018-12613)远程文件包含漏洞复现
漏洞描述 攻击者利用发现在服务器上包含(查看和潜在执行)文件的漏洞.该漏洞来自一部分代码,其中页面在phpMyAdmin中被重定向和加载,以及对白名单页面进行不正确的测试. 攻击者必须经过身份验证 ...
- 远程文件包含 php,php本地及远程文件包含漏洞
在php程序中包含有file inclusion的时候,php要开启一下两个功能: allow_url_fopen on allow_url_include on 但是开启这两个功能之后伴随的是url ...
- phpMyAdmin 4.8.1 远程文件包含 CVE-2018-12613 漏洞复现
phpMyAdmin 4.8.1 远程文件包含 CVE-2018-12613 漏洞复现 一.漏洞描述 二.漏洞影响 三.漏洞复现 1.环境搭建 2.漏洞复现 方法一:命令执行 方法二:phpMyAdm ...
- 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 ...
- 文件上传漏洞之——远程文件包含漏洞(RFI)
定义 如果php.ini的配置选项allow_url_include为On的话,文件包含函数是可以加载远程文件的,这种漏洞被称为远程文件包含漏洞.利用远程文件包含漏洞,可以直接执行任意命令 原理 同本 ...
最新文章
- 不用GPU,稀疏化也能加速你的YOLOv3深度学习模型
- mysql 5.7.16默认密码_(转)Ubuntu16安装mysql5.7未提示输入密码,安装后修改mysql默认密码...
- OpenCV学习(19) 细化算法(7)
- python local global_python global与nonlocal关键字
- linux(centos)下mysql忘记root密码
- app 隔几秒记录当前经纬度位置_uni-app获取位置经纬度并定位到当前位置
- 机场精细化管理_宇视科技智慧机坪解决方案助力机场实现精细化管理
- C++学习之路 | PTA乙级—— 1047 编程团体赛 (20 分)(精简)
- 汇编语言的简答入门--斐波那契数列(递归)
- ym—— Android网络框架Volley(终极篇)
- 程序员问答网站:StackOverflow
- uitextfield长按显示英文select all,copy,paste?
- ceres-solver库编译说明
- cnm的下载频道,再c一次。
- html5 移动端上传图片插件,H5文件上传插件easyUpload.js
- Lucas-Kanade稀疏光流法
- wyh2000 and pupil
- Springboot中使用freemarker动态生成word文档
- HIOKI日置RM3545电阻计/电阻表
- 好用速度又快,多御安全浏览器下载安装教程
热门文章
- 企业实战_02_MyCat基本元素
- ETL异构数据源Datax_使用querySql_08
- c 最大子序列和_最大连续子序列
- ios安装python的步骤_如何利用 Python 爬虫实现给微信群发新闻早报?(详细)
- qt样式表中背景图片的使用
- 档案盒正面标签制作_错题本科学制作方法、正确使用方式及窍门
- python数据算法有哪些_python算法与数据结构-常用查找算法一(37)
- 2019计算机组成原理及答案,2019计算机组成原理复习题(一)
- linux开发板 pc 通讯_从51单片机到Linux 开发板运行hello world(教程4)
- 遥感原理与应用孙家炳_2.2遥感应用模型