【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文件啦

找到安装目录
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/532618.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Systemd 入门教程:实战篇

Systemd 入门教程&#xff1a;实战篇 转自&#xff1a;https://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-part-two.html 作者&#xff1a; 阮一峰 日期&#xff1a; 2016年3月 8日 上一篇文章&#xff0c;我介绍了 Systemd 的主要命令&#xff0c;今天介绍如何使…

关于ubuntu自定义service服务时找不到/usr/lib/systemd/system目录的问题

关于ubuntu自定义service服务时找不到/usr/lib/systemd/system目录的问题 问题 我们知道在 systemd 取代了 init 而成为广大 Linux 系统中 PID 为1的守护进程之后&#xff0c;Linux 中的服务&#xff08;service&#xff09;主要有 systemd 命令组来实现。在大多数发行版 Lin…

攻防世界web2(逆向加密算法)

打开网页有如下代码&#xff1a; <?php $miwen"a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws";function encode($str){$_ostrrev($str);// echo $_o;for($_00;$_0<strlen($_o);$_0){$_csubstr($_o,$_0,1);$__ord($_c)1;$_cchr($__);$_$_.$…

ctags 基本使用方法

ctags 基本使用方法 简介 ctags&#xff08;Generate tag files for source code&#xff09;是vim下方便代码阅读的工具。尽管ctags也可以支持其它编辑器&#xff0c;但是它正式支持的只有 Vim。并且 Vim 中已经默认安装了 ctags&#xff0c;它可以帮助程序员很容易地浏览源…

vimrc配置文件

vimrc配置文件 转自&#xff1a;https://www.ruanyifeng.com/blog/2018/09/vimrc.html Vim 是最重要的编辑器之一&#xff0c;主要有下面几个优点。 可以不使用鼠标&#xff0c;完全用键盘操作。系统资源占用小&#xff0c;打开大文件毫无压力。键盘命令变成肌肉记忆以后&am…

CTFHUB 《请求方式》 http请求,curl命令总结

打开网页&#xff1a; 思路一&#xff1a; 根据题目&#xff0c;应该是向网页发送get方式请求&#xff0c;但并没有具体规定要发送什么&#xff0c;尝试get发送参数后&#xff0c;都没有返回网页&#xff0c;emmm’…好像不是我想的那种套路 思路二&#xff1a; 网上找到思路…

Vim进阶2 map映射

Vim进阶2 map映射 简介 map是一个 vim 中的一些列映射命令&#xff0c;将常用的很长的命令映射到一个新的功能键上。map是Vim强大的一个重要原因&#xff0c;可以自定义各种快捷键&#xff0c;用起来自然得心应手。 map系列命令格式 格式 以 map 命令为例&#xff0c;它的…

CTFHUB 《基础认证》:burp使用,basic请求了解

题目简介&#xff1a;在HTTP中&#xff0c;基本认证&#xff08;英语&#xff1a;Basic access authentication&#xff09;是允许http用户代理&#xff08;如&#xff1a;网页浏览器&#xff09;在请求时&#xff0c;提供 用户名 和 密码 的一种方式。详情请查看 https://zh.w…

信息量、熵、交叉熵、KL散度、JS散度杂谈及代码实现

信息量、熵、交叉熵、KL散度、JS散度杂谈及代码实现 信息量 任何事件都会承载着一定的信息量&#xff0c;包括已经发生的事件和未发生的事件&#xff0c;只是它们承载的信息量会有所不同。如昨天下雨这个已知事件&#xff0c;因为已经发生&#xff0c;既定事实&#xff0c;那…

CTFHUB《Web-信息泄露-备份文件下载》网站源码,

1.网站源码 三种方法&#xff1a; 方法一&#xff1a;dirsearch扫描git泄露 有文件下载 拿到flag 方法二&#xff1a;御剑&#xff08;超时10s&#xff09; 御剑其实也可以扫出来&#xff0c;但是一般我们扫域名超时时间都是三秒&#xff0c;本环境中需要超时10秒才能得到…

Linux下C/C++程序编译链接加载过程中的常见问题及解决方法

Linux下C/C程序编译链接加载过程中的常见问题及解决方法 1 头文件包含的问题 报错信息 该错误通常发生在编译时&#xff0c;常见报错信息如下&#xff1a; run.cpp:2:10: fatal error: dlpack/dlpack.h: No such file or directory#include <dlpack/dlpack.h>^~~~~~~…

DVWA Command Injection 练习总结

low: 首先查看源码没有对字符进行任何过滤 target参数为将要ping的ip地址&#xff0c;比如在输入框输入127.0.0.1后&#xff0c;对于windows系统&#xff0c;会发出ping 127.0.0.1操作。 这里可以引入命令行的几种操作方式&#xff1a; A && B&#xff1a; 先执行A…

在vimrc中设置record

在vimrc中设置record Vim的record功能在大量重复操作的场景下非常实用&#xff0c;但是&#xff0c;一般我们都要每次进入Vim时重新录制record。而对于一些非常常用的record&#xff0c;我们想让它永久地保持&#xff0c;我们知道这种需求需要借助Vim的配置文件vimrc。但是具体…

DVWA sql注入 WP

sql注入基本思路&#xff1a; 1.源码 2.判断数字型和字符型 3.猜测字段数 4.查询数据库中的字段 5.查询表中的字段 6.查询user表中的字段 7.拿字段中数据 low: 1.源码&#xff1a; <?phpif( isset( $_REQUEST[ Submit ] ) ) {// Get input$id $_REQUEST[ id ];// Check…

cmake find_package路径详解

cmake find_package路径详解 转自&#xff1a;https://zhuanlan.zhihu.com/p/50829542 经常在Linux下面写C程序&#xff0c;尤其是需要集成各种第三方库的工程&#xff0c;肯定对find_package指令不陌生。 这是条很强大的指令。可以直接帮我们解决整个工程的依赖问题&#x…

DVWA File Inclusion——Writeup

文件包含&#xff1a; 即File Inclusion&#xff0c;意思是文件包含&#xff08;漏洞&#xff09;&#xff0c;是指当服务器开启allow_url_include选项时&#xff0c;就可以通过php的某些特性函数&#xff08;include()&#xff0c;require()和include_once()&#xff0c;requi…

PyTorch JIT与TorchScript

PyTorch JIT与TorchScript 转自&#xff1a;https://zhuanlan.zhihu.com/p/370455320 如果搜索 PyTorch JIT&#xff0c;找到的将会是「TorchScript」的文档&#xff0c;那么什么是 JIT 呢&#xff1f;JIT 和 TorchScript 又有什么联系&#xff1f; 文章只会关注概念的部分&a…

DVWA Cross Site Request Forgery (CSRF) -------WP

CSRF: 介绍 CSRF跨站点请求伪造(Cross—Site Request Forgery)&#xff0c;跟XSS攻击一样&#xff0c;存在巨大的危害性&#xff0c;你可以这样来理解&#xff1a; 攻击者盗用了你的身份&#xff0c;以你的名义发送恶意请求&#xff0c;对服务器来说这个请求是完全合法的&…

PyTorch C++ API libtorch 简介

PyTorch C API libtorch 简介 翻译自 PyTorch 官方文档&#xff1a;https://pytorch.org/cppdocs/index.html#acknowledgements 整体划分 根据 PyTorch 官方文档 的介绍&#xff0c;PyTorch的C API可以粗略分为以下五个部分&#xff1a; ATen&#xff1a;基础的张量和数学计…

DVWA upload

LOW medium high impossible