我知道安全问题通常来自用户输入,这就是为什么我假设$ eFlag!= 1的其他部分存在安全漏洞的原因。
我不熟悉PHP,所以我不是100%确定这里发生了什么。将文件上传到系统的安全问题
我假设上传的文件本身可能是一些恶意的可执行文件,并且没有被检查? 如果是这样,有没有办法阻止上传可执行文件或只上传.doc文件(看起来像是程序需要的文件)?
***这是张贴在我上学的俱乐部之一,并要求确定一个安全漏洞(换句话说,有一个肯定的)。在php.net
strcmp(substr(mime_content_type($_FILES['userfile']['tmp_name']),0,4),"doc"
完整的示例检查MIME类型:
无论上传什么内容,该脚本都会以.doc为扩展名。不确定这是否符合安全风险或简单的愚蠢。 – fvu
究竟..所以如何确保它是一个doc文件?那么,如果它实际上是.doc文件,那么我将上传,而不是只上传任何内容,并在其上放置一个.doc扩展名。 – antz
尽管.doc文件因其嵌入式恶意元素的脆弱性而众所周知,但相对安全的方法是检查文件的[签名](http://www.garykessler.net/library/file_sigs.html)。如果这是一个选项,我会首先确定文件类型(可以在保存的文件上使用适当的文件扩展名),然后通过virussscanner传递。 – fvu