上传功能别只判断后缀,木马改个jpg后缀就传上来,网站直接被拿到权限
新手做上传功能,只判断文件后缀是不是jpg、png,就允许上传,结果用户把php木马后缀改成jpg,直接传上来,网站直接被拿到服务器权限。文件上传后缀校验几个要点:第一,别只看用户传的文件后缀,要读文件的真实类型,用PHP的getimagesize判断是不是真图片,不然用户把php文件后缀改成jpg,你判断后缀是jpg就允许,真实内容是木马;第二,上传的文件重命名,别保留用户传的文件名,不然用户传个shell.php.jpg这种双后缀的,你判断是jpg就放行,解析的时候当php跑;第三,上传目录禁掉PHP执行权限,就算真把木马上传上来,访问也不会被解析;第四,别允许用户传php、jsp、exe这些可执行文件,白名单里只留jpg、png、pdf、zip这些正常业务需要的后缀。
我之前做上传功能,只判断后缀,被人传了个改成jpg后缀的木马,网站首页直接被改,改完真实类型校验,重命名文件,之后再也没被传过木马。很多新手觉得上传就是判断个后缀就行,其实黑客的绕过方法特别多,只做后缀判断根本防不住,加上真实类型校验、目录禁执行,才能挡住大部分上传攻击。
本站源码来源于网络收集修改或者交换,甚至可能并非原创,如遇未经考证信息需持审慎态度。若有疑问,可联系本站处理。
0