background image

次要注意的一点是上传文件的地方可能不止一处,不要有遗漏,可能会碰到这样的情况,
突然在某个目录里面包含了一个第三方的编辑器在里面。

文件包含漏洞涉及的函数如 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. 信息泄露

信息泄露算是比较低危的漏洞了,比如列目录这种就属于部署问题,而与代码审计

无关了,而像暴路径、暴源码这种是需要防止的。曾经遇到这样的代码

<?php if(empty($_GET['a'])) {…} ?>

 

表面上似乎没问题,可是当请求变为 xx.php?a[]=1 时,即参数变为数组的时候,

就会发生错误以致路径泄露,而用 isset 判断则不会,当然一个个防太麻烦,建议在配
置文件中关闭错误提示,或者在公共文件中加入如下代码以关闭错误显示功能:

<?php error_reporting(0);?>

当然,漏洞远不止这些,其他如 cookie 伪造、CSRF 等非主流的就不介绍了。