GSt*_*ock 11 php code-injection
我记得看过图像上传功能的漏洞利用,其中包括将恶意php代码隐藏在tiff图像中.
我正在制作自己的图片上传脚本,我认为我必须保护自己免受这种可能性.除了,我不知道它是如何工作的.有谁知道隐藏在图像中的php shell会如何执行?是否需要以某种方式加载?
谢谢.
是的,它需要加载,可能是通过包含路径中用户提供的变量来加载,例如:
include('templates/' . $_GET['page']);
Run Code Online (Sandbox Code Playgroud)
他们还可以允许用户使用 .php 扩展名设置整个文件名,因此他们所需要做的就是将其加载到浏览器中。
检查是否getimagesize()返回 false,使用随机文件名,并强制执行文件扩展名。如果可能的话,不要将上传的图像存储在可通过网络访问的位置,因为它也可能包含 JS,因此是 XSS 向量。
重新编码图像还可以让您在末尾删除讨厌的元数据和垃圾,这是多种格式(例如 JPEG)所允许的