web安全及防御 - 命令执行漏洞 & 文件包含漏洞
2019-10-29 本文已影响0人
codingQi
命令执行漏洞 - 防御:
- 尽量不要使用系统执行命令;
- 在进入执行命令函数/方法之前,变量一定要做好过滤,对敏感字符进行转义;
- 在使用动态函数之前,确保使用的函数是指定的函数之一;
- 对PHP语言来说,不能完全控制的危险函数最好不要使用。
文件包含漏洞 - 防御:
-
严格判断包含中的参数是否外部可控,因为文件包含漏洞利用成功与否的关键点就在于被包含的文件是否可被外部控制;
-
路径限制:限制被包含的文件只能在某一文件内,一定要禁止目录跳转字符,如:
“../”
; -
包含文件验证:验证被包含的文件是否是白名单中的一员;
-
尽量不要使用动态包含,可以在需要包含的页面固定写好,如:
include('head.php')
。