Php 验证图像的合法性(恶意软件/嵌入式XSS检测)

Php 验证图像的合法性(恶意软件/嵌入式XSS检测),php,xss,penetration-testing,Php,Xss,Penetration Testing,我们的云系统最近接受了笔试。报告中提出的一个标志是“允许上传任意数据”的上传表单。即使仅限于图像(主要通过扩展和内置mime检测的PHP进行检测),他们仍然担心1)隐藏的恶意软件或2)嵌入到图像本身的XSS攻击 如何防范这些向量 编辑:建议的副本不适用,因为- 嵌入XSS的图像仍然可以通过常规检查进行验证(例如,它可以隐藏在gif文件的注释部分)。此外,检查图像大小已经是其中一项检查,但研究将证明它在这种情况下不可靠。嵌入XSS的图像仍然可以通过常规检查进行验证(例如,它可能隐藏在gif文件的注

我们的云系统最近接受了笔试。报告中提出的一个标志是“允许上传任意数据”的上传表单。即使仅限于图像(主要通过扩展和内置mime检测的PHP进行检测),他们仍然担心1)隐藏的恶意软件或2)嵌入到图像本身的XSS攻击

如何防范这些向量

编辑:建议的副本不适用,因为-


嵌入XSS的图像仍然可以通过常规检查进行验证(例如,它可以隐藏在gif文件的注释部分)。此外,检查图像大小已经是其中一项检查,但研究将证明它在这种情况下不可靠。

嵌入XSS的图像仍然可以通过常规检查进行验证(例如,它可能隐藏在gif文件的注释部分)。此外,检查图像大小已经是完成的检查之一,但研究将证明其不可靠。如何在服务器上执行有效负载?@Dragon通过在站点上查看/打开图像,即使*.jpg是原始javascript,它不会运行,如果你的网站使用的标准方法是解决这个问题是使用一个单独的域。示例包括dropboxusercontent.com、googleusercontent.com或githubusercontent.com。这意味着由于同源策略,恶意内容无法访问身份验证令牌等内容。嵌入XSS的图像仍将通过常规检查进行验证(例如,它可能隐藏在gif文件的注释部分)。此外,检查图像大小已经是完成的检查之一,但研究将证明其不可靠。如何在服务器上执行有效负载?@Dragon通过在站点上查看/打开图像,即使*.jpg是原始javascript,它不会运行,如果你的网站使用的标准方法是解决这个问题是使用一个单独的域。示例包括dropboxusercontent.com、googleusercontent.com或githubusercontent.com。这意味着由于同源策略,恶意内容无法访问身份验证令牌之类的内容。