新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
phpmyadmin+phpinfo()+webshell如何简单绕过getshell,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
创新互联自2013年创立以来,先为乐亭等服务建站,乐亭等地企业,进行企业商务咨询服务。为乐亭企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
通过信息收集发现phpinfo页面:
找到关键信息web路径C:/ps/WWW
首先想到的是临时目录批量上传文件然后再利用文件包含漏洞拿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)
发现存在临时文件
继续利用条件竞争上传失败。
然后测试有没有文件包含,并没有。
然后继续信息收集发现phpmyadmin 并且发现root用户弱口令漏洞
经测试发现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文件中去了。
于是我们可以设置general_log_file为一个php文件,最后用一句话木马进行查询来获取shell
由于前面phpinfo页面里已经找到web路径,可构造以下语句:
SET global general_log_file='C:/ps/www/xiaoma.php';
写入webshell的时候发现直接构造eval函数访问的时候提示报错大概的意思就是提示文件内容变为0行,判断是被杀了。
于是稍微改动一下,如下图,eval会将输入的$a作为php语句执行,因此只要对l赋一定的system命令值,就能够执行系统命令
访问一下这次没有被杀
shell到手:
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
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。