预览加载中,请您耐心等待几秒...
1/3
2/3
3/3

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

PHP的漏洞-如何防止PHP漏洞PHP的漏洞-如何防止PHP漏洞漏洞无非这么几类,XSS、sql注入、命令执行、上传漏洞、本地包含、远程包含、权限绕过、信息泄露、cookie伪造、CSRF(跨站请求)等。下面是小编为大家带来的关于PHP的漏洞的知识,欢迎阅读。1.xss+sql注入其中占大头的自然是XSS与SQL注入,对于框架类型或者有公共文件的,建议在公共文件中统一做一次XSS和SQL注入的过滤。用PHP写个过滤函数,可由如下所示:$_REQUEST=filter_xss($_REQUEST);$_GET=filter_xss($_GET);$_POST=filter_xss($_POST);$_COOKIE=filter_xss($_COOKIE);$_POST=filter_sql($_POST);$_GET=filter_sql($_GET);$_COOKIE=filter_sql($_COOKIE);$_REQUEST=filter_sql($_REQUEST);最简单的filter_xss函数是htmlspecialchars()最简单的.filter_sql函数是mysql_real_escape_string()当然,谁都知道这种过滤filter_sql只能过滤字符型和搜索型的注入,对于数字型是没有办法的,但也说明做了这层过滤后,只需在后面注意数字型的SQL语句就可以了,遇到了加intval过滤就可以了,这就变得容易多了。2.命令执行对于命令执行,可以从关键字入手,总共可分为3类(1)php代码执行:eval等(2)shell命令执行:exec、passthru、system、shell_exec等(3)文件处理:fwrite、fopen、mkdir等对于这几类需要注意其参数是否用户可控。3.上传漏洞对于上传漏洞,也是重点关注的地方,要仔细分析它的处理流程,针对上传的绕过方式是很多的,最保险的方式:在保存文件是采用文件名随机命名和后缀白名单方式。其次要注意的一点是上传文件的地方可能不止一处,不要有遗漏,可能会碰到这样的情况,突然在某个目录里面包含了一个第三方的编辑器在里面。文件包含漏洞涉及的函数如include()、include_once()、require()、require_once()、file_get_contents()等最常见的还是出在下载文件功能函数,例如download.php?file=../../../etc/passwd这种类型中。4.权限绕过权限绕过可分为两类吧(1)后台文件的未授权访问。后台的文件没有包含对session的验证,就容易出现这样的问题(2)未作用户隔离,例如mail.php?id=23显示了你的信件,那么换个ID,mail.php?id=24就查看到了别人的信件,编写代码是方便,把信件都存在一个数据表里,id统一编号,前端展现时只需按id取出即可,但未作用户隔离,判定归属,容易造成越权访问。这样的例子是很常见的,给某银行做评估是就经常发现这种漏洞。5.信息泄露信息泄露算是比较低危的漏洞了,比如列目录这种就属于部署问题,而与代码审计无关了,而像暴路径、暴源码这种是需要防止的。曾经遇到这样的代码